BlueDragon Posted May 29, 2006 at 03:14 PM Report Share #29950 Posted May 29, 2006 at 03:14 PM 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 More sharing options...
Elektron Posted May 29, 2006 at 05:48 PM Report Share #29983 Posted May 29, 2006 at 05:48 PM 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 More sharing options...
BlueDragon Posted May 30, 2006 at 05:21 PM Author Report Share #30177 Posted May 30, 2006 at 05:21 PM 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now