2
respostas

[Dúvida] Problema no meu swith case

Estava eu treinando em C# e me de parei com um problema no meu código, ele iria efetuar uma operação matemática, de acordo com a opção dada pelo usuário. Logo depois iria apresentar o resultado. Eu criei diversas funções, para cada operação, e depois colocoquei elas no Swith case. Logo após o código exibir o resultado, ele também exibir os resultados das de mais funções, sendo que era para apresentar da função que o usuário escolheu.

int nValor1, nValor2, nOpcao;

void MuitasFunções()
{
    Console.WriteLine("Informe um valor\n");
    nValor1 = int.Parse(Console.ReadLine());

    Console.WriteLine("Informe um valor\n");
    nValor2 = int.Parse(Console.ReadLine());

    Console.WriteLine("Digite 1 para somar, 2 para subtrair,  3 para multiplicar e 4 para dividir \n");
    nOpcao = int.Parse(Console.ReadLine());

    switch (nOpcao)
    {
        case 1: FnSomar();
            break;
        case 2: FnSubtrair(); ;
            break;
        case 3: FnMultiplicar();
            break;
        case 4: FnDividir();
            break;
        default: Console.WriteLine("Opção inválida");
            break;
    }
}
MuitasFunções();


void FnSomar()

{
    Console.WriteLine($"Resultado: {nValor1+nValor2}");
}
FnSomar();

void FnSubtrair()
{
    Console.WriteLine($"Resultado: {nValor1 - nValor2}");
}
FnSubtrair();


void FnMultiplicar()
{
    Console.WriteLine($"Resultado: {nValor1 * nValor2}");
}
FnMultiplicar();

void FnDividir()
{
    if (nValor1 != 0 )
    {
        Console.WriteLine($"Resultado: {nValor1 / nValor2}");
    }
    else
    {
        Console.WriteLine("Resultado é 0");
    }
 
}
FnDividir();
2 respostas

O código está chamando todos os métodos após as declarações. Tente deixar somente a chamada do método MuitasFuncoes.

Como foi dito

//Remova as linhas:

FnSomar();

FnSubtrair();

FnMultiplicar();

FnDividir();