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:
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;
}
Solo che così legge correttamente solo il 25 (primo giorno) e poi lo ristampa all'infinito.
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à.