Salve a tutti, ho guardato un po in giro ma non credo di aver visto ciò di cui ho bisogno. Spero mi potrete aiutare.
Io ho un file nomi.dat così strutturato:
25 gennaio 1985
3 aprile 2011
etc..
devo scrivere un programma che produca 3 risultati.
1-media di tutte le date presenti nel file,
2-media ti tutti gli anni presenti nel file,
3-indichi il mese più ricorrente tra quelli del file.
E' un esercizio di preparazione ad un esame di C all'università.
Per ora sul primo punto sono giunto a questo:
Solo che così legge correttamente solo il 25 (primo giorno) e poi lo ristampa all'infinito.codice:#include <stdio.h> #include <string.h> int main() { int giorno; FILE *fp; fp=fopen("lista.dat","r"); while(!feof(fp)) { fscanf(fp,"%d",&giorno); printf("%d\n",giorno); } fclose(fp); return 0; }
Il printf l'ho messo dentro al while per vedere cosa leggeva, se lo metto fuori dal while invece il programma si avvia ma non stampa nulla e devo interromperlo.
So che dovrei dirgli una volta letto il 25 di andare subito a capo e leggere il secondo valore e così via ma non ho idea di come fare...
Grazie in anticipo a chiunque mi aiuterà.