Exemplo de separação de código em funções específicas e tratamento de erro (não é possível uma divisão por zero):
// Funções utilitárias
int LerNumero(string mensagem)
{
return int.Parse(LerDado(mensagem));
}
string LerDado(string mensagem)
{
Console.WriteLine(mensagem);
return Console.ReadLine()!;
}
void ExibirResultado(int resultado)
{
Console.WriteLine($"Resultado: {resultado}");
}
// Programa
int numero1 = LerNumero("Digite o primeiro número");
int numero2 = LerNumero("Digite o segundo número");
char operacao = LerDado("Digite a operação (+, -, *, /)")[0];
switch(operacao)
{
case '+':
ExibirResultado(numero1 + numero2);
break;
case '-':
ExibirResultado(numero1 - numero2);
break;
case '*':
ExibirResultado(numero1 * numero2);
break;
case '/':
if (numero2 == 0)
{
Console.WriteLine("É impossível dividir um número por zero.");
return;
}
ExibirResultado(numero1 / numero2);
break;
default:
Console.WriteLine($"Operação \"{operacao}\" inválida");
break;
}