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

Fazer um menu


JeffersonProgramador

Pergunta

Estou tentando fazer um código de um menu que funciona assim: Existes escolhas (por exemplo, 1.Essa é a opção 1, 2.Essa é a opção dois, f.Sair etc), o utilizador seleciona uma delas e logo depois o programa pede para dizer qual foi a escolha q ele fez anteriormente (Obs: na primeira vez que corre o programa, a escolha anterior é tida como 0). Quando o utilizador coloca a opção correta, o programa retorna "Muito bem", e quando coloca a errada, ele fala q você errou. Isso tudo num loop infinito. 

Ai tudo bem, eu executo o código, coloco as duas opções corretas, porém quando ele volta a pedir para escolher uma opção (isso no segundo ciclo) ele simplesmente n permite q eu digite e da como opção inválida. (Obs2: eu coloquei um if else de forma que se o utilizador não colocar nada no espaço pra escolher a opção, ele retorna "opção inválida").

Por favor, preciso muito de ajuda nesse código. Desde já agradeço sua atenção.

#include <stdio.h>
#include <stdlib.h>
int main() {
    /* declaração de variáveis */
    int controle;
    char option, opt_ant;
    char result1, result_2;

    controle=0;

    /* escrever menu */
    do {
        
        printf (" MENU para broncos\n");
        printf ("1 – A opção que escolheu foi 1\n");
        printf ("2 – Escolheu a segunda opção\n");
        printf ("3 – Agora escreveu um três\n");
        printf ("4 – A tecla que carregou foi um quatro\n");
        printf ("s – Escreveu um ‘s’\n");
        printf ("t – Esta foi a opção do ‘t’\n");
        printf ("f – Sair\n");
        printf("\n");
        printf("Escolha uma opção: ");
        result1 = scanf(" %c", &option);
        printf("\n");

        if (option=='1')
        {
            printf ("1 – A opção que escolheu foi 1\n");
            printf("\n");
        }
        else if (option=='2')
        {
            printf ("2 – Escolheu a segunda opção\n");
            printf("\n");
        }
        else if (option=='3')
        {
            printf ("3 – Agora escreveu um três\n");
            printf("\n");
        }
        else if (option=='4')
        {
            printf ("4 – A tecla que carregou foi um quatro\n");
            printf("\n");
        }
        else if (option=='s')
        {
            printf ("s – Escreveu um ‘s’\n");
            printf("\n");
        }
        else if (option=='t')
        {
            printf ("t – Esta foi a opção do ‘t’\n");
            printf("\n");
        }
        else if (option=='f')
        {
            exit(1);
        }
        else
        {
            printf ("Opção invalida\n");
            printf("\n");
            exit(1);
        }

        printf("Qual foi a opção que escolheu antes desta? ");
        //opt_ant = getchar();
        result_2 = scanf("%c\n", &opt_ant);
        

        if (controle=0)
        {
            
            if (result_2=='0')
            {
                printf ("Muito bem\n");
                printf("\n");
            }
            else
            {
                printf ("Falhou! A opção era a 0");
                printf("\n");
            }

            controle = 1;
        }
        
        if (controle = 1)
        {
            if (result1==result_2)
            {
                printf ("Muito bem\n");
                printf("\n");
            }
            else
            {
                printf ("Falhou! A opção era a 0");
                printf("\n");
            }
        }

        
        
    } while(1);

    return 0;
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...