Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

d.p.p

Simulação da mega sena

Recommended Posts

Estou fazendo um trabalho que preciso simular a entrada de dados de apostadores e sorteio da megasena, conferindo se saiu ou nao um ganhador...

 

por enquanto meu código está assim

 


#include <stdio.h>;
#include <stdlib.h>;
#include <string.h>;
#include <time.h>;


 //FUNÇAO PRINCIPAL

main()
{
char nome[100][50], cidade[100][50], estado[100][50];
int cont=0, dezenas[100][6], contdados=0;

 
 //DADOS DO JOGADOR
 
printf("DIGITE SEU NOME:\n");
fflush(stdin);
gets(nome[contdados]);
while(nome[contdados][0]!='\0')
{
printf("DIGITE SUA CIDADE:\n");
fflush(stdin);
gets(cidade[contdados]);
printf("DIGITE SEU ESTADO:\n");
fflush(stdin);
gets(estado[contdados]);


 //APOSTAS DO JOGADOR

for(cont=0;cont<6;cont++)
{
printf("Digite a dezena apostada numero %d: \n",cont+1);
scanf("%d",&dezenas[cont]);
}
contdados++;
printf("DIGITE SEU NOME:\n");
fflush(stdin);
gets(nome[contdados]);
}

 //SORTEIO
{
 int seq[6]={0}, i, j;
 int a;
 srand(time(NULL));
 seq[0]=(rand()%60)+1;
 i=1;
 while(i<6){
 a=(rand()%60)+1;
 j=0;
 while((a!=seq[j]) && (seq[j]!=0) && (j<=6))
 j++;
 if ((seq[j]==0) && (j<=6)){
 seq[j]=a;
 i++;
 }
 }
 for(i=0; i<6; i++)
 {
 printf("Numero sorteado %d - %d\n", i+1, seq[i]);
 }
}

 //ORDEM CRESCENTE DOS NUMEROS SORTEADOS E DAS APOSTAS


 //IMPRESSAO DE DADOS


 
 
 
 
 
system("PAUSE");
 }


falta colocar os numeros apostados e sorteados em ordem crescente(o enunciado do trab pede isso),verificar se houve ganhadores e se sim, imprimir os dados do ganhador. Só que nessa parte eu to tomando uma surra...

 

ps: faço eng civil, é uma cadeira de programação, portanto se puderem ajudar da forma mais clara possível ficaria muito grato, pois meus conhecimentos são limitados!!

 

agradecendo desde ja

 

abraçoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não use fflush(stdin) e nem gets. Tem um tópico no fórum falando sobre isso.

 

P/ ordenar coisas você pode procurar por insertion sort.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mmm vou dar uma lida... está nessa seção mesmo? a minha professora que disse pra ursar fflush e gets..

 

e quanto a verificação se houve algum ganhador? alguma luz?

 

obg

 

abrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

mmm, um if que compare simultaneamente todos os numeros apostados com os numeros sorteados certo? mas como eu faço essa comparação para todas as dezenas de todos os apostadores?

 

nao entendo como posso comparar as dezenas do apostador1, do apostador2, do apostador3, etc... com as dezenas sorteadas!

 

e no caso eu teria que colocar qualquer código em void fora da funçao principal, qual seria a mais recomendada? eu teria que usar ponteiros depois?

 

obrigado pela ajuda!

 

cara ja li sobre como colocar em ordem crescente, mas to apanhando... alguem tem como dar um help?

 

esse erro significa o que?

 

cannot convert `int (*)[6]' to `int*' for argument `1' to `void ordenar_vetor(int*, int)'

 

tá assim

 

#include <stdio.h>;
#include <stdlib.h>;
#include <string.h>;
#include <time.h>;

void ordenar_vetor(int v[], const int tamanho=6)
{
     int i, j, temp;
     
     for(i = 0; i < tamanho - 1; i++){
             
         for(j = 0; j < tamanho - 1; j++){
             if(v[j] > v[j + 1]){
                 temp = v[j];
                 v[j] = v[j + 1];
                 v[j + 1] = temp;
             }
         }
     }
}

            //FUNÇAO PRINCIPAL

main()
{
char nome[100][50], cidade[100][50], estado[100][50];
int cont=0, dezenas[100][6], contdados=0;

            
            //DADOS DO JOGADOR
                
printf("DIGITE SEU NOME: ");
fflush(stdin);
gets(nome[contdados]);
while(nome[contdados][0]!='\0')
{
printf("DIGITE SUA CIDADE: ");
fflush(stdin);
gets(cidade[contdados]);
printf("DIGITE SEU ESTADO: ");
fflush(stdin);
gets(estado[contdados]);


            //APOSTAS DO JOGADOR

for(cont=0;cont<6;cont++)
{
printf("Digite a dezena apostada numero %d: ",cont+1);
scanf("%d",&dezenas[cont]);
}


int tamanho=6, i;
    /* ordena o vetor em ordem crescente */
    ordenar_vetor(dezenas, tamanho);
    
    /* mostra o vetor v ordenado */
    printf("\n\nVetor v em ordem crescente:\n");
    for(i = 0; i < tamanho; i++)
        printf("%d ", dezenas[i]);



contdados++;
printf("DIGITE SEU NOME: ");
fflush(stdin);
gets(nome[contdados]);
}

            //SORTEIO
{
int seq[6]={0}, i, j;
int a;
srand(time(NULL));
seq[0]=(rand()%60)+1;
i=1;
while(i<6){
        a=(rand()%60)+1;
        j=0;
        while((a!=seq[j]) && (seq[j]!=0) && (j<=6))
            j++;
            if ((seq[j]==0) && (j<=6)){
               seq[j]=a;
               i++;
        }
     }
for(i=0; i<6; i++)
     {
                 printf("Numero sorteado %d - %d\n", i+1, seq[i]);
     }
}

                //ORDEM CRESCENTE DOS NUMEROS E DAS APOSTAS
                



                //IMPRESSAO DE DADOS


      
      
      
      
      
system("PAUSE");
    }

 

quanto ao fflush e ao systempause, vou trocar tudo ao final do trab

 

alguma luz?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

void ordenar_vetor(int v[], const int tamanho=6)

se fosse pra definir um valor assim ele nem precisaria ser parametro neh.

você deu uma lida sobre funções?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.