Procurar
Últimos assuntos
Quem está conectado?
Há 2 usuários online :: 0 registrados, 0 invisíveis e 2 visitantes Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Ajuda pra criar bingo em C
2 participantes
Página 1 de 1
Ajuda pra criar bingo em C
Estou fazendo um trabalho pra faculdade e não consigo nem começar a fazer o exercicio. Alguém poderia me ajudar.
Faça um programa usando estruturas e funções que simule um pequeno jogo de bingo, com cinco cartelas com dez números randômicos de 1 a 100 e que rode criando valores aleatórios e fazendo um sorteio de números até que uma das cartelas tenha os 10 números sorteados. Ao final indique a cartela vencedora e quantos números foram sorteados nas outras cartelas.
Faça um programa usando estruturas e funções que simule um pequeno jogo de bingo, com cinco cartelas com dez números randômicos de 1 a 100 e que rode criando valores aleatórios e fazendo um sorteio de números até que uma das cartelas tenha os 10 números sorteados. Ao final indique a cartela vencedora e quantos números foram sorteados nas outras cartelas.
martenexen- Mensagens : 1
Data de inscrição : 18/09/2013
Re: Ajuda pra criar bingo em C
ajuda ??
- Código:
#include <stdlib.h>
#include <stdio.h>
//#include <unistd.h>///sleep nem ta usando essa merda
#include <time.h>///time(null)
///varglobal
int cont=-1;
int numcartela=-1;
int tabelas[5][5][5];
int sorteio[99];
///---------------
void ganhou();
int gerar()
{
//sleep(1);
int numero;
numero = rand()%99; /** De 0 a 99 **/
return (numero);
}
void bingo()
{
if(cont < 100)
{
cont=cont+1;
sorteio[cont]=gerar();
printf("\nNumero soteador:%d sequencia:%d\n",sorteio[cont],cont);
//getchar(); ///descomentar para ver todo o processo..chato pacas hahaha
//getchar();
}
else
{
printf("Os numeros acabaram\nsaindo......");
getchar();
getchar();
exit(0);
}
}
void gerarcartela()
{
printf("\n>>Gerando de Cartelas<<\n");
int i=0,j=0,k=0;
int l,c,numero;///função ver.repitido
while(k<numcartela)
{
printf("\nGerando Cartelas %d.....\n",k);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
///-------para não repetir--------
volta:
numero=gerar();
for(l=0;l<4;l++)
{
for(c=0;c<4;c++)
{
if(tabelas[l][c][k]==numero)
{
printf("\n>>Repetil %d == %d",tabelas[l][c][k],numero);
goto volta;
}
}
}
///--------------------------
tabelas[i][j][k]=numero;
}
}
printf("\n");
///imprimindo cartela....
for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<4;j++)
{
printf("%d\t",tabelas[i][j][k]);
}
}
getchar();
getchar();
///----------------------------------
k++;//contador de cartela
}
}
void imprimir()
{
printf("\nFunção imprimir\n");
int i=0,j=0,k=0;
while(k<numcartela)
{
printf("\nTabela %d\n",k);
for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<4;j++)
{
printf("%d\t",tabelas[i][j][k]);
}
}
k++;
}
}
void numeros_soteados()
{
int t;
printf("Numeros Sorteados ");
while (t<=cont)
{
printf("%d-",sorteio[t]);
t++;
}
}
void imprimircartela(int m)
{
printf("\nImprimindo Cartela vencedora\n");
int i=0,j=0;
printf("\nJogador Ganho !!! %d\n",m);
for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<4;j++)
{
printf("%d\t",tabelas[i][j][m]);
}
}
numeros_soteados();
getchar();
getchar();
imprimir();
}
void compara()//so pode ser chamada despois de bingo
{
printf("\nFunção acerto\n");
int i=0,j=0,k=0;
while(k<numcartela)
{
printf("\n>>Verificando acerto na tabela %d<<\n",k);
for(i=0;i<4;i++)
{
//printf("\n");
for(j=0;j<4;j++)
{
printf("\nComparando %d==%d iguais ?",tabelas[i][j][k],sorteio[cont]);
if(tabelas[i][j][k]==sorteio[cont])
{
printf(">>>>>Sim %d==%d",tabelas[i][j][k],sorteio[cont]);
tabelas[i][j][k]=0;
}
else
{
printf("\n>Não %d==%d",tabelas[i][j][k],sorteio[cont]);
}
}
ganhou();
}
k++;
}
}
void ganhou()
{
printf("\nFunção ganhou\n");
int i=0,j=0,k=0;
while(k<numcartela)
{
if ((tabelas[0][0][k]==0)&&(tabelas[1][1][k]==0)&&(tabelas[2][2][k]==0)&&(tabelas[3][3][k]==0)) ///bingo na diagonal 1
{
printf("BINGO na diagonal principal da tabela %d\n",k);
printf("%d = %d = %d = %d",tabelas[0][0][k],tabelas[1][1][k],tabelas[2][2][k],tabelas[3][3][k]);
getchar();
getchar();
imprimircartela(k);
getchar();
getchar();
}
if ((tabelas[3][0][k]==0)&&(tabelas[2][1][k]==0)&&(tabelas[1][2][k]==0)&&(tabelas[0][3][k]==0)) ///bingo na diagonal 2
{
printf("BINGO na diagonal secundaria da tabela %d\n",k);
printf("%d = %d = %d = %d",tabelas[3][0][k],tabelas[2][1][k],tabelas[1][2][k],tabelas[0][3][k]);
getchar();
getchar();
imprimircartela(k);
getchar();
getchar();
}
for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<4;j++)
{
if ((tabelas[i][0][k]==0)&&(tabelas[i][1][k]==0)&&(tabelas[i][2][k]==0)&&(tabelas[i][3][k]==0))//bingo na linha
{
printf("BINGO na linha %d da tabela %d\n",i,k);
printf("%d = %d = %d = %d",tabelas[i][0][k],tabelas[i][1][k],tabelas[i][2][k],tabelas[i][3][k]);
getchar();
getchar();
imprimircartela(k);
getchar();
getchar();
}
if ((tabelas[0][j][k]==0)&&(tabelas[1][j][k]==0)&&(tabelas[2][j][k]==0)&&(tabelas[3][j][k]==0))//bingo na linha
{
printf("BINGO na coluna %d da tabela %d\n",i,k);
printf("%d = %d = %d = %d",tabelas[0][j][k],tabelas[1][j][k],tabelas[2][j][k],tabelas[3][j][k]);
getchar();
getchar();
imprimircartela(k);
getchar();
getchar();
}
}
}
k++;
}
}
int main(void)
{
printf("Digite o numeros de jogadores:");//jogador 0=cartela=0
scanf("%d",&numcartela);
srand(time(NULL));
gerarcartela();
imprimir();
for(;;)
{
bingo();
compara();
imprimir();
}
return 0;
}
juk- Mensagens : 262
Data de inscrição : 02/04/2012
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Seg Jan 02, 2023 2:13 pm por juk
» Cypecad 2019
Seg Jan 02, 2023 1:41 pm por juk
» Atualizando é instalando o IExplorer 11 no windows 7
Ter Ago 30, 2022 10:54 pm por juk
» COMO HABILITAR INTERNET EXPLORER NO WINDOWS 10
Sex Abr 29, 2022 6:43 pm por juk
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Qua Abr 06, 2022 10:19 am por juk
» Fazendo backup do anydesk
Ter Abr 05, 2022 7:30 pm por juk
» Recuperando Favoritos, senhas apos formatar o navegador (Mozilla Firefox ou Chrome)
Ter Abr 05, 2022 7:28 pm por juk
» Comando para tentar recuperar o windows
Qua Out 27, 2021 5:52 pm por juk
» NGROK para divulgação de site remoto
Ter Set 29, 2020 9:40 am por juk