Programação Progressiva
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

Ajuda iniciante em C#, switch nao funcionando.

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

Morcegolas



Boas pessoal, estou a tentar aprender a programar em C# mas numa coisa tão simples como fazer um menu já me esta deixando com a cabeça maluca! Ao usar o comando switch este não funciona da maneira que era de esperar, será que alguem me quer dar umas ideias no que estou fazendo mal?

Aqui esta o codigo:
Código:
#include <stdio.h>
#include <stdlib.h>

int main(void)
    {

    menu();

    printf("\nProgram continuing...\n");

    system("PAUSE");

    return 0;

    }

void menu(void)
{
    int option1;

    printf("Menu:\n");
    printf("\n1.Open Calculator");
    printf("\n2.Continue the program!\n");
    printf("\nYour choice: ");
    scanf("%c", &option1);

    switch(option1)
    {
        case 1:
            system("calc.exe");
            break;
        case 2:
            printf("Hello!!!\n");
            break;
        default:
            printf("\nBad choice, do it again!");
            break;
    }

    return option1;
}

Obrigado.

2Ajuda iniciante em C#, switch nao funcionando. Empty Para receber um inteiro é "%d", não "%c" Qui Abr 16, 2015 10:49 pm

AbnerRMS



Seu problema está nessa parte:
"scanf("%c", &option1);"

Você está indicando que vai receber um caractere ("%c"), mas a variável "option1" é do tipo int. É só trocar "%c" por "%d" que dá certo.


E mais um probleminha:
você está retornando um valor (na parte "return option1;") na função "menu" que tem o valor de retorno void (vazio), ou seja a linha "return option1;" não é necessária.

É isso. Very Happy

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos