using static System.Console;
using static System.Math;
public virtual decimal CalculoArea() => CalculoArea();
class Quadrado : Figura {
public decimal Lado { get; set; } = 0M;
public override decimal CalculoArea() => (decimal)Pow((double)Lado, 4);
class Triangulo : Figura {
public decimal Altura { get; set; }
public decimal Base { get; set; }
public override decimal CalculoArea() => Altura * Base / 2;
class Circunferencia : Figura {
public decimal Raio { get; set; } = 0M;
public override decimal CalculoArea() => (decimal)(PI * Pow((double)Raio, 2));
var quadrado = new Quadrado();
var triangulo = new Triangulo();
var circulo = new Circunferencia();
WriteLine("Classe Quadrado");
Write("Digite o lado do quadrado: ");
if (!decimal.TryParse(ReadLine(), out var digitelado)) return 1;
quadrado.Lado = digitelado;
WriteLine("Classe Triângulo");
Write("Digite a altura do triângulo: ");
if (!decimal.TryParse(ReadLine(), out var digitealtura)) return 1;
triangulo.Altura = digitealtura;
Write("Digite a base do triângulo: ");
if (!decimal.TryParse(ReadLine(), out var digitebase)) return 1;
triangulo.Base = digitebase;
WriteLine("Classe Círculo");
Write("Digite o raio do círculo: ");
if (!decimal.TryParse(ReadLine(), out var digiteraio)) return 1;
circulo.Raio = digiteraio;
WriteLine($"O cálculo da área do quadrado é {quadrado.CalculoArea()}cm2");
WriteLine($"O cálculo da área do triângulo é {triangulo.CalculoArea()}cm2");
WriteLine($"O cálculo da área do círculo é {circulo.CalculoArea()}cm2");