Ir ao conteúdo
  • Cadastre-se

Bolao da segunda fase da copa


Ferreira27

Posts recomendados

 criar uma estrutura em linguagem C para um bolão da segunda fase da copa do mundo.

 

Fiz como o código abaixo

Agora como  tenho que fazer a leitura de cada seleção separadamente e ter uma struct para cada fase da copa (oitavas de finais, quartas de finais, semi final e final)

 

estou precisando de  ajuda para desenvolver este raciocínio.

 

Aqui temos que usar o mesmo conceito de banco de dados.

quantos bolão vamos ter, vai ter muitos cadastro no bolão para a mesma partida.
E a partida vai ter uma somente.
Então o criamos uma referência, da struct partida, na do BOLÃO, ou um iD uma variavel, só para
saber de qual partida foi..
Cria um menu, para cadastrar, dai chama outro menu..
tem opção de cadastrar bolao ou partida..
dai tem uma lógica em cima, de verificar não deixando cadastrar duas vezes a mesma partida entre outras coisas..
e no bolão na hora de cadastrar as informações, mostra as partidas cadastradas já. dai escolhe uma partida, pelo um número.
e o struct fica referenciado com uma partida válida que já foi cadastrada.
no menu mesmo, podem colocar uma opção de encerrar bolao.
dai a fase termina, e o bolao e encerrado,
#include <stdio.h>	#include<stdlib.h>	#include<string.h>	 struct BOLAO{	         char selecao[100],nomeApostador[100];	         int golsTime1, golsTime2,resulTime1,resultTime2;	         float valorAposta;    	         	         	};			int menu();					int main(){	    struct BOLAO bol[3];	    int opc,contA = 0, contR = 0, opcR;	    		do{		opc = menu();		switch(opc){		case 1:					if(contA < 3){				getchar();				printf("\n\tInforme o nome das selecoes: ");				gets(bol[contA].selecao);				printf("\n\tinforme o nome do apostador: ");				gets(bol[contA].nomeApostador);				printf("\n\tinforme o seu palpite para o time 1: ");				scanf("%d",&bol[contA].golsTime1);				printf("\n\tinforme o seu palpite para o time 2: ");				scanf("%d",&bol[contA].golsTime2);				//printf("\n\tinforme o valor da aposta: ");				//scanf("%f",&bol[contA].valorAposta);				bol[contA].resulTime1 = 0;				bol[contA].resultTime2 = 0;								contA++;			}			else{					printf("\n\tBolao completo:");					getchar();			}	    break;	    case 2:	         	if(contR < 3 && contA > 0){	         			printf("\n\tInfomorme o resultado do jogo das selecoes: %s\n", bol[contR].selecao);	         			printf("\n\todo Apostador: %s\n", bol[contR].nomeApostador);	         			printf("\n\tResultado do time 1:");	         			scanf("%d",&bol[contR].resulTime1);	         			printf("\n\tResultado do time 2: ");	         			scanf("%d",&bol[contR].resultTime2);	         		         	}else{	         		 printf("\n\tNAo tem resultado para informar");	         	}	    break;	    case 3:	         	printf("Sair");				getchar();	 	    break;	         		    default:	            printf("\n\topcao %d invalida\n",opc);	            getchar();	    break;	    }	}while(opc != 4);   	 	}		int menu(){	    int opc;	    system("cls");	      printf("\n\t\t\tCADASTRO DO BOLAO\n\n"	 			 "\t1 - Cadastrar\n"	          	 "\t2 - Digitar Resultado\n"	           	"\t3 - Sair\n\n"	  "\tPor favor, selecione uma opcao: ");	    scanf("%d", &opc);	    return opc;	}
Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Olá estou precisando de ajuda para termina este trabalho.

 

Um bolão de prognóstico é aquele no qual cada apostador indica qual será o resultado de um evento futuro, que podem ir do placar de uma partida desportiva ao número de votos de um candidato numa eleição. Também ocorre no caso de um campeonato, em que se aposta quais equipes passarão para uma fase seguinte (http://pt.wikipedia....Bolão_(aposta)).
        

Aproveitando o “clima de Copa”,  na construção de um programa que simule um bolão da Copa.Este programa vai permitirao usuário inserir seus palpites para as oitavas, quartas, semifinais e a final.
 
Serão necessários os seguintes arquivos:
. times.cpm (contém os times classificados para as oitavas de final);
. oitavas.cpm (armazenará os palpites das oitavas de final);
. quartas.cpm (armazenará os palpites das quartas de final);
. semis.cpm (armazenará os palpites das semifinais);
. final.cpm (armazenará os palpites para a final);
. resultados.cpm (armazenará os resultados oficiais de todas as etapas).

Nesta etapa do trabalho, deve ser construído um menu de opções que permita ao usuário:
1 - Cadastrar Times Classificados (para as oitavas de final);
2 - Criar os Emparceiramentos (para as oitavas de final e seguintes);
3 - Cadastrar Palpites (para as oitavas de final e seguintes);
4- Relatórios.
 

Estes arquivos serão criados pelo programa que  vai ser  desenvolvido. Por exemplo: o arquivo times.cpm vai armazenar os times classificados para as oitavas de final. Ou seja, o programa vai permitir ao usuário cadastrar os times classificados para as oitavas de final neste arquivo times.cpm.

Os arquivos.cpm é um arquivo físico que receberá a gravação/edição de registros (structs).

Obs: A função main() deve conter somente as chamadas para as demais funções;

#include <stdio.h>#include<stdlib.h>#include<string.h> struct BOLAO{         char nomeApostador[100];         int golsTime1, golsTime2,resulTime1,resultTime2, id_jogo;         float valorAposta;                      };struct JOGO{         char selecao1[100], selecao2[100];         int golTime1, golTime2;         int id;                  };struct JOGO cadastroJogo(int id);struct BOLAO cadastroBolao(int id_jogo);int contJogo = 0;int menu();int menuCadastro();int main(){    struct BOLAO bol[3];//Para estância de uma estrutura, precisa chamar o nome da Struct e dar um nome colocando num vetor.bol[3] temos que criar uma variavel global para aumentar de acordo com o cadastro, e ficar infinito o tamanho não somente com 3    struct JOGO jogo[16];// jogo[16],na segunda fase só tem 16 jogos, então podemos deixar cadastrar mais que  o limite de jogos, se não, não vai ser um segunda fase igual da copa do mundo    int opc,opCad, contA = 0, contR = 0, opcR, i, contB = 0, id_jogo;    do{	 	opc = menu();	 	 switch(opc){         	case 1:	 				 				 	do{			 		opCad = menuCadastro();			 		switch(opCad){			 			case 1:			 				if(contJogo < 16){			 								 					if(contJogo >= 0 && contJogo <=7){			 							printf("\n\tOitavas de finais\n");			 							jogo[contJogo] = cadastroJogo(contJogo);			 										 					}			 					else if(contJogo >= 8 && contJogo <=11){			 						printf("\n\tQuartas de finais\n");										 jogo[contJogo] = cadastroJogo(contJogo);		 									 					}			 					else if(contJogo >= 12  && contJogo <=13){			 						printf("\n\tSemi finais\n");			 						jogo[contJogo] = cadastroJogo(contJogo);			 					}			 					else if(contJogo >= 14 && contJogo <=15){			 						printf("\n\tFinal e terceiro lugar\n");			 						jogo[contJogo] = cadastroJogo(contJogo);			 									 					}			 					contJogo++;			 				}else{			 					printf("\n\tAcabou os jogos\n");			 				}			 							 			break;			 			case 2:			 				if(contJogo > 0){			 					printf("\n\tEscolha o jogo para fazer o bolao: \n");			 					for(i = 0; i < contJogo; i++){			 						printf("\n\tId: %d\n",jogo[i].id);			 						printf("\n\t%s X %s",jogo[i].selecao1, jogo[i].selecao2);			 						printf("\n\n");			 									 					}				 								 					printf("\n\tInforme o id do jogo: ");			 					scanf("%d",&id_jogo);			 					bol[contB] = cadastroBolao(id_jogo);			 								 								 								 				}			 				else{			 					printf("\n\tNenhum jogo cadastrado.");			 				}			 			break;			 			default:               				printf("\n\topcao %d invalida\n",opc);               				getchar();          				break;          							 		}			 		getchar();			 					 	}while(opCad != 3);			 				 				 				 	         	break;         	case 2:         		         	break;         	case 3:         			printf("Sair");					 getchar();	          	break;         	         	default:               printf("\n\topcao %d invalida\n",opc);               getchar();          	break;      	  }	 }while(opc != 3);   	 }int menu(){    int opc;    system("cls");      printf("\t\t\tCADASTRO DO BOLAO\n\n"		   "\t1 - Cadastrar \n"           "\t2 - Digitar Resultado\n"           "\t3 - Sair\n\n"		   "\tPor favor, selecione uma opcao: ");    scanf("%d", &opc);    return opc;}int menuCadastro(){    int opc;    system("cls");      printf("\t\t\tCADASTRO DO BOLAO\n\n");	  printf("\t1 - Cadastrar Jogo\n"           "\t2 - Fazer bolao\n"           "\t3 - Sair\n\n"		   "\tPor favor, selecione uma opcao: ");    scanf("%d", &opc);    return opc;}struct JOGO cadastroJogo(int id){	struct JOGO jogo;	getchar();	printf("\n\tInforme o nome das selecao 1: ");	gets(jogo.selecao1);	printf("\n\tInforme o nome das selecao 2: ");	gets(jogo.selecao2);	printf("\n\tInforme o placar do time 1: ");	scanf("\n\t%d",&jogo.golTime1);	printf("\n\tInforme o placar do time 2: ");	scanf("\n\t%d",&jogo.golTime2);	jogo.id = id+1;		return jogo;	}struct BOLAO cadastroBolao(int id_jogo){	struct BOLAO bol;	getchar();	printf("\n\tinforme o nome do apostador: ");	gets(bol.nomeApostador);	printf("\n\tinforme  o seu palpite para o time 1: ");	scanf("\n\t%d",&bol.golsTime1);	printf("\n\tinforme  o seu palpite para o time 2: ");	scanf("\n\t%d",&bol.golsTime2);	bol.id_jogo = id_jogo;		return bol;	}

 

Link para o comentário
Compartilhar em outros sites

 

 criar uma estrutura em linguagem C para um bolão da segunda fase da copa do mundo.

 

Fiz como o código abaixo

Agora como  tenho que fazer a leitura de cada seleção separadamente e ter uma struct para cada fase da copa (oitavas de finais, quartas de finais, semi final e final)

 

estou precisando de  ajuda para desenvolver este raciocínio.

 

Aqui temos que usar o mesmo conceito de banco de dados.

quantos bolão vamos ter, vai ter muitos cadastro no bolão para a mesma partida.
E a partida vai ter uma somente.
Então o criamos uma referência, da struct partida, na do BOLÃO, ou um iD uma variavel, só para
saber de qual partida foi..
Cria um menu, para cadastrar, dai chama outro menu..
tem opção de cadastrar bolao ou partida..
dai tem uma lógica em cima, de verificar não deixando cadastrar duas vezes a mesma partida entre outras coisas..
e no bolão na hora de cadastrar as informações, mostra as partidas cadastradas já. dai escolhe uma partida, pelo um número.
e o struct fica referenciado com uma partida válida que já foi cadastrada.
no menu mesmo, podem colocar uma opção de encerrar bolao.
dai a fase termina, e o bolao e encerrado,
#include <stdio.h>	#include<stdlib.h>	#include<string.h>	 struct BOLAO{	         char selecao[100],nomeApostador[100];	         int golsTime1, golsTime2,resulTime1,resultTime2;	         float valorAposta;    	         	         	};			int menu();					int main(){	    struct BOLAO bol[3];	    int opc,contA = 0, contR = 0, opcR;	    		do{		opc = menu();		switch(opc){		case 1:					if(contA < 3){				getchar();				printf("\n\tInforme o nome das selecoes: ");				gets(bol[contA].selecao);				printf("\n\tinforme o nome do apostador: ");				gets(bol[contA].nomeApostador);				printf("\n\tinforme o seu palpite para o time 1: ");				scanf("%d",&bol[contA].golsTime1);				printf("\n\tinforme o seu palpite para o time 2: ");				scanf("%d",&bol[contA].golsTime2);				//printf("\n\tinforme o valor da aposta: ");				//scanf("%f",&bol[contA].valorAposta);				bol[contA].resulTime1 = 0;				bol[contA].resultTime2 = 0;								contA++;			}			else{					printf("\n\tBolao completo:");					getchar();			}	    break;	    case 2:	         	if(contR < 3 && contA > 0){	         			printf("\n\tInfomorme o resultado do jogo das selecoes: %s\n", bol[contR].selecao);	         			printf("\n\todo Apostador: %s\n", bol[contR].nomeApostador);	         			printf("\n\tResultado do time 1:");	         			scanf("%d",&bol[contR].resulTime1);	         			printf("\n\tResultado do time 2: ");	         			scanf("%d",&bol[contR].resultTime2);	         		         	}else{	         		 printf("\n\tNAo tem resultado para informar");	         	}	    break;	    case 3:	         	printf("Sair");				getchar();	 	    break;	         		    default:	            printf("\n\topcao %d invalida\n",opc);	            getchar();	    break;	    }	}while(opc != 4);   	 	}		int menu(){	    int opc;	    system("cls");	      printf("\n\t\t\tCADASTRO DO BOLAO\n\n"	 			 "\t1 - Cadastrar\n"	          	 "\t2 - Digitar Resultado\n"	           	"\t3 - Sair\n\n"	  "\tPor favor, selecione uma opcao: ");	    scanf("%d", &opc);	    return opc;	}

a minha duvida é montar a estrutura para gravar os dados no arquivo, e também criar os arquivos 

 times.cpm (contém os times classificados para as oitavas de final);

. oitavas.cpm (armazenará os palpites das oitavas de final);
. quartas.cpm (armazenará os palpites das quartas de final);
. semis.cpm (armazenará os palpites das semifinais);
. final.cpm (armazenará os palpites para a final);
. resultados.cpm (armazenará os resultados oficiais de todas as etapas).
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...