Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida sobre menu de opções.


AlgostinJuliano

Pergunta

Boa tarde.

Estou fazendo um programa para realizar uma votação. Nela há um menu de opções em que o usuário pode votar, apurar os votos ou sair do programa. Porém, a minha dúvida é sobre a apuração, pois o programa não está computando os votos que o usuário realiza depois de votar e selecionar a opção 2, pois está aparecendo 0 votos, mesmo depois de já ter votado. O que será que está errado?

Observação: Estou começando em programação.

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

int main() 
{
    
    int op=0, votog, votop, voto11=0, voto22=0, voto33=0, voto44=0, voto55=0, voto66=0, voto77=0;
    
    setlocale(LC_ALL,"Portuguese");
    
    printf("Escolha uma das opções:\n1-Votar\n2-Apuração\n3-Sair\n");
    scanf("%d", &op);
    system("cls");
    
    switch (op) {
        case 1:
            printf("Digite o Número do Seu Governador:\n11 -Pedro\n22 - Joana\n33 - Gustavo\n44 - Nulo\n");
            scanf("%d", &votog);
            switch (votog) {
                case 11:
                    voto11=voto11 + 1;
                    printf("Voto Computado!\n");
                    break;
                case 22:
                    voto22=voto22 + 1;
                    printf("Voto Computado!\n");
                    break;
                case 33:
                    voto33=voto33 + 1;
                    printf("Voto Computado!\n");
                    break;
                case 44:
                    voto44=voto44 + 1;
                    printf("Voto Computado!\n");
                    break;
                default:
                    printf("Voto Inválido!\n");
                    break;
            }
            system ("pause");
            system ("cls");
            printf("Digite o Número do Seu Presidente:\n55 - Bernardo\n66 - Silva\n77 - Nulo\n");
            scanf("%d", &votop);
            switch (votop) {
                case 55:
                    voto55=voto55+1;
                    printf("Voto Computado!\n");
                    break;
                case 66:
                    voto66=voto66+1;
                    printf("Voto Computado!\n");
                    break;
                case 77:
                    voto77=voto77+1;
                    printf("Voto Computado!\n");
                    break;
                default:
                    printf("Voto Inválido!\n");
                    break;
            }
            system ("pause");
            system ("cls");
            break;    
        case 2:
            printf("Os resultados das eleições foram:\n");
            printf("-------Para Vereador:-------\n");
            printf("Pedro teve %d votos.\n", voto11);
            printf("Joana teve %d votos.\n", voto22);
            printf("Gustavo teve %d votos.\n", voto33);
            printf("Nulo teve %d votos.\n", voto44);
            printf("-------Para Prefeito:-------\n");
            printf("Bernardo teve %d votos.\n", voto55);
            printf("Silva teve %d votos.\n", voto66);
            printf("Nulo teve %d votos.\n", voto77);
            break;
            system ("pause");
            system ("cls");    
        case 3:
            printf("Você escolheu a opção !");
            return 0;
            break;
            system ("pause");
            system ("cls");
        default:
            printf("Opção inválida, tente novamente!");
            system ("pause");
            system ("cls");
    }
    system ("cls");
    return main();
}

Editado por AlgostinJuliano
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Após o VOTO o fluxo seria desviado para o menu. É isso que não acontece se chamar a   int main   porque tecnicamente empilha versões novas dela com novas variáveis que não tem os dados das anteriores.

 

 

 

 

É preciso implementar um loop: for, do, while ou até goto. Para retomar o menu depois do VOTO.

Editado por britivaldo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...