public Terreno(int id, IForma forma, IClassificacao classificacao, Escritura escritura) { this.Id = id; this.forma = forma; this.Classificacao = classificacao; this.Escritura = escritura; }
public void AreaDeveSer20QuandoQuadrado_4X5() { //Perceba que esse teste não faz mais sentido, pois o valor "retangulo.TamanhoLado=4" será subscrito var quadrado = new Quadrado(); quadrado.TamanhoLado = 4; quadrado.TamanhoLado = 5; IForma forma = quadrado; Assert.AreEqual(20, forma.Area); }
public void DibujarForma(IForma forma) { switch (forma.GetTipo()) { case 1: DibujaUnRectangulo((Rectangulo)forma); break; case 2: DibujaUnCirculo((Circulo)forma); break; } }
public void PintarForma(IForma forma) { switch (forma.Tipo) { case 1: PintarCuadrado(forma as FormaCuadrado); break; case 2: PintarRectangulo(forma as FormaRectangulo); break; } }
public static List <IForma> ObtenerFormas(List <FormaGeometrica> formas, ref float areaFormas, ref float perimetroFormas) { List <IForma> tiposFormas = new List <IForma>(); foreach (FormaGeometrica forma in formas) { switch (forma.Tipo) { case 1: formaGeometrica = Classes.Cuadrado.GetInstance(); break; case 2: formaGeometrica = Classes.TrianguloEquilatero.GetInstance(); break; case 3: formaGeometrica = Classes.Circulo.GetInstance(); break; case 4: Classes.Trapecio trapecio = Classes.Trapecio.GetInstance(); trapecio.LadoB = forma._ladoB; trapecio.LadoC = (float)forma._ladoC; trapecio.LadoD = (float)forma._ladoD; formaGeometrica = Classes.Trapecio.GetInstance(); break; case 5: Classes.Rectangulo rectangulo = Classes.Rectangulo.GetInstance(); rectangulo.LadoB = forma._ladoB; formaGeometrica = Classes.Rectangulo.GetInstance(); break; default: throw new ArgumentOutOfRangeException(@"Forma desconocida"); } if (!ComprobarForma(formas, tiposFormas)) { tiposFormas.Add(formaGeometrica); } formaGeometrica.Sumar(); SumarAreas(ref areaFormas, forma._lado); SumarPerimetros(ref perimetroFormas, forma._lado); } return(tiposFormas); }
static void Main(string[] args) { // Medidas para todas as formas em centímetros ImprimirNomes(); Console.Write("\n Digite quantas formas geométricas deseja criar: "); int numFormas = int.Parse(Console.ReadLine()); IForma[] vetFormas = new IForma[numFormas]; for (int i = 0; i < numFormas; i++) { Console.Clear(); Console.WriteLine("\n {0}° Forma", (i + 1)); Console.WriteLine("\n Qual forma geométrica deseja criar?"); Console.WriteLine("\n 1. Quadrado \n 2. Retângulo \n 3. Circulo"); Console.Write("\n Escolha uma opção: "); byte opc = byte.Parse(Console.ReadLine()); Console.Clear(); switch (opc) { case 1: Console.Write("\n Quadrado \n\n Digite a medida do lado do quadrado em cm: "); int lado = int.Parse(Console.ReadLine()); Quadrado quadrado = new Quadrado(lado); vetFormas[i] = quadrado; break; case 2: Console.Write("\n Retângulo \n\n Digite a medida da base do retângulo em cm: "); int baseX = int.Parse(Console.ReadLine()); Console.Write("\n Digite a medida da altura do retângulo em cm: "); int alturaY = int.Parse(Console.ReadLine()); Retangulo retangulo = new Retangulo(baseX, alturaY); vetFormas[i] = retangulo; break; case 3: Console.Write("\n Circulo \n\n Digite a medida do raio do circulo em cm: "); int raio = int.Parse(Console.ReadLine()); Circulo circulo = new Circulo(raio); vetFormas[i] = circulo; break; default: Console.WriteLine("\n Opção inválida! \n"); break; } } Console.Clear(); Console.WriteLine(); for (int i = 0; i < vetFormas.Length; i++) { Console.WriteLine(vetFormas[i]); } Console.ReadKey(); }