Buongiorno, sto svolgendo un problema per la simulazione di un torneo di calcio ad eliminazione diretta. Ogni squadra ha un nome e un potenziale totale( che è la somma del potenziale inserito dall' utente e un potenziale randomico).
Vince la squadra che ha il potenziale più alto.
Non riesco ad andare più avanti con il codice, perchè non so (dopo aver fatto gli accoppiamenti iniziali) come effetuare le varie sfide.
Qualcuno sa dirmi come fare?
Vi passo il codice
#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//---------variabili
typedef struct{
char nome[20];
int v_pt_tot[3];
}t_squadra;
int score[4];
t_squadra el_sqd[4];
//------------------------------funz inizializzazione
void inz_score();
void inz_squadre();
void inz_nome_squadra(char nome[]);
void inz_v_pt_tot_squadre();
void inz_v_pt_squadra(int x);
//-------------------------------------
//funz debug
void stampa_score();
void stampa_nome_sq_i(int x);
void stampa_v_pt_tot_squadre();
//funz di lavoro
void stampa_menu_in();
void scelta_accoppiamenti();
void stampa_partita(int c, int fc);
int main(int argc, char** argv) {
stampa_menu_in();
stampa_score();
inz_squadre();
inz_v_pt_tot_squadre();
stampa_v_pt_tot_squadre();
scelta_accoppiamenti();
return 0;
}
void scelta_accoppiamenti()
{
cout<<"scegli tra i seguenti accopiamenti iniziali:";
cout<<"\n-premi 1 per:";
stampa_partita(0,1);
stampa_partita(2,3);
cout<<"\n-premi 2 per:";
stampa_partita(0,2);
stampa_partita(1,3);
cout<<"\n-premi 3 per:";
stampa_partita(0,3);
stampa_partita(1,2);
}
void stampa_partita(int c, int fc)
{
cout<<"\t \t "<<el_sqd[c].nome<<" VS "<<"\t \t "<<el_sqd[fc].nome<<"\n";
}
void inz_v_pt_tot_squadre()
{
cout<<"\t \t inserimento potenziali\n";
for(int i=0;i<4;i++)
{
cout<<"\ninserisci potenziale della squadra ";
stampa_nome_sq_i(i);
inz_v_pt_squadra(i);
}
}
void inz_v_pt_squadra(int x)
{
float pot_ut;
float pot_rand;
while(pot_ut<1||pot_ut>100)
{
cout<<"inserisci il potenziale: ";
cin>>pot_ut;
}
pot_rand=rand()%100+1;
el_sqd[x].v_pt_tot[0]=round((pot_ut/2)+(pot_rand/2));
el_sqd[x].v_pt_tot[1]=round(((pot_ut*7)/10)+((pot_rand*3)/10));
el_sqd[x].v_pt_tot[2]=round(((pot_ut*3)/10)+((pot_rand*7)/10));
}
void stampa_menu_in()
{
system("CLS");
cout<<"premi \n 0 per uscire \n";
}
void inz_score()
{
for(int i=0;i<4;i++)
{
score[i]=0;
}
}
void stampa_score()
{
for(int i=0;i<4;i++)
{
cout<<"punteggio squadra"<<i+1<<":"<<score[i]<<"\n";
}
}
void inz_squadre()
{
for(int i=0;i<4;i++)
{
cout<<"inserisci nome squadra "<<i+1<<": ";
inz_nome_squadra(el_sqd[i].nome);
}
}
void inz_nome_squadra(char x[20])
{
cin>>x;
}
void stampa_nome_sq_i(int x)
{
cout<<el_sqd[x].nome<<"\n";
}
void stampa_v_pt_tot_squadre()
{
for(int i=0;i<4;i++)
{
cout<<"\npotenziali della squadra "<<el_sqd[i].nome<<": ";
for(int j=0;j<3;j++)
{
cout<<"\n nello scenario "<<j+1<<": "<<el_sqd[i].v_pt_tot[j];
}
}
cout<<"\n";
}