Jump to content

gestão de torneio


BlueDragon
 Share

Recommended Posts

BlueDragon

Boas pessoal..

tenho k fazer um programa para gerir um torneio de futebol....

// Torneio.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;

struct team
{
int codigo;
char nome[20];
int jogos;
int vitorias;
int empates;
int derrotas;
int autogolos;
int pontos;
int golos_marcados;
int golos_sofridos;
int amarelos;
int vermelhos;
}equipa;

team vect1[100];


struct player
{
int numero;
int cod_equipa;
int jogos;
char nome[20];
int golosMarcados;
int golosSofridos;
int cartoesAmarelos;
int cartoesVermelhos;
int pos;
}jogador;

player vect2[100];

struct games
{
int cod;
int codequipa1;
int codequipa2;
int resultado1;
int resultado2;

}jogo;

games vect3[100];

int nreg=0;
int nreg1=0;


void main ()
{
int num;
void menu1();
void menu2();

   system("cls");

cout << " 1: Torneio" << endl;
cout << " 2: Gestao de Dados" << endl;
cout << " 3: Sair" << endl;

cin >> num;

switch(num)
{
case 1:
	menu1();
	break;
case 2:
	menu2();
	break;

case 3:	break;
}


}


void menu1()
{


void menu_class();
void menu_bestscore();
void menu_bestkeep();
void menu_teamscards();
void menu_playerscards();
int num;
system("cls");

cout << "GESTAO DE TORNEIO\n\n" << endl;
cout << "1: Classificações" << endl;
cout << "2: Mostrar melhor marcador" << endl;
cout << "3: Mostrar melhor Guarda-Redes" << endl;
cout << "4: Listar EQUIPAS com mais cartões" << endl;
cout << "5: Listar JOGADORES com mais cartões" << endl;
cout << "0: Voltar" << endl;

cin >> num;

switch(num)
{
case 1:
	menu_class();
	break;
case 2:
	menu_bestscore();
	break;
case 3:
	menu_bestkeep();
	break;
case 4:
	menu_teamscards();
	break;
case 5: 
	menu_playerscards();
	break;
case 0:
return;
}


}

void menu_class()
{
	system("cls");
}

void menu_bestscore()
{

	system("cls");
}

void menu_bestkeep()
{
	system("cls");
}

void menu_teamscards()
{
system("cls");
int i, j;

for(i=0; i=nreg; i++)
{
	for(j=0; j<nreg1; j++)
	{
		vect1[i].amarelos=vect1[i].amarelos + vect2[j].cartoesAmarelos;
	}
}
for(i=0; i=nreg; i++)
{
	for(j=0; j<nreg1; j++)
	{
		vect1[i].vermelhos=vect1[i].vermelhos + vect2[j].cartoesVermelhos;
	}
}


cout << "A equipa tem " << vect1[i].amarelos << " cartoes amarelos" << endl;
cout << "A equipa tem " << vect1[i].vermelhos << " cartoes vermelhos" << endl;

getch();

}
void menu_playerscards()
{
	system("cls");
}


void menu2()
{

int num;
void menu_insert(),menu_vis(),menu_edit(),menu_del();
system("cls");

cout << "GESTAO DE DADOS\n\n" << endl;
cout << "1: Inserir" << endl;
cout << "2: Visualizar" << endl;
cout << "3: Editar" << endl;
cout << "4: Eliminar" << endl;
cout << "0: voltar atras" << endl;

cin >> num;

switch(num)
{
case 1:
	menu_insert();
	break;
case 2:
	menu_vis();
	break;
case 3:
	menu_edit();
	break;
case 4: 
	menu_del();
	break;
case 0: 
	main();

}

}

void menu_insert()
{
int num;
void newteam();
void newplayer();
system("cls");

cout << "INSERIR DADOS\n\n" << endl;
cout << "1: Equipas" << endl;
cout << "2: Jogadores" << endl;
cout << "0: voltar atras" << endl;
cin >> num;

switch(num)
{
case 1: newteam();
case 2: newplayer();
case 0: menu2();

}
}
void menu_vis()
{

int num;
void visteam(), menu2(), visplayer();
system("cls");

cout << "VISUALIZAR DADOS\n\n" << endl;
cout << "1: Equipas" << endl;
cout << "2: Jogadores" << endl;
cout << "0: voltar atras" << endl;
cin >> num;

switch(num)
{
case 1: visteam();
		break;
case 2: visplayer();
		break;
case 0: menu2();
}
}
void menu_edit()
{
system("cls");
cout << "EDITAR DADOS\n\n" << endl;
cout << "1: Equipas" << endl;
cout << "2: Jogadores" << endl;
cout << "0: voltar atras" << endl;
}
void menu_del()
{
system("cls");
cout << "ELIMINAR DADOS\n\n" << endl;
cout << "1: Equipas" << endl;
cout << "2: Jogadores" << endl;
cout << "0: voltar atras" << endl;
}




void newplayer()
{
nreg1++;
int i;
void menu_insert();
system("cls");
vect2[nreg1].numero=0;
//for(i=0;i<nreg; i++)
//{
//	do{
		cout << "introduza o numero: ";							cin >> vect2[nreg1].numero; cout << endl;
//}while (vect2[nreg1].numero==vect2[i].numero);
//}
	cout << "introduza o nome: ";							cin >> vect2[nreg1].nome; cout << endl;

	cout << "Introduza a equipa a que pertence (codigo de equipa): ";	cin >> vect2[nreg1].cod_equipa; cout << endl;

do
{
	cout << "introduza a posição: (1- GR , 2-Def , 3-Med, 4-Avn) : "; cin >> vect2[nreg1].pos; cout << endl;
}while (vect2[nreg1].pos < 1 && vect2[nreg1].pos > 4);

if (vect2[nreg1].pos == 1)
{
	cout << "Introduza o numero de golos sofridos: "; cin >> vect2[nreg1].golosSofridos; cout << endl;
}
else
{
	cout << "Introduza o numero de golos marcados: "; cin >> vect2[nreg1].golosMarcados; cout << endl;
}


menu_insert();
}

void visplayer()
{
system("cls");

int n;
void menu_vis();

cout << "Introduza o numero do jogador que pretende ver: "; cin >> n;
cout << endl;
cout << "Nome: " << vect2[n].nome << endl;
cout << "O jogador pertence a equipa: " << vect2[n].cod_equipa << endl;
cout << "A jogador marcou: " << vect2[n].golosMarcados <<" Golos" << endl;
cout << "A jogador sofreu: " << vect2[n].golosSofridos <<" Golos" << endl;
cout << "A jogador tem: " << vect2[n].cartoesAmarelos <<" amarelos" << endl;
cout << "A jogador tem: " << vect2[n].cartoesVermelhos<<" vermelhos" << endl;


getch();
menu_vis();
}

void visteam()
{
system("cls");

int n;
void menu_vis();

cout << "Introduza o codigo da equipa que pretende ver: "; cin >> n;
cout << endl;
cout << "Nome: " << vect1[n].nome << endl;
cout << "A Equipa fez: " << vect1[n].jogos <<" Jogos" << endl;
cout << "A Equipa tem: " << vect1[n].vitorias <<" Vitorias" << endl;
cout << "A Equipa tem: " << vect1[n].derrotas <<" Derrotas" << endl;
cout << "A Equipa tem: " << vect1[n].empates <<" empates" << endl;
cout << "A Equipa tem: " << vect1[n].autogolos <<" autogolos" << endl;
cout << "A Equipa tem: " << vect1[n].pontos <<" Pontos" << endl;

getch();
menu_vis();
}
void newteam()
{
nreg1++;
void menu_insert();
system("cls");

vect1[nreg].vitorias=0;
vect1[nreg].derrotas=0;
vect1[nreg].codigo=nreg;

cout << "introduza o nome: ";							cin >> vect1[nreg].nome; cout << endl;

cout << "introduza o numero de jogos realizados: ";		cin >> vect1[nreg].jogos; cout << endl;

do
{
	cout << "introduza o numero de vitorias: ";				cin >> vect1[nreg].vitorias; cout << endl;
}while (vect1[nreg].vitorias > vect1[nreg].jogos);

do
{
	cout << "introduza o numero de derrotas: ";				cin >> vect1[nreg].derrotas; cout << endl;
}while (vect1[nreg].derrotas + vect1[nreg].vitorias > vect1[nreg].jogos);

cout << "introduza o numero de autogolos: ";			cin >> vect1[nreg].autogolos; cout << endl;

	vect1[nreg].empates=vect1[nreg].jogos-(vect1[nreg].vitorias + vect1[nreg].derrotas);
	vect1[nreg].pontos=3*vect1[nreg].vitorias+vect1[nreg].empates;

menu_insert();
}

isto é o k tenho feito..

mas a parte de ver os jogadores e equipas... n tá a dar.. alguem sabe dize pk??

Link to comment
Share on other sites

Na criação estas a incrementar o indice em antes de definir os valores da array, assim sendo o indice zero das arrays de structs ficam sempre por definir.

Podias usar herança de classes e os jogadores ficarem dentro das equipas de forma q os golos marcados seriam a soma dos golos maracados de cada jogador.

Podes declarar e inicializar uma variavel no "for".

  • for(int i=0;i<10;i++)

Link to comment
Share on other sites

BlueDragon

boas... o trabalho já vai mais avançado... mas agora empanei na parte em k tenho k criar um calendario de varias jornadas para os jogos das equipas...

alguem sabe como o fazer?

tipo:

1º Jornada:

a X b

c x d

e X f

2ª jornada:

a X c

b X f

e X d

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.