|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2002
Città: Modena
Messaggi: 590
|
Aiuto su programmino in C (lunghetto)
Intanto scusate la lunghezza del post ma rischio l'esaurimento nervoso!
Dovrei fare il seguente programma in C: Acquisire da standard input N elementi (con N costante pari a 5) di tipo ContoCorrente: typedef struct { char CC[5]; char Descrizione[20]; int Valore; } ContoCorrente; e memorizzarli nel file binario Conto.dat . Visualizzare, per ogni valore di CC il saldo del conto, ottenuto come somma algebrica delle operazioni eseguite sul conto (campo Valore della struttura ContoCorrente). Esempio: CC Descrizione Valore A1 Op. 1 -200 A2 Op. 2 190 A3 Op. 3 50 A2 Op. 4 -40 A1 Op. 5 220 Il Risultato Sarà: CC Saldo A1 20 A2 150 A3 50 Fino all'acquisizione e memorizzazione non ci sono problemi, ma per la stampa del saldo non ci salto fuori! ![]() /*Stampa saldo*/ for(i=0;i<N;i++){ fread(&conto,sizeof(ContoCorrente),1,conti); printf("\nConto: %s",conto.CC); strcpy(nome,conto.CC); movimenti=conto.Valore; while(fread(&conto,sizeof(ContoCorrente),1,conti)>0) if(strcmp(nome,conto.CC)==0) movimenti=movimenti+conto.Valore; printf("Valore: %d",movimenti); fseek(conti,sizeof(ContoCorrente)*i,SEEK_SET); } ma non si accorge se di un conto corrente ha già stampato il saldo e compe output ottengo questo: Conto: A1 Valore: 20 Conto: A1 Valore: 20 Conto: A2 Valore: 150 Conto: A3 Valore: 50 Conto: A2 Valore: -40 Dov'è l'inghippo ? Un 1.000.000 di grazie a chi mi darà una mano! Fox ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2002
Città: Modena
Messaggi: 590
|
Risolto grazie!
Era proprio una stupidata! ![]() ![]() Fox |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:05.