Ecco il codice che mi dà errore.
GRAZIE!codice:#include <stdio.h> #include <stdlib.h> #include <conio.h> typedef struct { char Cognome[20]; char Nome[20]; int Anno; int codFacolta; } Studente; typedef struct { int codFacolta; char nomeFac[20]; } Facolta; typedef struct { char Cognome[20]; char Nome[20]; int Anno; char nomeFac[20]; } Anagrafe; main() { FILE* fp; FILE* ff; FILE* fa; Studente s; Facolta f; Anagrafe a; if ((fp = fopen("Studenti.dat", "rb"))==NULL) { fprintf(stderr, "\nErrore apertura"); exit(1); } while (fread(&s, sizeof(Studente), 1, fp)>0) { int trovato = 0; if ((ff = fopen("Facolta.dat", "rb"))==NULL) { fprintf(stderr, "\nErrore apertura"); exit(2); } while (fread(&f, sizeof(Facolta), 1, ff)>0) { if(s.codFacolta == f.codFacolta) { trovato = 1; a.Cognome[20] = s.Cognome[20]; a.Nome[20] = s.Nome[20]; a.Anno = s.Anno; a.nomeFac[20] = f.nomeFac[20]; if ((fa = fopen("Anagrafe.dat", "ab"))==NULL) { fprintf(stderr, "\nErrore apertura"); exit(3); } fwrite(&a, sizeof(Anagrafe), 1, fa); } fclose(fa); if(trovato) { if ((fa = fopen("Anagrafe.dat", "rb"))==NULL) { fprintf(stderr, "\nErrore apertura"); exit(4);} if(fread(&a, sizeof(Anagrafe), 1, fa)) printf("%s %s %s %d\n",a.Cognome, a.Nome, a.nomeFac, a.Anno); } fclose(fa); } fclose(ff); } fclose(fp); getch(); }

Rispondi quotando