Ir ao conteúdo
  • Cadastre-se

C Alguém consegue fazer esse código completo?


Posts recomendados

Elabore em C um programa para simular um Sistema de Apostas. Os clientes poderão fazer um jogo de 6 números entre 1 a 24, não podendo ter números repetidos. O sistema deverá manter um cadastro de clientes usando struct (cpf, nome e endereço) e também o de cadastro de apostas (cpf, um vetor de números inteiros tamanho 6, status - ganhador ou perdedor). A interação com o sistema deve ser feita pelo teclado através de um menu, com as seguintes opções: (1) - Cadastrar Cliente (2) - Fazer uma Aposta (3) - Realizar o sorteio dos 6 números - o sistema irá realizar aleatoriamente (4) - Exibir as estatísticas dos clientes que acertaram apenas 1 número (5) - Exibir as estatísticas dos clientes que acertaram apenas 2 números (6) - Exibir as estatísticas dos clientes que acertaram apenas 3 números (7) - Exibir as estatísticas dos clientes que acertaram apenas 4 números (8) - Exibir as informações dos clientes que acertaram 5 ou 6 números (9) – Sair     Todo o programa deve ser estruturado usando funções

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Ninja Teleporte Sim, com certeza alguém consegue fazer esse código completo 🤪

Veja, a atividade é sua... Tentou começar?

Comece definindo as estruturas, veja como será o protótipo das funções, acredito que deverá criar uma para cada funcionalidade. Ao final, pode criar o menu.

Que dúvidas tem?

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

#include <stdio.h>
#include <stdlib.h>

typedef struct aposta{
char cpf[50];
int EstadoDasApostas;
int nApostas[6];

}Aposta;

typedef struct cliente{
char cpf[50];
  char nome[50];
  char endereco[100];
}Cliente;

Aposta aposta[50];
Cliente cliente[100];

void cadastrar_cliente(){
int menu;
int i;
char nome[50];
printf("---CADASTRO DE CLIENTES---\n");
printf("\n(1)-inserir pessoa");
scanf("%d",&menu);
printf("inserir pessoa\n");
fgets(cliente[i].nome, 50, stdin);
printf("\ncoloque o nome\n");
scanf(" ");
fgets(cliente[i].cpf, 50, stdin);
printf ("\tcoloque o cpf:\n");
scanf(" ");
fgets(cliente[i].endereco, 100, stdin);
printf ("\tcoloque o  endereco:\n");
scanf(" ");
i++;
printf ("Cliente inserido no sistema!\n");


}
void inserir_aposta(){
int menu;
int i;
char cpf[50];
system("cls");
printf("==INSERIR UMA APOSTA==\n");
printf("\n(1)-faca uma aposta");
printf("\n(2)-sair");
scanf("%d",&menu);
switch(menu){
case 1:
printf("Coloque o cpf em que deseja apostar:\n");
        scanf(" ");
        fgets(cpf, 50, stdin);
        for (int i = 0; i < 10; i++){
        if (strcmp(cpf, cliente[i].cpf) == 0) {
        printf("\t\tdigite o numeros de 1 ate' 24\n");
        printf("Coloque a primeira aposta\n");
        scanf ("%i", &aposta[i].nApostas[0]);
        printf("Coloque a segunda aposta\n");
        scanf ("%i", &aposta[i].nApostas[1]);
        if (aposta[i].nApostas[1]!=aposta[i].nApostas[0]){
        printf("Coloque a terceira aposta\n");
        scanf ("%i", &aposta[i].nApostas[2]);
        if (aposta[i].nApostas[2]!=aposta[i].nApostas[0] && aposta[i].nApostas[2]!=aposta[i].nApostas[1]){
            printf("Coloque a quarta aposta\n");
            scanf ("%i", &aposta[i].nApostas[3]);
            if(aposta[i].nApostas[3]!=aposta[i].nApostas[0] &&aposta[i].nApostas[3]!=aposta[i].nApostas[1] &&aposta[i].nApostas[3]!=aposta[i].nApostas[2]){
            printf("Coloque a quinta aposta\n");
            scanf ("%i", &aposta[i].nApostas[4]);
            if (aposta[i].nApostas[4]!=aposta[i].nApostas[0] &&aposta[i].nApostas[4]!=aposta[i].nApostas[1] &&aposta[i].nApostas[4]!=aposta[i].nApostas[2] &&aposta[i].nApostas[4]!=aposta[i].nApostas[3]){
            printf("Coloque a sexta aposta\n");
            scanf ("%i", &aposta[i].nApostas[5]);
            if (aposta[i].nApostas[5]!=aposta[i].nApostas[0] &&aposta[i].nApostas[5]!=aposta[i].nApostas[1] &&aposta[i].nApostas[5]!=aposta[i].nApostas[2] &&aposta[i].nApostas[5]!=aposta[i].nApostas[3] && aposta[i].nApostas[5]!=aposta[i].nApostas[4]){
            printf ("Aposta inserida no sistema!\n");
                                            }
                    else{
                    printf ("não pode repeticao de numeros\n");
                    system ("pause");
                    inserir_aposta ();
                                            }
                                            }
                    else {
                    printf ("não pode repeticao de numeros\n");
                    system ("pause");
                    inserir_aposta ();
                                            }
                                                }
                    else{
                    printf ("não pode repeticao de numeros\n");
                    system ("pause");
                    inserir_aposta ();
                                                }
        }
        else {
        printf ("não pode numeros iguais\n");
        system ("pause");
        inserir_aposta ();
        }

        printf ("aposta cadastrada no sistema!\n");
        system ("pause");
        }
        else {
            printf ("cpf não encontrado!\n");
            system ("pause");
        }
        inserir_aposta ();
        break;

     case 2:
        break;
default:
printf("opcao invalida");
break;
    }
  }
}
}

int main()
{
    int menu;
    int saida=1;
    int i, j;
    do{
printf("=====================================================================\n");
printf("   ###    ########   #######   ######  ########    ###    \n");
printf("  ## ##   ##     ## ##     ## ##    ##    ##      ## ##   \n");
printf(" ##   ##  ##     ## ##     ## ##          ##     ##   ##  \n");
printf("##     ## ########  ##     ##  ######     ##    ##     ## \n");
printf("######### ##        ##     ##       ##    ##    ######### \n");
printf("##     ## ##        ##     ## ##    ##    ##    ##     ## \n");
printf("##     ## ##         #######   ######     ##    ##     ## \n");
printf("\n(0)-SAIR                                                               ");
printf("\n(1)-CADASTRAR CLIENTE                                                  ");
printf("\n(2)FAZER UMA APOSTA                                                   ");
printf("\n(3)-REALIZAR O SORTEIO DOS 6 NUMEROS                                   ");
printf("\n(4)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE ACERTARAM APENAS 1 NUMERO  ");
printf("\n(5)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE ACERTARAM APENAS  2 NUMEROS");
printf("\n(6)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE ACERTARAM APENAS 3 NUMEROS ");
printf("\n(7)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE ACERTARAM APENAS 4 NUMEROS ");
printf("\n(8)-EXIBIR AS informações DOS CLIENTES QUE ACERTARAM 5 ou 6 NUMEROS\n  ");
printf("=======================================================================\n");
scanf ("%d", &menu);
        switch (menu){
     case 0:
         printf ("\tdigite uma opcao valida!\n");
        system ("pause");
        break;
     case 1:
         cadastrar_cliente();
        break;
     case 2:
         inserir_aposta();
        break;
     case 3:

        break;
     case 4:

        break;
     case 5:

        break;
     case 6:

        break;
     case 7:

        break;
     case 8:

        break;
     case 9:
         saida=1;
        break;
     case 10:

        break;
        }

        }while(saida!=1);
        return 0;
}

esse é o que consegui fazer

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Use o tal botao code....

 

Veja a diferença

 

#include <stdio.h>
#include <stdlib.h>

typedef struct aposta
{
    char cpf[50];
    int  EstadoDasApostas;
    int  nApostas[6];

} Aposta;

typedef struct cliente
{
    char cpf[50];
    char nome[50];
    char endereco[100];
} Cliente;

Aposta  aposta[50];
Cliente cliente[100];

void cadastrar_cliente()
{
    int  menu;
    int  i;
    char nome[50];
    printf("---CADASTRO DE CLIENTES---\n");
    printf("\n(1)-inserir pessoa");
    scanf("%d", &menu);
    printf("inserir pessoa\n");
    fgets(cliente[i].nome, 50, stdin);
    printf("\ncoloque o nome\n");
    scanf(" ");
    fgets(cliente[i].cpf, 50, stdin);
    printf("\tcoloque o cpf:\n");
    scanf(" ");
    fgets(cliente[i].endereco, 100, stdin);
    printf("\tcoloque o  endereco:\n");
    scanf(" ");
    i++;
    printf("Cliente inserido no sistema!\n");
}
void inserir_aposta()
{
    int  menu;
    int  i;
    char cpf[50];
    system("cls");
    printf("==INSERIR UMA APOSTA==\n");
    printf("\n(1)-faca uma aposta");
    printf("\n(2)-sair");
    scanf("%d", &menu);
    switch (menu)
    {
        case 1:
            printf(
                "Coloque o cpf em que deseja apostar:\n");
            scanf(" ");
            fgets(cpf, 50, stdin);
            for (int i = 0; i < 10; i++)
            {
                if (strcmp(cpf, cliente[i].cpf) == 0)
                {
                    printf(
                        "\t\tdigite o numeros de 1 ate' "
                        "24\n");
                    printf("Coloque a primeira aposta\n");
                    scanf("%i", &aposta[i].nApostas[0]);
                    printf("Coloque a segunda aposta\n");
                    scanf("%i", &aposta[i].nApostas[1]);
                    if (aposta[i].nApostas[1] !=
                        aposta[i].nApostas[0])
                    {
                        printf(
                            "Coloque a terceira aposta\n");
                        scanf("%i", &aposta[i].nApostas[2]);
                        if (aposta[i].nApostas[2] !=
                                aposta[i].nApostas[0] &&
                            aposta[i].nApostas[2] !=
                                aposta[i].nApostas[1])
                        {
                            printf(
                                "Coloque a quarta "
                                "aposta\n");
                            scanf(
                                "%i",
                                &aposta[i].nApostas[3]);
                            if (aposta[i].nApostas[3] !=
                                    aposta[i].nApostas[0] &&
                                aposta[i].nApostas[3] !=
                                    aposta[i].nApostas[1] &&
                                aposta[i].nApostas[3] !=
                                    aposta[i].nApostas[2])
                            {
                                printf(
                                    "Coloque a quinta "
                                    "aposta\n");
                                scanf(
                                    "%i",
                                    &aposta[i].nApostas[4]);
                                if (aposta[i].nApostas[4] !=
                                        aposta[i]
                                            .nApostas[0] &&
                                    aposta[i].nApostas[4] !=
                                        aposta[i]
                                            .nApostas[1] &&
                                    aposta[i].nApostas[4] !=
                                        aposta[i]
                                            .nApostas[2] &&
                                    aposta[i].nApostas[4] !=
                                        aposta[i]
                                            .nApostas[3])
                                {
                                    printf(
                                        "Coloque a sexta "
                                        "aposta\n");
                                    scanf(
                                        "%i",
                                        &aposta[i]
                                             .nApostas[5]);
                                    if (aposta[i].nApostas
                                                [5] !=
                                            aposta[i]
                                                .nApostas
                                                    [0] &&
                                        aposta[i].nApostas
                                                [5] !=
                                            aposta[i]
                                                .nApostas
                                                    [1] &&
                                        aposta[i].nApostas
                                                [5] !=
                                            aposta[i]
                                                .nApostas
                                                    [2] &&
                                        aposta[i].nApostas
                                                [5] !=
                                            aposta[i]
                                                .nApostas
                                                    [3] &&
                                        aposta[i].nApostas
                                                [5] !=
                                            aposta[i]
                                                .nApostas
                                                    [4])
                                    {
                                        printf(
                                            "Aposta "
                                            "inserida no "
                                            "sistema!\n");
                                    }
                                    else
                                    {
                                        printf(
                                            "não pode "
                                            "repeticao de "
                                            "numeros\n");
                                        system("pause");
                                        inserir_aposta();
                                    }
                                }
                                else
                                {
                                    printf(
                                        "não pode "
                                        "repeticao de "
                                        "numeros\n");
                                    system("pause");
                                    inserir_aposta();
                                }
                            }
                            else
                            {
                                printf(
                                    "não pode repeticao de "
                                    "numeros\n");
                                system("pause");
                                inserir_aposta();
                            }
                        }
                        else
                        {
                            printf(
                                "não pode numeros "
                                "iguais\n");
                            system("pause");
                            inserir_aposta();
                        }

                        printf(
                            "aposta cadastrada no "
                            "sistema!\n");
                        system("pause");
                    }
                    else
                    {
                        printf("cpf não encontrado!\n");
                        system("pause");
                    }
                    inserir_aposta();
                    break;

                    case 2:
                        break;
                    default:
                        printf("opcao invalida");
                        break;
                }
            }
    }
}

int main()
{
    int menu;
    int saida = 1;
    int i, j;
    do {
        printf(
            "=============================================="
            "=======================\n");
        printf(
            "   ###    ########   #######   ######  "
            "########    ###    \n");
        printf(
            "  ## ##   ##     ## ##     ## ##    ##    ##  "
            "    ## ##   \n");
        printf(
            " ##   ##  ##     ## ##     ## ##          ##  "
            "   ##   ##  \n");
        printf(
            "##     ## ########  ##     ##  ######     ##  "
            "  ##     ## \n");
        printf(
            "######### ##        ##     ##       ##    ##  "
            "  ######### \n");
        printf(
            "##     ## ##        ##     ## ##    ##    ##  "
            "  ##     ## \n");
        printf(
            "##     ## ##         #######   ######     ##  "
            "  ##     ## \n");
        printf(
            "\n(0)-SAIR                                    "
            "                           ");
        printf(
            "\n(1)-CADASTRAR CLIENTE                       "
            "                           ");
        printf(
            "\n(2)FAZER UMA APOSTA                         "
            "                          ");
        printf(
            "\n(3)-REALIZAR O SORTEIO DOS 6 NUMEROS        "
            "                           ");
        printf(
            "\n(4)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE "
            "ACERTARAM APENAS 1 NUMERO  ");
        printf(
            "\n(5)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE "
            "ACERTARAM APENAS  2 NUMEROS");
        printf(
            "\n(6)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE "
            "ACERTARAM APENAS 3 NUMEROS ");
        printf(
            "\n(7)-EXIBIR AS ESTATISTICAS DOS CLIENTES QUE "
            "ACERTARAM APENAS 4 NUMEROS ");
        printf(
            "\n(8)-EXIBIR AS informações DOS CLIENTES QUE "
            "ACERTARAM 5 ou 6 NUMEROS\n  ");
        printf(
            "=============================================="
            "=========================\n");
        scanf("%d", &menu);
        switch (menu)
        {
            case 0:
                printf("\tdigite uma opcao valida!\n");
                system("pause");
                break;
            case 1:
                cadastrar_cliente();
                break;
            case 2:
                inserir_aposta();
                break;
            case 3:

                break;
            case 4:

                break;
            case 5:

                break;
            case 6:

                break;
            case 7:

                break;
            case 8:

                break;
            case 9:
                saida = 1;
                break;
            case 10:

                break;
        }

    } while (saida != 1);
    return 0;
}

 

Seu programa não está nada bom. Pode conseguir terminar assim, mas vai ter um trabalho do inferno e 

  • vai ser difícil usar isso em outros programas
  • vai aprender pouco com isso
  • vai ser o diabo fazer qualquer alteração nisso, mesmo horas depois de ter escrito.

Nunca escreva um programa interativo.

 

É bobagem. Só vai estar perdendo tempo. Seu programa tem mais de 300 linhas e não fa quase nada.

 

Desenhos na tela e menus não levam a nada. Escreva em torno dos dados e não da tela.

 

Nunca use funções sem argumentos e que retornam void. É um desastre. E proibido em toda parte.

 

image.png.ce91b29b828866d58052e5140db0f19c.png

 

O código a esquerda é de uma aposto em seu programa. Por sorte são apenas seis apostas possíveis. Mas e se mudar para doze? Vai ficar com uns 2 metros de código?

 

Claro que deve ter outra maneira, usando índices e uma struct de apostas. Leva menos tempo para aprender do que para terminar o programa com essas restrições. Fica muito frágil.

 

Se você tem um menu porque não é uma função que retorna a opção?

 

E porque não coloca isso só no final?

 

Um programa nunca dá erro em um menu. Ou não deveria.

 

void cadastrar_cliente()
 

Nunca escreva assim. Onde está o cadastro? 

 

Não é básico em seu programa um cadastro de clientes e um cadastro de apostas? Só que não tem isso no programa.

 

Pode apostar que vai fazer falta.

Muita falta.

 

E cadastrar um cliente cadastra um cliente em um cadastro. Ou deveria.

 

Você sempre vai ver

 

    int cadastrar_cliente( Cliente* cliente, Cadastro* cad_local);

 

por exemplo, porque é o simples. Cadastra um cliente em um cadastro. Deu certo? retorna 0 ou o total atualizado de clientes.

 

Pense nisso

 

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Interessante, eu também tô com um erro que é o seguinte. Nesse código que enviei , quando vou sair do cadastrar usuário, ele não volta para a main , só sai do sistema todo ;-; . Eu queria consertar isso também

@arfneto Se conseguir uma solução pra isso de voltar ao main em vez de sair do sistema todo em cada opção

Link para o comentário
Compartilhar em outros sites

@Ninja Teleporte

52 minutos atrás, Ninja Teleporte disse:

quando vou sair do cadastrar usuário, ele não volta para a main , só sai do sistema todo

Sim, você inicializou saida com o valor 1, e a condição de persistência do loop é saida != 1.

Enquanto saida for diferente de 1 o loop persiste, mas sempre vai ser igual a 1.

Veja, você não precisa de uma variável pra isso: você pode definir a condição como menu != 9, já que a opção 9 é Sair, então o loop persistiria enquanto essa opção não fosse escolhida.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...