Guest User

Untitled

a guest
Jun 21st, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.82 KB | None | 0 0
  1. void creaElenco(FILE* fp){
  2.      fprintf(fp, "\tELENCO STUDENTI CdL INFORMATICA\n\n");
  3.      int i=0;
  4.      int n;                             //Variabile che conterrà il numero di entry effettivamente presenti nell'array
  5.      int continua;                      //Variabile di controllo sulla fine del ciclo di immissione
  6.      int checkprint;                     //Variabile di controllo errori in scrittura su file
  7.      printf("inserire nell'ordine cognome, nome, matricola.");
  8.      do{
  9.          printf("NUOVO RECORD:\n");
  10.          printf("Cognome: ");
  11.          //scanf("%s", lista[i].cognome);   /*!!!!!CON SCANF FUNZIONA*/
  12.          gets(lista[i].cognome);        /*CON GETS NO*/
  13.          printf("Nome: ");
  14.          scanf("%s", lista[i].nome);
  15.          printf("Matricola: ");
  16.          scanf("%d", &lista[i].matricola);
  17.          i++;
  18.          printf("Premere 1 per inserire un nuovo record, un altro valore per terminare l'immissione: ");
  19.          scanf("%d", &continua);
  20.      }
  21.      while(i<DIM&&continua==1);
  22.      n=i;                      //Memorizzo in n il numero di iterazioni del ciclo di immissione eseguiti,
  23.                                //ovvero il numero dei record memorizzati
  24.      ordinaElenco(0, n-1);     //Chiamo la funzione "ordinaElenco", con argomenti l'indice della prima struttura (0), e quello dell'ultima (n-1)
  25.      for(i=0; i<n; i++){
  26.               checkprint=fprintf(fp, "%s\n%s\n%d\n\n", lista[i].cognome, lista[i].nome, lista[i].matricola);
  27.               if(checkprint<0){        //fscanf restituisce un numero negativo in caso di errore di scrittura
  28.                                printf("Si è verificato un errore di scrittura imprevisto sul file.\n");
  29.                                break;     //Termina il ciclo di immissione dati
  30.               }
  31.      }
  32.      if (checkprint>=0)printf("FILE CREATO\n");
  33. }
Add Comment
Please, Sign In to add comment