ciao a tutti
da un file in ingresso con dei dati vorrei leggere ogni campo ed inserirlo in una struttura per poi eleborarli (ordine crescente, alfabetico, ecc)
il codice è questo..ho fatto una prova ma non so se funzona
codice:#include <stdio.h> #include <stdlib.h> /* * */ int main() { struct studenti { int ordi; char cogno[20]; int vot; }studente; int ordine; char cognome[20]; int voto; int i; int n = 10; FILE *cfPtr; /*cfPtr = punta al file ingresso.txt*/ /*fopen apre il file*/ if ((cfPtr = fopen("ingresso.txt", "w")) == NULL){ printf ("Il file non può essere aperto"); } else{ printf ("Inserisci ordine, cognome, ed il voto : \n"); printf ("Inserisci EOF per terminare l'inserimento \n"); scanf ("%d%s%d", &ordine, cognome, &voto); /*scrive nel file*/ while (!feof(stdin)){ fprintf (cfPtr, "%d %s %d\n", ordine, cognome, voto); scanf ("%d%s%d", &ordine, cognome, &voto); } fclose(cfPtr); } /*fopen apre il file*/ if ((cfPtr = fopen("ingresso.txt", "r")) == NULL){ printf ("Il file non può essere aperto"); } else{ printf ("%15s%15s%15s","Ordine","Cognome","Voto\n"); fscanf (cfPtr, "%d%s%d", &ordine, cognome, &voto); studente[0].ordi = ordine); strcpy(studente[0].cogno,cognome); studente[0].vot = voto; i++; while (!feof(cfPtr)){ printf ("%15d%15s%14d\n", ordine, cognome, voto); fscanf (cfPtr, "%d%s%d", &ordine, cognome, &voto); studente[i].ordi = ordine; strcpy(studente[i].cogno,cognome); studente[i].vot = voto; i++; } } fclose(cfPtr); system("PAUSE"); return 0; }

Rispondi quotando