Simulador do Sorteio da Mega Sena

Publicado por Alan Patriota (última atualização em 07/01/2015)

[ Hits: 8.329 ]

Homepage: alanpatriota.com

Download mega.c




No meu trabalho algumas pessoas jogaram na Mega Sena da virada, quando os apostadores fizeram seus jogos nos papéis, decidi sortear 6 números aleatórios de 0 a 60 em C para verificar a sorte dos jogos, após aprofundar um pouco o gerador de números aleatórios meu simulador ficou assim...

Executando o programa via linha de comando, você pode apenas sortear os números digitando o nome do programa:

./mega

Pode verificar a pagina de ajuda assim:

./mega -h

Ou pode rodar o programa cadastrando jogadores, adicionando o número de pessoas que jogarão depois da opção -j assim:

./mega -j 4 (número de jogadores)

  



Esconder código-fonte

#include<stdio.h>
#include<time.h>
#include<unistd.h>

int main(int argc, char *argv[])
{

    int op, n = 0, cont, contb;
    int b1,b2,b3,b4,b5,b6;



    while((op=getopt(argc,argv,"hj:")) != -1)
    switch(op)
        {
            case 'h':
            printf("\n  ----------------------------------------------------------------------");
            printf("\n |                                                                       |");
            printf("\n |                                  Ajuda                             |");
            printf("\n |                                                                       |");
            printf("\n | Programa que simula um sorteio de 6 bolas de  |");
            printf("\n | numeração aleatoria e pode ou não cadastrar    |");
            printf("\n | jogadores para que os mesmos escolham suas |");
            printf("\n | bolas e ao final o sistema confere os                |");
            printf("\n | jogadores com mais e menos acertos.              |");
            printf("\n |                                                                      |");
            printf("\n |                                                                      |");
            printf("\n |                               Opções                            |");
            printf("\n |                                                                      |");
            printf("\n |     (-h) Ajuda e Informações USO: mega -h         |");
            printf("\n |     (-j) Jogadores, para cadastrar jogadores       |");
            printf("\n |     o usuário deve inserir a quantidade              |");
            printf("\n |     de pessoas que irão jogar USO: mega -j 3    |");
            printf("\n |    PS.: Sem opções o programa apenas sorteia |");
            printf("\n |     as 6 bolas. USO: mega                               |");
            printf("\n |                                                                     |");
            printf("\n  --------------------------------------------------------------------\n\n");
            return 0;
            case 'j':
            n = atoi(optarg);
            break;
        }

    int bolas[n][6];
    char jogador[n][15];
    if(n != 0)
    {
        for(cont = 0; cont < n; cont++)
        {
            printf("Jogador n%i: ",cont+1);
            scanf("%s",jogador[cont]);
        }

        for(cont = 0; cont < n; cont++)
        {
            for(contb = 0; contb < 6; contb++)
            {
                printf("\n%s",jogador[cont]);
                printf("\nBola %i: ",contb+1);
                scanf("%i",&bolas[cont][contb]);
            }
        }

    }

    srand((unsigned)time(NULL));
    printf("\n\t  MEGA SENA  ");
    printf("\n\t ____________");
    printf("\n\t|                  |");
    b1 = rand()%60;
    printf("\n\t| Bola 1: %2d |",b1);
    sleep(rand()%5);
    b2 = rand()%60;
    printf("\n\t| Bola 2: %2d |",b2);
    sleep(rand()%5);
    b3 = rand()%60;
    printf("\n\t| Bola 3: %2d |",b3);
    sleep(rand()%5);
    b4 = rand()%60;
    printf("\n\t| Bola 4: %2d |",b4);
    sleep(rand()%5);
    b5 = rand()%60;
    printf("\n\t| Bola 2: %2d |",b5);
    sleep(rand()%5);
    b6 = rand()%60;
    printf("\n\t| Bola 6: %2d |",b6);
    printf("\n\t|____________|\n");


    if(n != 0)
    {
        int acertos[n];
        for(cont=0; cont<n; cont++)
        {
            acertos[cont] = 0;
            for(contb=0;contb<6;contb++)
            {
                if(bolas[cont][contb] == b1 || bolas[cont][contb] == b2 || bolas[cont][contb] == b3 || bolas[cont][contb] == b4 || bolas[cont][contb] == b5 || bolas[cont][contb] == b6 )
                acertos[cont]++;
            }
        }

        for (cont = 0; cont < n; cont++)
        printf("\n%s acertou %i bolas\n",jogador[cont],acertos[cont]);
    }

}

Scripts recomendados

Comando strstr

Agenda em C

Goldbach

Função para ler nome.

ponteiros utilizando &


  

Comentários
[1] Comentário enviado por fabio em 07/01/2015 - 13:45h

Minha próxima fézinha será usando teu script. Se eu ganhar te mando uma caixa de bombom de presente.


[2] Comentário enviado por alansantosp em 07/01/2015 - 15:00h


Huaehaeueah,
Vlw Fabio, será uma honra...
Quando postei o fonte do código pra visualização as tabulações dentro dos printf ficaram meio malucas, mas nada que deva afetar o funcionamento da aplicação... :p


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts