• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

BlueDragon

gestão de torneio

3 mensagens neste tópico

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??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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++)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora