Olá, tudo bem?
Segue minha solução para o desafio da calculadora:
Modelos/Calculadora.cs
namespace Calculando;
public class Calculadora
{
public static double Calcular(double a, double b, char operacao)
{
double resultado = 0;
switch (operacao)
{
case '+':
resultado = Soma.Somar(a, b);
break;
case '-':
resultado = Subtracao.Subtrair(a, b);
break;
case '*':
resultado = Multiplicacao.Multiplicar(a, b);
break;
case '/':
resultado = Divisao.Dividir(a, b);
break;
case 'r':
resultado = RaizQuadrada.CalcularRaizQuadrada(a);
break;
case 'p':
resultado = Potencia.CalcularPotencia(a, b);
break;
default:
Console.WriteLine("Operação inválida.");
break;
}
return resultado;
}
}
Modelos/Soma.cs
namespace Calculando;
public class Soma
{
public static double Somar(double a, double b)
{
return a + b;
}
}
Modelos/Subtracao.cs
namespace Calculando;
public class Subtracao
{
public static double Subtrair(double a, double b)
{
return a - b;
}
}
Modelos/Multiplicacao.cs
namespace Calculando;
public class Multiplicacao
{
public static double Multiplicar(double a, double b)
{
return a * b;
}
}
Modelos/Divisao.cs
namespace Calculando;
public class Divisao
{
public static double Dividir(double a, double b)
{
if (a != 0 || b != 0)
{
return a / b;
}
else
{
Console.WriteLine("Erro: Divisão por zero.");
return 0;
}
}
}
Modelos/RaizQuadrada.cs
namespace Calculando;
public class RaizQuadrada
{
public static double CalcularRaizQuadrada(double a)
{
return Math.Sqrt(a);
}
}
Modelos/Potencia.cs
namespace Calculando;
public class Potencia
{
public static double CalcularPotencia(double a, double b)
{
return Math.Pow(a, b);
}
}
Program.cs
using Calculando;
Console.WriteLine(Calculadora.Calcular(8, 8, '+'));
Console.WriteLine(Calculadora.Calcular(8, 8, '-'));
Console.WriteLine(Calculadora.Calcular(8, 8, '*'));
Console.WriteLine(Calculadora.Calcular(8, 8, '/'));
Console.WriteLine(Calculadora.Calcular(8, 8, 'r'));
Console.WriteLine(Calculadora.Calcular(8, 8, 'p'));