Advertisement
Guest User

Esercizio 9.8 Presenze ai corsi

a guest
Jan 27th, 2020
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.03 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.     char codice[10], codice_tmp[10];
  6.     char command;
  7.     int data, num_studenti,min_studenti_data, max_studenti_data, num_min_studenti, num_max_studenti, num_studenti_tot = 0, flag = 0, i = 0;
  8.    
  9.     scanf("%s %c", codice, &command);
  10.    
  11.     if (command == 'I') {
  12.         printf("Data: ");
  13.         scanf("%d", &data);
  14.         printf("Studenti: ");
  15.         scanf("%d", &num_studenti);
  16.        
  17.         FILE *fp = fopen("lezione.txt", "a");
  18.         if (fp == NULL)
  19.             return -1;
  20.         fprintf(fp, "%s %d %d\n", codice, data, num_studenti);
  21.         fclose(fp);
  22.     }
  23.     else if (command == 'S'){
  24.         FILE *fp = fopen("lezione.txt", "r");
  25.         if (fp == NULL)
  26.             return -1;
  27.        
  28.         while(fscanf(fp, "%s %d %d", codice_tmp, &data, &num_studenti) != EOF){
  29.             if(strcmp(codice_tmp, codice) == 0){
  30.                 num_studenti_tot += num_studenti;
  31.                 i++;
  32.                
  33.                 if(flag == 0){
  34.                     num_min_studenti = num_studenti;
  35.                     num_max_studenti = num_studenti;
  36.                     min_studenti_data = data;
  37.                     max_studenti_data = data;
  38.                     flag = 1;
  39.                 }
  40.                
  41.                 if(num_studenti > num_max_studenti){
  42.                     num_max_studenti = num_studenti;
  43.                     max_studenti_data = data;
  44.                 }
  45.                
  46.                 if (num_studenti < num_min_studenti) {
  47.                     num_min_studenti = num_studenti;
  48.                     min_studenti_data = data;
  49.                 }
  50.             }
  51.         }
  52.        
  53.         fclose(fp);
  54.        
  55.         printf("Il minimo di studenti si è raggiunto in data %d\n", min_studenti_data);
  56.         printf("Il massimo di studenti si è raggiunto in data %d\n", max_studenti_data);
  57.         printf("La media di studenti vale %.1f\n", (float)num_studenti_tot / i);
  58.     }
  59.     else
  60.         printf("Comando non valido!\n");
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement