ciao a tutti,
sono nuovo del forum...
avrei bisogno di aiuto su questo programma in C:
leggendo i dati dai file si vuole mostrare:codice:#include <stdio.h> #include<string.h> #include<stdlib.h> #define N 5 typedef struct { int Matricola; char Nome [20]; int Anno;}Studente; typedef struct { char Provincia[20]; int CodInsegnmento; int voto;}Esame; main() { int I,somma=0;float media; FILE *fp1; FILE *fp2; Studente dati1; Esame dati2; fp1=fopen("studenti.dat", "wb"); if(fp1==NULL){fprintf(stderr, "errore di apertura");exit(1);} printf("Acquisizione struttura Studente\n\n"); for(I=0;I<N;I++) { printf("Matricola: ");scanf("%d",&dati1.Matricola); printf("Nome studente: ");scanf("%s", dati1.Nome); printf("Anno corso: ");scanf("%d", &dati1.Anno); fwrite(&dati1, sizeof(dati1), 1, fp1);} fclose(fp1); fp2=fopen("Esami.dat", "wb"); if(fp2==NULL){fprintf(stderr, "Errore di apertura");exit(1);} printf("Acquisizione struttura Esame\n\n"); for(I=0;I<N;I++) { printf("Provincia: ");scanf("%s",dati2.Provincia); printf("Codice insegnamento: ");scanf("%d", &dati2.CodInsegnmento); printf("Voto: ");scanf("%d", &dati2.voto); fwrite(&dati2, sizeof(dati2), 1, fp2);} fclose(fp2); fp2=fopen("esami.dat", "rb"); if(fp2==NULL) {fprintf(stderr, "Errore di apertura");exit(1);} while(fread(&dati2, sizeof(dati2), 1, fp2)!=0) {printf("Nome %s\n",dati1.Nome);} fclose(fp2); }
-l'elenco degli studenti la cui media dei voti è superiore a 27
-l'elenco delle province da cui provengono almeno 3 studenti la cui media è superiore a 27
qualcuno sa dirmi come impostarlo per ottenere i risultati elencati?
grazie
saluti

Rispondi quotando