Advertisement
Guest User

Esercizio 34

a guest
Apr 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 KB | None | 0 0
  1. /*Scrivere un programma C che crei un file binario “studenti1.dat” contenente le seguenti informazioni:
  2. o cognome e nome (30c) c = char
  3. o matricola (cccc/cccccc) [es. 0124/002345]
  4. o numero degli esami superati (short)
  5. o media pesata degli esami (float)
  6. o crediti acquisiti (short).
  7. Il file contiene le informazioni già ordinate per matricola. Scrivere una function C che,
  8. a partire da un file di aggiornamento relativo ad un certo esame (per esempio, “esameProg2.dat”)
  9. contenente gli studenti che l’hanno superato ed i relativi voti, crei il file “studenti2.dat” aggiornato.*/
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <string.h>
  13. #include "header.h"
  14. #include "crea.c"
  15.  
  16. int main()
  17. {
  18.     Studenti studenti[5];
  19.     FILE *fp, *prog2;
  20.     short i;
  21.     crea(studenti);
  22.     for(i=0; i<5; i++){
  23.         printf("Nome e Cognome:\t%s\nMatricola:\t%d\nEsami Superati:\t%d\nMedia Pesata:\t%.1f\nCrediti:\t%d\n\n",studenti[i].nome,studenti[i].matricola,studenti[i].esa_sup,studenti[i].media_pesata,studenti[i].crediti);
  24.     }
  25.     fp=fopen("studenti1.dat","wb");
  26.     (fp = fopen("studenti1.dat","wb")!=NULL) ? printf("File aperto correttamente\n"): printf("Errore nell'apertura del file");
  27.     for(i=0; i<5; i++){
  28.         fwrite(&studenti[i].nome,sizeof(strlen(studenti[i].nome)),1,fp);
  29.         fwrite(&studenti[i].matricola,sizeof(int),1,fp);
  30.         fwrite(&studenti[i].esa_sup,sizeof(short),1,fp);
  31.         fwrite(&studenti[i].media_pesata,sizeof(short),1,fp);
  32.         fwrite(&studenti[i].crediti,sizeof(short),1,fp);
  33.     }
  34.     fclose(fp);
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement