Ejercicio C# N.40
Ejercicio C# N.40
Ejercicio C# N.40
cs 1
1 /*
2 * Ejercicio40
3 *
4 * Aplicación que muestra la aplicación de métodos
5 *
6 * En esta aplicación se calcula el périmetro de diversas figuras planas,
7 * Se muestra un menú de opciones, el usuario elige una opción, si es valida
8 * Se solicitan los datos necesario para calcular el périmetro correspondiente.
9 *
10 *
11 *
12 * Notas:
13 *
14 *
15 *
16 * Secuencia de actividades
17 *
18 * 1. Ejecutar la aplicación, observar y analizar el resultado.
19 * En este espacio anotar sus observaciones:
20 *
21 *
22 *
23 *
24 *
25 *
26 *
27 * Autor: Cambiar por su nombre
28 * Fecha: Cambiar por la fecha en que fue hecha la secuencia de actividades
29 *
30 */
31 using System;
32 using System.Collections.Generic;
33 using System.Linq;
34 using System.Text;
35 using System.Threading.Tasks;
36
37 namespace Ejercicio40
38 {
39 internal class Program
40 {
41 static void Main(string[] args)
42 {
43 int Opcion, CantidadLados;
44 double Lado, Base, Altura, Lado1, Lado2, Lado3, Radio, Perimetro;
45 do
46 {
47
48 //En esta linea se llama al metodo Menu, como no tiene parámetros
49 //solo se ponen parentesis.
50 //Como menú es un método tipo void, no devuelve valores, por lo
51 //la llamada al método no requiere la operación de asignación.
52 Menu();
53 Opcion = Int32.Parse(Console.ReadLine());
54
55 switch (Opcion)
56 {
57 case 1:
58 Console.Write("Introducir la longitud de uno de los lados: ");
59 Lado = Convert.ToDouble(Console.ReadLine());
60 //En esta línea se llama al método PerimetroCuadrado y se le pasa
...to\source\repos\estructurada\Ejercicio40\Ejercicio40\Program.cs 2
61 //como parametro la variable Lado; el paso es por valor.
62 //Como el método devuelve un valor se tiene que asignar a una
variable
63 Perimetro = PerimetroCuadrado(Lado); ;
64 Console.Write("El perímetro del cuadrado de {0} x " +
65 " {0} es {1} unidades", Lado, Perimetro);
66 break;
67 case 2:
68 Console.Write("Introducir la longitud de la base: ");
69 Base = Convert.ToDouble(Console.ReadLine());
70 Console.Write("Introducir la longitud de la altura: ");
71 Altura = Convert.ToDouble(Console.ReadLine());
72
73 //En esta línea se llama al método PerimetroRectangulo y se le
pasa
74 //como parametros las variable Base y Altura; el paso es por
valor.
75 //Como el método devuelve un valor se tiene que asignar a una
variable
76 Perimetro = PerimetroRectangulo(Base, Altura);
77 Console.Write("El perímetro del rectángulo de {0} x " +
78 " {1} es {2} unidades", Base, Altura, Perimetro);
79 break;
80 case 3:
81 Console.Write("Introducir la longitud del lado 1: ");
82 Lado1 = Convert.ToDouble(Console.ReadLine());
83 Console.Write("Introducir la longitud del lado 2: ");
84 Lado2 = Convert.ToDouble(Console.ReadLine());
85 Console.Write("Introducir la longitud del lado 3: ");
86 Lado3 = Convert.ToDouble(Console.ReadLine());
87 //en este if se llama un método que devuelve un valor bool
88 //si el resultado del método es TRUE hara el bloque if
89 //si el resultado es FALSE hara el bloque ELSE
90 if (EsTriangulo(Lado1, Lado2, Lado3))
91 {
92 Perimetro = PerimetroTriangulo(Lado1, Lado2, Lado3);
93 Console.Write("El perímetro del triángulo con lados " +
94 "{0}, {1}, {2} es {3} unidades ", Lado1, Lado2, Lado3,
Perimetro);
95 }
96 else
97 {
98 Console.Write("Las longitudes introducidas no forman un
triangulo");
99 }
100 break;
101 case 4:
102 Console.WriteLine("Introducir cantidad de lados del polígono");
103 CantidadLados = Int32.Parse(Console.ReadLine());
104 if (CantidadLados >= 5)
105 {
106 Console.Write("Introducir la longitud de uno de los lados:
");
107 Lado = Convert.ToDouble(Console.ReadLine());
108 Perimetro = PerimetroPoligono(CantidadLados, Lado);
109 Console.Write("El perímetro del poligono con {0}" +
110 " lados de longitud {1} es {2}" +
111 " unidades ", CantidadLados, Lado, Perimetro);
112 }
113 else
...to\source\repos\estructurada\Ejercicio40\Ejercicio40\Program.cs 3
114 {
115 Console.WriteLine("Para esta opción la figura" +
116 " debe tener 5 lados o mas");
117 }
118 break;
119 case 5:
120 Console.Write("Introducir la longitud del radio: ");
121 Radio = Convert.ToDouble(Console.ReadLine());
122 Perimetro = PerimetroCircunferencia(Radio);
123 Console.Write("El perímetro del circulo de" +
124 " radio {0} es {1} unidades ", Radio, Perimetro);
125 break;
126 case 6:
127 Console.Write("Gracias por usar la aplicación");
128
129 break;
130 default:
131 Console.WriteLine("Opción elegida es invalida");
132 break;
133 }
134 Console.ReadKey();
135 } while (Opcion != 6);
136 }
137
138 static void Menu()
139 {
140 Console.WriteLine("Menú de opciones");
141 Console.WriteLine("1.Cuadrado");
142 Console.WriteLine("2. Rectángulo");
143 Console.WriteLine("3. Triángulo");
144 Console.WriteLine("4. Polígono");
145 Console.WriteLine("5. Circunferencia");
146 Console.WriteLine("6. Salir");
147 Console.Write("Introducir opción: ");
148 }
149 static double PerimetroCuadrado(double Lado)
150 {
151 double P;
152 P = 4 * Lado;
153 return P;
154 }
155
156 static double PerimetroRectangulo(double Base, double Altura)
157 {
158 double P;
159 P = 2 * Base + 2 * Altura;
160 return P;
161 }
162 static double PerimetroTriangulo(double LadoA, double LadoB, double LadoC)
163 {
164 double P;
165 P = LadoA + LadoB + LadoC;
166 return P;
167 }
168
169 static double PerimetroPoligono(int N, double Lado)
170 {
171 double P;
172 P = N * Lado;
173 return P;
...to\source\repos\estructurada\Ejercicio40\Ejercicio40\Program.cs 4
174 }
175
176 static double PerimetroCircunferencia(double Radio)
177 {
178 double P;
179 P = Math.PI * Radio;
180 return P;
181 }
182 static bool EsTriangulo(double LadoA, double LadoB, double LadoC)
183 {
184 bool SiEs;
185 if (LadoC < LadoA + LadoB && LadoB < LadoA + LadoC && LadoA < LadoB + LadoC)
186 {
187 SiEs = true;
188 }
189 else
190 {
191 SiEs = false;
192 }
193 return SiEs;
194 }
195 }
196 }
197