Esercizi svolti di Informatica Generale

Esercizi svolti di Informatica

Programma C++

Carica matrice con voti e poi ricerca dei voti migliori

Testo
Occorre caricare i voti (interi) che 4 alunni ottengono in 3 diverse materie. Utilizzare una adeguata struttura del linguaggio C++ che poi consenta di rilevare quale alunno ha ottenuto il miglior voto in ciascuna materia.
Poiché i nomi delle materie e i nomi degli alunni sono forniti occorre fare la decodifica in fase di stampa.

Ed ecco qui sotto il listato (dove potrai fare 'Copia' -> 'Incolla')

							
/* Caricare in una matrice i voti di 3 materie di 4 alunni e poi comunicare
   il numero dell'alunno che ha ottenuto il miglior voto per ciascuna materia.
   Si consiglia mettere le 3 materie sulle righe e i 4 alunni sulle colonne.
   Definire due appositi vettori 'alunni' e 'materie' per effettuare la
   decodifica in chiaro di ciascuna materia e di ciascun alunno, sia in fase di 
   caricamento dei voti, sia in fase di emissone dei risultati.                */   
/* ---------------------------------------------------------------------------- 
   Per le Materie usare: 1=italiano, 2=inglese  3=matematica
   Per gli Alunni usare:  1=Rossi Mario  2=Neri Lucia  3=Neri Aldo  4=Paoli Walter
   ----------------------------------------------------------------------------
   Si decide, in via eccezionale e dimostrativa, di utilizzare gli indici
   di riga e colonna da 1 a 3 / da 1 a 4  anziche' da 0 a 2 / da 0 a 3
   Pertanto ci sara' una particolare definizione dei due vettori 'alunni' e 'materie'
   nonche' della matrice 'voti' ed un uso degli indici condizionato da questa scelta    */

#include 
using namespace std;

/* definizione della matrice 'voti' 
   le righe (materie) vanno da 0 a 3 ma si useranno solo da 1 a 3
   le colonne (alunni) vanno da 0 a 4 ma si useranno solo da 1 a 4  */
float voti[4][5];

// definizione e inizializzazione del vettore 'alunni'   
string alunni[5]={"" ,"Rossi Mario", "Neri Lucia", "Neri Aldo", "Paoli Walter"};

// definizione e inizializzazione del vettore 'materie'   
string materie[4]={ "","Italiano", "Inglese", "Matematica"};

// definizione dei due rilevatori del massimo
int maxvoto = 0;
int maxalunno;

int main ()
{
	// cicli per il caricamento dei 'voti'  
	for (int materia=1; materia<4; materia++)
	{
		for (int alunno=1; alunno<5; alunno++)
		{
			cout << "Immetti voto della materia: '" << materie[materia] 
				<< "' per alunno: '"<< alunni[alunno] << "' = ";
			cin >> voti[materia][alunno];
		}
	}

	// cicli per la determinazione del voto migliore
	cout << " --- RICERCA DEGLI STUDENTI CON IL MIGLIOR VOTO IN CIASCUNA MATERIA --- " << endl;
	for (int materia=1; materia<4; materia++)
	{
		for (int alunno=1; alunno<5; alunno++)
		{
			if (voti[materia][alunno] > maxvoto) 
			{
			maxvoto = voti[materia][alunno];
			maxalunno = alunno;
		 	} 
		}
		cout << "Nella materia: '" << materie[materia] << "'  '" << alunni[maxalunno] <<
			"' ha avuto il voto migliore pari a " << maxvoto << endl;
		maxvoto = 0;
	}
}
// Fine programma
						


Ritorna all'elenco degli esercizi disponibili