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;
}