premessa: spero in qualche anima pia che abbia voglia di perdere 5 minuti per aiutarmi.
ho iniziato ad operare sui file in C.
lascio da parte le 2000-3000 domande che avrei da fare e vengo subito al dunque.
ho scritto questo programmino che dovrebbe leggere e scrivere da file aggiornando i record dei vari clienti.
ovviamente l'implementazione poteva essere fatta molto meglio (per esempio usare file ad accesso casuale invece che utilizzare file ad accesso sequenziale come ho fatto io)
ma era appunto un'esercitazione e mi serviva per capire meglio alcune cose.
il programma parte con un menù che ti fa scegliere l'operazione da compiere.
si dà per scontato che il file con i record dei clienti sia già stato creato in precedenza.
ogni record è composto semplicemente dal numero di conto del cliente + nome + il suo saldo attuale.
attraverso il programma puoi:
1-visualizzare le informazioni del file (oldmast.dat) che contiene tutti i record dei clienti
2-aggiornare il record dei clienti (oldmast.dat) con il file delle transazioni (trans.dat)
3-creare un file (trans.dat) dove inserire tutte le transazioni effettuate da ciascun cliente in un determinato arco di tempo
4-uscire
il problema si pone quando cerco di scrivere sul file delle transazioni (scelta menu numero 3).
infatti il file mi viene scritto, esco dalla funzione e mi ritrovo in un ciclo infinito quando si tratta di riselezionare la nuova scelta del menu:è come se lo scanf utilizzato per la scelta dell'opzione nel menù, mi leggesse qualcosa rimasto nello stdin e quindi io non posso più inserire nulla da tastiera
vi posto il codice e anche l'output finale
per vedere il codice andate qui:
http://nopaste.simosnap.com/2003
e questo è l'output finale:
programmo con gli xcode su OS X.4.
grazie.