Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
Relogio

Ajuda pra criar bingo em C

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Ajuda pra criar bingo em C

Mensagem  martenexen em Qua Set 18, 2013 6:48 pm

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.

martenexen

Mensagens : 1
Data de inscrição : 18/09/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Ajuda pra criar bingo em C

Mensagem  juk em Sex Set 20, 2013 11:52 pm

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;
}
avatar
juk

Mensagens : 225
Data de inscrição : 02/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum