Oppure

Loading
04/05/22 17:57
Il numero della partita va in una variabile intera

int np;
cin >> np;

Non si capisce cosa vuoi fare con il while seguente.
Ultima modifica effettuata da 04/05/22 17:59
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.

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 17:02
Ma non puoi usare un indice che va da 1 a 10... dovrà essere tra 0 e 9
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

In che senso scusa?
Come ho fatto mi fa inserire da 1 a 10, nè superiore di 10 nè inferiore a 1
05/05/22 19:40
Nel senso che poi non puoi usare num come indice ma num-1
05/05/22 21:07
MrMind6767
aah okok , allora come indice num-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



#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.