/* 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; }