ciao a tutti,
sono nuovo del forum...
avrei bisogno di aiuto su questo programma in C:
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);
}
leggendo i dati dai file si vuole mostrare:
-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