ma si visto che ci sono posto anche la versione con while corretta da Seeman79 ;) per chi non lo ricordasse il mio primo listato aveva un problema ! mi aveva illuso di fare la somma ma dei numeri contenuti nel file ma in realta non faceva altro che moltiplicare il primo numero per la quantita' dei numeri presenti nel file ed aggiungere l'ultimo! questo e' il listato corretto........... fa parte di un mio progetto ( per la cronaca un programma gestionale per contabilità semplificate) questo si okkupa della liquidazione iva e sembra comportarsi bene ;) precedentemente ho postato anche il pregramma per la registrazione delle fatture :=) holaz XXXX p.s. non so perche' ma io preferisco il mio listato con for rispetto a questo con while ditemi che ne pensate ;) #include <stdio.h> #define IVA_LOG "iva3log.xxxxiva" #define IVA_ACQ "prova1.dat" #define IVA_EMS "prova2.dat" int main(void) { float c = 0, d = 0, temp; FILE *my_file; printf("\nData della Liquidazione:"); scanf("%f", &temp); if((my_file = fopen(IVA_LOG, "a")) == NULL) { perror(IVA_LOG); return(-1); } fprintf(my_file, "***log***XXXX***Iva4\ndata operazione: %.0f" "\n\tLiquidazione Iva\n_____________________\n\n", temp); fclose(my_file); if((my_file = fopen(IVA_ACQ, "r")) == NULL) { perror(IVA_ACQ); return(-1); } while(fscanf(my_file, "%f", &temp) != EOF) c += temp; fclose(my_file); printf("\nTotale Iva Acquisti Euro: %.2f\n", c); if((my_file = fopen(IVA_EMS, "r")) == NULL) { perror(IVA_EMS); return(-1); } while(fscanf(my_file, "%f", &temp) != EOF) d += temp; fclose(my_file); printf("\nTotale Iva Emesse: %.2f\n", d); printf("\nIva %s Euro: %.2f", ((d-c) > 0) ? "da veresare" : "a credito", d-c); printf("\n\nPremi invio per terminare il Programma"); getchar(); getchar(); return 0; }