El caso de la tarea optimizada _

En alguna ocacin mencion sobre una pequea tarea de la que no poda mostrar su cdigo fuente por que era una evaluacin, el caso es que ya la present y como era de esperarse, todos queran comparar cdigos

Considerando que apenas estoy aprendiendo a trabajar con C# y que me es muy molesto trabajar con entradas de datos numricos desde la consola (ms que nada por validacin), me he echo de una funcin que me permita ahorrar lneas y lneas al trabajar sobre la entrada de datos numricos _

y como no, me he ahorrado la mitad del cdigo original con la siguiente funcin encargada de devolver un nmero vlido mayor que zero ^^


static double Leer(string Mensaje)
{
double valor = 0;
do
{
try
{
Console.Clear();
Console.WriteLine(Mensaje);
valor = double.Parse(Console.ReadLine());
}
catch
{
continue;
}
} while (valor < = 0);
return valor;
}

y la implementacin…. un pequeo ejercicio para calcular el rea de un tringulo, circulo y rectngulo, a este ltimo se le tena que determinar su nombre (si es equiltero, escaleno o issceles) :


static void Main(string[] args)
{
double A, B, C;
double opcion = Leer(”Lista de operaciones\n1.- Calcular el area de un circulo.\n2.- Calcular el area de un rectangulo.\n3.- Calcular el area de un triangulo.\n4.- Determinar el nombre de un triangulo.\n”);
if (opcion.Equals(1)) {
Console.WriteLine(”El area del circulo es: {0}”, 3.1416 * Math.Pow(Leer(”Introduzca el valor del Radio del circulo”), 2));
} else if (opcion.Equals(2)) {
Console.WriteLine(”El area del rectangulo es: {0}”, Leer(”Introduzca el valor de la Base del rectangulo:”) * Leer(”Introduzca el valor de la altura del rectangulo:”));
} else if (opcion.Equals(3)) {
Console.WriteLine(”El area del triangulo es: {0}”, (Leer(”Introduzca el valor de la Base del triangulo:”) * Leer(”Introduzca el valor de la altura del triangulo:”)) / 2);
} else if (opcion.Equals(4)) {
A = Leer(”Valor del lado A: “);
B = Leer(”Valor del lado B: “);
C = Leer(”Valor del lado C:”);
if (A == B & B == C)
Console.WriteLine(”Es un triangulo equilatero… “);
else if (A != B & B != C & A != C)
Console.WriteLine(”Es un triangulo escaleno… “);
else
Console.WriteLine(”es un triangulo issceles…”);
}
Console.ReadKey();
}

y aqu el resultado:

Consola...

Consola...

No se si sea lo mejor, pero con que funcione basta :P

Saludos =)

6 Comments »

  1. Scorpion Black dijo,

    June 28, 2007 @ 15:54

    Pues que chido que ya sepas mucho sobre programacin, algn da voy a saber mas que tu!! (as que estudia mucho he) jejejeje.

    Saludos!

  2. felipEx dijo,

    June 28, 2007 @ 18:28

    apenas voi empezando, me falta muuuuuucho =P

  3. twisterya dijo,

    June 28, 2007 @ 23:55

    En que universidad estas estudiando?
    y como se llama la carrera?

  4. Luis Kano dijo,

    June 29, 2007 @ 1:09

    Te deje un meme desde mi blog :P

  5. tolucajr dijo,

    June 29, 2007 @ 9:57

    hola felipex oye no entendi esto:

    “no subas a otro servidor. enlaza al archivo original, de a ratos ago cambios y nadie lo notara”

    espero me respondas para hacer los mios..

    gracias:D, saludos y que te mejores!:)

  6. felipEx dijo,

    June 29, 2007 @ 11:23

    twisterya: Lic. Sistemas Computacionales en la Universidad de Occidente :$

    tolucajr: me refera a que esta es la primera versin, ya he actualizado y ahora est la 1.0.1

    Luis Kano: ahorita lo contesto _

 

Deje su comentario, su opinión es importante.





* Me reservo el derecho de eliminar/editar comentarios con lenguaje/conductas inapropiadas. =)