Per esercitarmi sulle matrici ho realizzato un programmino che stampa a video i goal realizzati da alcuni calciatori(i dati sono inventati): può forse essere utile a qualcuno per qualche spunto sull'uso delle matrici. Chiedo,se vi va, di darmi dei consigli su come ottimizzare questo codice(perché di sicuro sarò stato goffo in alcune cose) e magari di suggerire qualche aggiunta carina o magari un'impostazione che gli dia un'utlità maggiore, attendo un vostro suggerimento, grazie!
codice:
#include <iostream>
using namespace std;
const int max_calciatori=3, max_squadre=3;
int tabellone[max_calciatori][max_squadre]={{15,10,8},{5,18,2},{6,8,0}};
string calciatori[max_calciatori]={"Totti","Baggio","Del Piero"};
string squadre[max_squadre]={"Juve","Milan","Inter"};
int giocatore;
//procedura che stampa i goal realizzati da tutti i calciatori inseriti
void StampaPerCalciatore(int tabellone[max_calciatori][max_squadre],string calciatori[], string squadre[],
int n_calciatori, int n_squadre)
{
for(int calciatore=0; calciatore<n_calciatori; calciatore++){
cout<<endl<<"Situazione per il calciatore: "<<calciatori[calciatore]<<": ";
for(int squadra=0; squadra<n_squadre; squadra++)
cout<<tabellone[calciatore][squadra] <<" ";
cout<<endl;
}
}
//procedura che stampa a video i goal realizzati da un determinato calciatore scelto dall'utente
void GoalDiUnCalciatore(int tabellone[max_calciatori][max_squadre], int quale_calciatore, int quante_squadre)
{
cout<<"Goal realizzati dal calciatore "<<calciatori[quale_calciatore]<<" : ";
for(int squadra=0;squadra<quante_squadre;squadra++)
{
cout<<(tabellone[quale_calciatore][squadra])<< " ";
}
}
//funzione che stampa la somma di tutti i goal realizzati(somma tutti gli elementi della matrice tabellone)
int goal_totali(int tabellone[max_calciatori][max_squadre], int n_calciatori, int n_squadre)
{
int somma=0;
for(int calciatore=0; calciatore<n_calciatori; calciatore++)
for(int squadra=0; squadra<n_squadre; squadra++)
somma=somma+tabellone[calciatore][squadra];
return somma;
}
int main()
{
cout<<"Questo programma stampa i goal realizzati da Totti, Baggio e Del Piero nella loro carriera calcistica rispettivamente "
<<"contro le squadre: Juve, Milan e Inter.";
cout<<endl;
cout<<endl;
do{
cout<<"Per sapere i goal realizzati nella sua carriera contro Juve, Milan e Inter da Totti inserisci 0, da Baggio inserisci 1,"
<<" da Del Piero inserisci 2, se vuoi invece sapere i goal realizzati da tutti inserisci 3: ";
cout<<endl;
cin>>giocatore;
if(giocatore==0)
{
GoalDiUnCalciatore(tabellone,0,3);
}
else if(giocatore==1)
{
GoalDiUnCalciatore(tabellone,1,3);
}
else if(giocatore==2)
{
GoalDiUnCalciatore(tabellone,2,3);
}
else if(giocatore==3)
{
StampaPerCalciatore(tabellone,calciatori,squadre,3,3);
}
else
{
cout<<"Hai inserito un numero non valido!";
cout<< endl;
cout<< endl;
}
}while(giocatore !=0 && giocatore!=1 &&
giocatore!=2 && giocatore!=3);
cout<<endl;
cout<<endl;
cout<< "In totale i tre calciatori, nella loro carriera contro queste tre squadre hanno totalizzato: " <<goal_totali(tabellone,3,3)<<" goal.";
return 0;
}