vuoi
o PayPal
tutte le volte che vuoi
I voti da elaborare sono memorizzati in una matrice con un numero di righe pari al numero di studenti e un numero di colonne uguale a quello delle materie.
I nomi degli studenti e quello delle materie sono memorizzati in due vettori di stringhe.
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{ const short nStudenti = 5, nMaterie = 3;
unsigned short tabellone[nStudenti][nMaterie];
char studente[nStudenti][15];
char materia[nMaterie][12] = {
"Italiano",
"Matematica",
"Informatica"
};
unsigned stu, mat;
double media; // media di uno studente
double mediaMateria[nMaterie]; // medie di ogni materia
cout << "\n\t\tProgramma per lo scrutinio elettronico\n" << endl;
// Acquisizione dati
for(stu = 0; stu < nStudenti; stu++) {
cout << "Studente: ";
cin >> studente[stu];
cout << "\tVoti" << endl;
for(mat = 0; mat < nMaterie; mat++) {
cout << '\t' << materia[mat] << ": ";
cin >> tabellone[stu][mat];
}
cout << endl;
}
// Elaborazione dati
// Visualizza intestazione del tabellone
cout.flags(ios::left); cout.width(17); cout << "Studente";
for(mat = 0; mat < nMaterie; mat++) {
cout.flags(ios::left); cout.width(14); cout << materia[mat];
}
cout << "\tEsito" << endl;
// Azzera medie per materia
for(mat = 0; mat < nMaterie; mat++)
mediaMateria[mat] = 0;
// Visualizza voti ed esiti
for(stu = 0; stu < nStudenti; stu++) {
cout.flags(ios::left); cout.width(17); cout << studente[stu] << " ";
media = 0;
for(mat = 0; mat < nMaterie; mat++) {
mediaMateria[mat] += tabellone[stu][mat];
cout.width(14); cout << tabellone[stu][mat];
media += tabellone[stu][mat];
} if(media / nMaterie < 6)
cout << "\tRespinto";
else cout << "\tPromosso";
cout << endl;
} // Medie per materia
cout << "\nMedie materie";