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; }

Rispondi quotando