Oppure

Loading
22/05/22 14:49
MrMind6767

#include<iostream>
#include <cstdlib>
#define N 5

using namespace std;

struct partita{                                   //utilizzo due strutture una per il tipo partita e una per il tipo squadra
string squ1;                                     
string squ2;
int goals1;
int goals2;
};
struct squadra{
	string squad;
		int punti=0;
		
		

};

int menu(void);
void inser(squadra v[]);
void giocata(partita p[],squadra v[]);
void classifica(squadra v[]);
void vincitore (squadra v[]);

int main(){
int scelta;
    squadra sq[5];//array di 5 per le 5 squadre
	partita par[10];//array di 10 per le 10 partite
  

           //uno switch per poter scegliere tra le possibilità del menu e un do while per far ripetere il menu, fino alla scelta 5 che lo arrestA
do{
		menu();                         
			cout<<&quot;Cosa vuoi fare?\n&quot;<<endl;
		cin>>scelta;
		
		switch(scelta){
			case 1:
			
			inser(sq);
				
					break;
				case 2 :
					giocata(par,sq);
			
					break;
					case 3 :
						classifica(sq);
							break;
							case 4:
							vincitore(sq);
								break;
								case 5:
								
									break;
		}
	}while(scelta!=5);
	
	
}

//funzione per la creazione del menu anche più sistematico 
int menu(void){

    cout<<&quot;******GESTIONE CAMPIONATO****** &quot;<<endl;
	
	cout<<&quot;1. Inserisci squadre &quot;<<endl;
	cout<<&quot;2. Inserisci partita &quot;<<endl;
	cout<<&quot;3. Mostra classifica &quot;<<endl;
	cout<<&quot;4. Decreta vincitore &quot;<<endl;
	cout<<&quot;5. Esci&quot;<<endl;
	

}
//funzione per l'inserimento delle 5 squadre del campionato
void inser(squadra v[]){
cout<<&quot;--------INSERIMENTO SQUADRE--------\n&quot;<<endl;
for(int i=0;i<5;i++){
	cout<<&quot;Inserisci il nome della squadra: &quot;;
	cin>>v[i].squad;
	v[i].punti=0;
}
}
//funzione per l'inserimento delle squadre che giocano per ciascuna delle 10 partite 
void giocata(partita p[],squadra v[]) {
cout<<&quot;--------INSERIMENTO PARTITA--------\n&quot;<<endl;

int num;
 
    do {
        cout<<&quot;Inserisci un numero delle partite tra 1 e 10 &quot;<<endl;
        cin>>num;
    } while((num<=0)||(num>10));


for(int i=0;i<1;i++){
cout<<&quot;Inserisci il nome della 1&quot;<<char (167)<<&quot;squadra: &quot;;
cin>>p[i].squ1;
cout<<&quot;Inserisci il risutato della partita: &quot;<<endl;
cin>>p[i].goals1;
cout<<&quot;Inserisci il nome della 2&quot;<<char (167)<<&quot;squadra: &quot;;
cin>>p[i].squ2;
cout<<&quot;Inserisci il risutato della partita: &quot;<<endl;
cin>>p[i].goals2;

 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;}
        }
    }
        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+1;
                        
                    }
                    if (p[i].squ1==v[j].squad) {
                        v[j].punti=v[j].punti+1;
                    
                }
                
            }
        }
        else {
          for (int j=0; j<5; j++) {
              if (p[i].squ1==v[j].squad) {
                  v[j].punti=v[j].punti+3;
              }
        }
}
}
}

 






void classifica (squadra v[]) {
    squadra temp;
    int min;
    for(int i=0; i<N-1; i++)
    {
    min=i;

    for(int j=i+1; j<N; j++)
      if(v[j].punti>v[min].punti) 
        min=j;

    temp=v[min];
    v[min].punti=v[i].punti;
    v[i]=temp;
    }
    for (int i=0; i<5; i++) {
        cout<<v[i].squad<<&quot; &quot;<<v[i].punti<<endl;
    }
}
void vincitore (squadra v[]) {
    for (int i=0; i<1; i++) {
        if (v[i].punti>v[i+1].punti) {
            cout<<&quot;La squadra &quot;<<v[0].squad<<&quot; vince con &quot;<<v[0].punti<<&quot; punti &quot;<<endl;
        }
            
        }
    }


Che ne pensate?
Ultima modifica effettuata da MrMind6767 22/05/22 14:51
22/05/22 18:28
Cioe'? Cosa succede? Cosa si deve controllare? Errori? Malfunzionamenti?

Non avevi detto che avevi RISOLTO?
Ultima modifica effettuata da 22/05/22 18:29
23/05/22 12:44
MrMind6767
Credevo di si, ma quando aggiungo più partite mi ripete due volte una squadra togliendone un aaltra
23/05/22 16:49
QUando aggiungi una partita a che ti serve num dato che non lo usi?

E che senso ha chiedere la squadra numero 1 e il risultato e poi la squadra numero 2 e il risultato?
Semmai squadra 1 e gol della squadra 1 e squadra 2 e gol della squadra 2
24/05/22 11:49
MrMind6767
ho sistemato inserendo i goal piuttosto cche risultati.
Num la uso solo per verificare che venga inserito un numero tra 1 e 10