Sei sulla pagina 1di 1

Fondamenti di Informatica 03/03/2014

Si consideri un file contenente le informazioni riguardanti i movimenti annuali di un conto corrente bancario.
Il file è cosı̀ costituito:

• prima riga : saldo iniziale del C/C;

• seconda riga : numero di movimenti effettuati;

• righe successive : dati di ogni movimento nel formato:

– data (giorno dell’anno 1-365),


– importo della movimento (valori positivi corrispondono a versamenti, negativi a prelievi).

I movimenti sono riportati in ordine cronologico.


I giorni di inizio dei 4 trimestri sono: 1, 91, 182, 274.
Si scriva un programma che, a fronte delle informazioni lette dal file descritto, implementi le seguenti funzionalità:

a) definisca una struttura struct transazione utile a memorizzare i dati relativi al conto corrente;

b) definisca una funzione carica dati conto che carichi i dati che esso contiene;

c) definisca una funzione calcola saldo annuale che, sulla base dei movimenti effettuati e al saldo iniziale,
calcoli il saldo del c/c a fine anno;

d) definisca una funzione calcola prelievi che calcola l’importo totale dei prelievi effettuati per trimestre;

e) definisca una funzione calcola versamenti che calcola l’importo totale dei versamenti effettuati per trimestre;

f) definisca una funzione calcola saldo trimestre che, specificato un trimestre, fornisca il saldo finale del
trimestre;

g) definisca una funzione stampa eventi sconfinamento che stampi il giorno e l’importo di tutti i movimenti
che provocano uno sconfinamento (cioè che portano il saldo da positivo a negativo);

h) ordini e stampi in un file in ordine crescente di importo tutti i movimenti dell’anno; il nome del file da leggere
e di quello da creare (richiesta h) deve essere passato da linea di comando.

Si scriva una funzione main dalla quale vengano richiamate tutte funzioni realizzate.
In particolare, dal main, dopo avere caricato i dati relativi ai movimenti, si dovranno stampare tutte le informazioni
calcolate dalle funzioni richieste ai punti c, d, e, f.

Note
• salvare il proprio programma nella directory di lavoro
• assegnare il nome del file in base al proprio cognome, chiamandolo cognome.c
• il primo commento del programma deve riportare nome e cognome e numero di matricola
• vengono valutati positivamente aspetti quali la leggibilità del programma, una buona formattazione del sor-
gente, l’uso appropriato dei commenti, modularità e generalità del codice (uso di funzioni, passaggio di
parametri da file o linea di comando, ecc.)
• è possibile far uso di manuali, testi, appunti e dispense, ma non di eserciziari (raccolte di esercizi risolti)