/* AUTORE: Manuel Vichi Elaborazione di Dati Studente */ #include using namespace std; struct Studente{ char inizialeNome; char inizialeCognome; int matricola; float media; }; struct Risultato{ int matricola; char esito; }; void elaboraStudenti(struct Studente studenti[], size_t size, struct Risultato risultati[]) { for (size_t i = 0; i < size; i++) { risultati[i].matricola = studenti[i].matricola; if (studenti[i].media >= 6.0f) { risultati[i].esito = 'P'; } else { risultati[i].esito = 'B'; } } } int elaboraPromossi(struct Risultato risultati[], size_t size) { int promossi = 0; for (size_t i = 0; i < size; i++) { if (risultati[i].esito == 'P') { promossi++; } } return promossi; } void stampa(struct Risultato risultati[], size_t size, int promossi) { for (size_t i = 0; i < size; i++) { cout << "Studente con matricola #" << risultati[i].matricola << " | Esito: " << risultati[i].esito << endl; } cout << "Numero di promossi: " << promossi << endl; } int main(void) { struct Studente studenti[2]; struct Risultato risultati[2]; studenti[0] = {'M','V',1535574,8.2f}; studenti[1] = {'M','R',8456457,4.7f}; studenti[2] = {'M','V',2583562,6.0f}; elaboraStudenti(studenti,3,risultati); stampa(risultati,3,elaboraPromossi(risultati,3)); return 0; }