#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<<"Cosa vuoi fare?\n"<<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<<"******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;
}
//funzione per l'inserimento delle 5 squadre del campionato
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;
}
}
//funzione per l'inserimento delle squadre che giocano per ciascuna delle 10 partite
void giocata(partita p[],squadra v[]) {
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;
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<<" "<<v[i].punti<<endl;
}
}
void vincitore (squadra v[]) {
for (int i=0; i<1; i++) {
if (v[i].punti>v[i+1].punti) {
cout<<"La squadra "<<v[0].squad<<" vince con "<<v[0].punti<<" punti "<<endl;
}
}
}