From 0119bcb670390badfaa1c79c2a3e18c7f335e6e8 Mon Sep 17 00:00:00 2001 From: Vichingo455 Date: Thu, 30 Jan 2025 16:23:28 +0000 Subject: [PATCH] Upload files to "struct" --- struct/elaborazione_dati_studente.cpp | 56 +++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 struct/elaborazione_dati_studente.cpp diff --git a/struct/elaborazione_dati_studente.cpp b/struct/elaborazione_dati_studente.cpp new file mode 100644 index 0000000..550b1b5 --- /dev/null +++ b/struct/elaborazione_dati_studente.cpp @@ -0,0 +1,56 @@ +/* +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; +}