/* variante di struttura_studenti.c
   con vettori di voti
*/


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
  int i, s;
  
  struct Studente{
    char nome[30];
    char cognome[30];
    int annoNascita;
    int voti[30];
    int NrEsami;
  };  

  struct Studente studenti[10];
  int NrStudenti = 0;
  
  strcpy(studenti[0].nome, "Antonio");
  strcpy(studenti[0].cognome, "Persichetti");
  studenti[0].annoNascita = 1996;
  NrStudenti++;
  strcpy(studenti[1].nome, "Daniele");
  strcpy(studenti[1].cognome, "Zurlo");
  studenti[1].annoNascita = 1995;       
  NrStudenti++;
  strcpy(studenti[2].nome, "Giuseppe");
  strcpy(studenti[2].cognome, "Garibaldi");
  studenti[2].annoNascita = 1997;         
  NrStudenti++;
  strcpy(studenti[3].nome, "Giuseppe");
  strcpy(studenti[3].cognome, "Mazzini");
  studenti[3].annoNascita = 1996;           
  NrStudenti++;
  strcpy(studenti[4].nome, "Alessandro");
  strcpy(studenti[4].cognome, "Manzoni");
  studenti[4].annoNascita = 1997;           
  NrStudenti++;

  for (s=0; s<NrStudenti; s++) {
    studenti[s].NrEsami = rand() % 25 + 5;
    for (i=0; i<studenti[s].NrEsami; i++) {
      studenti[s].voti[i] = rand() % 13 + 18;
    }
  }
  
  for (s=0; s<NrStudenti; s++) {
       printf("%s %s (%d):   %d esami superati\n",
              studenti[s].nome, studenti[s].cognome,
              studenti[s].annoNascita, studenti[s].NrEsami);
       printf("  Voti: ");
         for (i=0; i<studenti[s].NrEsami; i++) {
         printf("%d ", studenti[s].voti[i]);
       }
       printf("\n");
  }

  return 0;
}