Program.cs
using Formas.Modelos;
Retangulo retangulo = new Retangulo();
Circulo circulo = new Circulo();
retangulo.CalcularArea();
retangulo.CalcularPerimetro();
circulo.CalcularArea();
circulo.CalcularPerimetro();
IForma.cs
namespace Formas.Modelos;
internal interface IForma {
public void CalcularArea();
public void CalcularPerimetro();
}
Circulo.cs
namespace Formas.Modelos;
internal class Circulo : IForma {
private double raio;
private void ObterEntradaUsuario() {
Console.Clear();
Console.Write("Qual o raio do círculo: ");
double.TryParse(Console.ReadLine()!, out raio);
}
public void CalcularArea() {
ObterEntradaUsuario();
double area = raio * raio * Math.PI;
Console.WriteLine($"A área do círculo é de: {Math.Round(area, 2)}");
Console.ReadKey();
}
public void CalcularPerimetro() {
ObterEntradaUsuario();
double perimetro = raio * 2 * Math.PI;
Console.WriteLine($"O perímetro do círculo é de: {Math.Round(perimetro, 2)}");
Console.ReadKey();
}
}
Retangulo.cs
namespace Formas.Modelos;
internal class Retangulo : IForma {
private double comprimento;
private double largura;
private void ObterEntradaUsuario() {
Console.Clear();
Console.Write("Qual o comprimento do retângulo: ");
double.TryParse(Console.ReadLine()!, out comprimento);
Console.Write("Qual a largura do retângulo: ");
double.TryParse(Console.ReadLine()!, out largura);
}
public void CalcularArea() {
ObterEntradaUsuario();
double area = comprimento * largura;
Console.WriteLine($"A área do retângulo é de: {Math.Round(area, 2)}");
Console.ReadKey();
}
public void CalcularPerimetro() {
ObterEntradaUsuario();
double perimetro = (comprimento * 2) + (largura * 2);
Console.WriteLine($"O perímetro do retângulo é de: {Math.Round(perimetro, 2)}");
Console.ReadKey();
}
}