Jump to content
Fórum Script Brasil
  • 0

Fazer um menu


Question

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 to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148905
    • Total Posts
      644996
×
×
  • Create New...