05/05/22 13:24
MrMind6767
Postato originariamente da nessuno:
Il numero della partita va in una variabile intera
int np;
cin >> np;
Non si capisce cosa vuoi fare con il while seguente.
Il numero della partita va in una variabile intera
int np;
cin >> np;
Non si capisce cosa vuoi fare con il while seguente.
Grazie avevo sistemato poi. Comunque con il while analizzo se viene inserito un numero tra 1 e 10 delle partite
cout<<"--------INSERIMENTO PARTITA--------\n"<<endl; int num; do{ cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl; cin>>num; } while((num<=0)||(num>10));
05/05/22 19:06
MrMind6767
Postato originariamente da nessuno:
Ma non puoi usare un indice che va da 1 a 10... dovrà essere tra 0 e 9
Ma non puoi usare un indice che va da 1 a 10... dovrà essere tra 0 e 9
In che senso scusa?
Come ho fatto mi fa inserire da 1 a 10, nè superiore di 10 nè inferiore a 1
08/05/22 13:52
MrMind6767
Sto impazzendo...
Adesso ho provato a far fare l'analisi delle partiti per attribuirgli poi punti ma mi dice che j non è dichiarata e non capisco in che senso.
Sempre nella parte della classifica
Adesso ho provato a far fare l'analisi delle partiti per attribuirgli poi punti ma mi dice che j non è dichiarata e non capisco in che senso.
Sempre nella parte della classifica
#include<iostream> using namespace std; struct partita{ string squ1; string squ2; int goals1; int goals2; }; struct squadra{ string squad; int punti; }; int menu(void); void inser(squadra v[]); void giocata(partita p[]); void classifica(squadra v[],partita p[],int vin,int per, int par); int main(){ int scelta; squadra sq[5];//array di 5 per le 5 squadre partita par[10];//array di 10 per le 10 partite int vinte=0;//contatore delle vinte int perse=0; //contatore delle perse int pareggi=0;//contatore dei pareggi do{ menu(); cout<<"Cosa vuoi fare?\n"<<endl; cin>>scelta; switch(scelta){ case 1: inser(sq); break; case 2 : giocata(par); break; case 3 : classifica(sq,par,vinte,perse,pareggi); break; case 4: break; case 5: break; } }while(scelta!=5); } int menu(void){ cout<<"******GESTIONE CAMPIONATO****** "<<endl; cout<<"1. Inserisci squadre "<<endl; cout<<"2. Inserisci partita "<<endl; cout<<"3. Mostra classifica "<<endl; cout<<"4. Decreta vincitore "<<endl; cout<<"5. Esci"<<endl; } void inser(squadra v[]){ cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl; for(int i=0;i<5;i++){ cout<<"Inserisci il nome della squadra: "; cin>>v[i].squad; v[i].punti=0; } } void giocata(partita p[]) { cout<<"--------INSERIMENTO PARTITA--------\n"<<endl; int num; do{ cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl; cin>>num; } while((num<=0)||(num>10)); for(int i=0;i<1;i++){ cout<<"Inserisci il nome della 1"<<char (167)<<"squadra: "; cin>>p[i].squ1; cout<<"Inserisci il risutato della partita: "<<endl; cin>>p[i].goals1; cout<<"Inserisci il nome della 2"<<char (167)<<"squadra: "; cin>>p[i].squ2; cout<<"Inserisci il risutato della partita: "<<endl; cin>>p[i].goals2; } } void classifica(squadra v[],partita p[],int vin,int per, int par){ cout<<"--------CLASSIFICA--------\n"; for(int i=0;i<10;i++){ if(p[i].goals1>p[i].goals2){ for(j=0;j<5;j++){ if(p[j].squ1==v[j].squad){v[j].punti=v[j].punti+3; } } } else if(p[i].goals1==p[i].goals2){ for(int j=0;j<5;j++ ){ if(p[i].squ1==v[j].squad){ v[j].punti=v[j].punti+3; } } v[i].punti=+3; } else if(p[i].goals1>p[i].goals2){ v[i].punti=+1; v[i+1].punti=+1; } else{ v[i].punti=+3; } }}
08/05/22 20:29
AldoBaldo
#include<iostream> using namespace std; struct partita { string squ1; string squ2; int goals1; int goals2; }; struct squadra { string squad; int punti; }; int menu(void); void inser(squadra v[]); void giocata(partita p[]); void classifica(squadra v[],partita p[],int vin,int per, int par); int main() { int scelta; squadra sq[5]; //array di 5 per le 5 squadre partita par[10]; //array di 10 per le 10 partite int vinte=0; //contatore delle vinte int perse=0; //contatore delle perse int pareggi=0; //contatore dei pareggi do { menu(); cout<<"Cosa vuoi fare?\n"<<endl; cin>>scelta; switch(scelta){ case 1: inser(sq); break; case 2: giocata(par); break; case 3: classifica(sq,par,vinte,perse,pareggi); break; case 4: break; case 5: break; } } while(scelta!=5); } int menu(void) { cout<<"******GESTIONE CAMPIONATO****** "<<endl; cout<<"1. Inserisci squadre "<<endl; cout<<"2. Inserisci partita "<<endl; cout<<"3. Mostra classifica "<<endl; cout<<"4. Decreta vincitore "<<endl; cout<<"5. Esci"<<endl; } void inser(squadra v[]) { cout<<"--------INSERIMENTO SQUADRE--------\n"<<endl; for(int i=0;i<5;i++) { cout<<"Inserisci il nome della squadra: "; cin>>v[i].squad; v[i].punti=0; } } void giocata(partita p[]) { cout<<"--------INSERIMENTO PARTITA--------\n"<<endl; int num; do { cout<<"Inserisci un numero delle partite tra 1 e 10 "<<endl; cin>>num; } while((num<=0)||(num>10)); for(int i=0;i<1;i++) { cout<<"Inserisci il nome della 1"<<char (167)<<"squadra: "; cin>>p[i].squ1; cout<<"Inserisci il risutato della partita: "<<endl; cin>>p[i].goals1; cout<<"Inserisci il nome della 2"<<char (167)<<"squadra: "; cin>>p[i].squ2; cout<<"Inserisci il risutato della partita: "<<endl; cin>>p[i].goals2; } } void classifica(squadra v[],partita p[],int vin,int per, int par) { cout<<"--------CLASSIFICA--------\n"; for(int i=0;i<10;i++) { if(p[i].goals1>p[i].goals2) { for(j=0;j<5;j++) { // in questo blocco j non è if(p[j].squ1==v[j].squad) // dichiarato - per dichiararlo v[j].punti=v[j].punti+3; // basta aggiungere int prima } // di j=0... } else if(p[i].goals1==p[i].goals2) { for(int j=0;j<5;j++ ) { // ...come hai fatto qui if(p[i].squ1==v[j].squad) v[j].punti=v[j].punti+3; } v[i].punti=+3; } else if(p[i].goals1>p[i].goals2) { v[i].punti=+1; v[i+1].punti=+1; } else { v[i].punti=+3; } } }
Può essere stata una svista, ma se non è così l'argomento da riconsiderare riguarda l'àmbito di visibilità delle variabili (in inglese lo trovi indicato come scope).
Ultima modifica effettuata da AldoBaldo 08/05/22 20:30
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.