Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

Problema resolvido com função dinâmica

//Escrever uma função que a partir de dois números de ponto flutuante a e b exiba
//no console o resultado de suas quatro operações básicas (adição, subtração, divisão
//e multiplicação), utilizando interpolação de strings.




void presioneEnter()
{
    Console.WriteLine("\nPressione ENTER para continuar ou aguarde 5 segundos...");

    int intervalo = 50; // checa a cada 50 ms
    int tempoDecorrido = 0;
    int tempoLimite = 5000; //5 segundos

    while (tempoDecorrido <= tempoLimite)
    {
        if (Console.KeyAvailable) // se alguma tecla foi pressionada
        {
            var tecla = Console.ReadKey(true);
            if (tecla.Key == ConsoleKey.Enter)
            {
                 return;
            }
        }

        Thread.Sleep(intervalo);
        tempoDecorrido += intervalo;
    }
}

float calculadora(float a, char caractere, float b)
{
    
    switch(caractere)
    {
        case '+':
            return a + b;            
        case '-':
            return a - b;
        case '*':
            return a * b;
        case '/':   
            return a / b;
    }

    return caractere;
}

do{
    Console.Clear();

    Console.WriteLine("Digite o PRIMEIRO número : "+"\n\n");
    float aa = float.Parse(Console.ReadLine());

    Console.WriteLine("\n\n"+"Digite o SEGUNDO número : "+"\n\n");
    float bb = float.Parse(Console.ReadLine());

    Console.WriteLine("\n\n"+"Digite a operalção   +   -   *   /   "+"\n\n");
    char  op = Console.ReadKey().KeyChar;

    Console.Clear();


    Console.WriteLine("\n\nO resultado do seu calculo é = " + calculadora(aa, op , bb) + "\n");
    presioneEnter();

    Console.WriteLine("DEseja sair da CALCULADORA S|N");
}while (true);

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Cauan! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções para organizar o código, utilizou muito bem o switch para controlar as operações matemáticas e ainda compreendeu a importância da interpolação de strings para exibir os resultados de forma clara no console.

Uma dica interessante para o futuro é retornar uma mensagem mais descritiva já dentro da função, usando interpolação diretamente. Assim:

float calculadora(float a, char caractere, float b)
{
    switch (caractere)
    {
        case '+':
            return a + b;
        case '-':
            return a - b;
        case '*':
            return a * b;
        case '/':
            return b != 0 ? a / b : float.NaN;
        default:
            throw new ArgumentException("Operação inválida");
    }
}

Isso faz o código ficar mais robusto, evitando erros como divisão por zero e garantindo mensagens claras para o usuário.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!