/*Lettura e Stampa di un array di Struct*/ #include struct studente { int esami; char matricola[10]; float media; char cognome[50]; char nome[50]; }; void leggi_studentev(struct studente v[], int *n); void stampa_studentev(struct studente v[], int n); void salva_file(char fname[], struct studente v[], int n); int main(){ struct studente v[100]; int n; char filename[]="studenti.bin"; //Realizzare qui la lettura da file //se file esiste leggi_studentev(v,&n); stampa_studentev(v,n); salva_file(filename, v, n); } void salva_file(char fname[], struct studente v[], int n) { FILE * fp; fp=fopen(fname,"w"); if(fp!=NULL) { fwrite(&n,sizeof(int),1,fp); fwrite(v,sizeof(struct studente),n,fp); } } void leggi_studentev(struct studente v[], int *n) { printf("Numero studenti da inserire?:\n"); scanf("%d",n); for(int i=0;i<*n;i++) { printf("inserisci matricola:\n"); scanf("%s",v[i].matricola); printf("inserisci cognome:\n"); scanf("%s",v[i].cognome); printf("inserisci nome:\n"); scanf("%s",v[i].nome); printf("inserisci esami:\n"); scanf("%d",&v[i].esami); printf("inserisci media:\n"); scanf("%f",&v[i].media); } } void stampa_studentev(struct studente v[],int n) { for(int i=0;i