Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.Out.WriteLine("Lab 02");
            Console.Out.WriteLine("Digite cualquier tecla para iniciar.");
            Console.WriteLine();
            Console.ReadKey();
            Console.Out.WriteLine("Digite numero del identificador de la operacion que desea realizar:\n" +
                                  "Calculadora basica \n" +
                                  "(1) - Suma \n" +
                                  "(2) - Resta \n" +
                                  "(3) - Multiplicacion \n" +
                                  "(4) - Division \n" +
                                  "\n" +
                                  "Calculadora cientifica \n" +
                                  "(5) - Potencia \n" +
                                  "(6) - Logaritmo \n" +
                                  "(7) - Raiz cuadrada \n" +
                                  "(8) - Factorial \n" +
                                  "(9) - Seno \n" +
                                  "(10) - Coseno \n" +
                                  "(11) - Tangente \n" +
                                  "\n" +
                                  "Calculadora financiera \n" +
                                  "(12) - Interes simple \n" +
                                  "(13) - Interes compuesto \n" +
                                  "(14) - Conversion USD a CRC \n" +
                                  "(15) - Conversion CRC a USD \n" +
                                  "\n");
            input = Console.In.ReadLine();
            bool flag = false;

            while (!flag)
            {
                if (Int32.TryParse(input, out id))
                {
                    if ((id < 1) || (id >= 16))
                    {
                        Console.WriteLine("Opcion no valida, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    else
                    {
                        flag = true;
                    }
                }
                else
                {
                    Console.WriteLine("Opcion no valida, intelo de nuevo.");
                    input = Console.In.ReadLine();
                }
            }
            Console.Clear();
            switch (id)
            {
            case 1:
                Console.WriteLine("Suma \n" +
                                  "\n" +
                                  "Digite el primer numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite el segundo numero:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} + {1} = {2}", num1, num2, Basic.Addition(num1, num2));
                break;

            case 2:
                Console.WriteLine("Resta \n" +
                                  "\n" +
                                  "Digite el primer numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite el segundo numero:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} - {1} = {2}", num1, num2, Basic.Subtraction(num1, num2));
                break;

            case 3:
                Console.WriteLine("Multiplicacion \n" +
                                  "\n" +
                                  "Digite el primer numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite el segundo numero:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} x {1} = {2}", num1, num2, Basic.Multiplication(num1, num2));
                break;

            case 4:
                Console.WriteLine("Division \n" +
                                  "\n" +
                                  "Digite el primer numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite el segundo numero:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} / {1} = {2}", num1, num2, Basic.Division(num1, num2));
                break;

            case 5:
                Console.WriteLine("Potencia \n" +
                                  "\n" +
                                  "Digite el numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite la potencia:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} ^ {1} = {2}", num1, num2, Scientific.Potency(num1, num2));
                break;

            case 6:
                Console.WriteLine("Logaritmo \n" +
                                  "\n" +
                                  "Digite la base:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite el argumento:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: Log{0} {1} = {2}", num2, num1, Scientific.Logarithm(num1, num2));
                break;

            case 7:
                Console.WriteLine("Raiz cuadrada \n" +
                                  "\n" +
                                  "Digite el numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: √ {0} = {1}", num1, Scientific.SquareRoot(num1));
                break;

            case 8:
                Console.WriteLine("Factorial \n" +
                                  "\n" +
                                  "Digite el numero:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: !{0} = {1}", num1, Scientific.Factorial(num1));
                break;

            case 9:
                Console.WriteLine("Seno \n" +
                                  "\n" +
                                  "Digite el angulo:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: \n" +
                                      "Radianes = {0} \n" +
                                      "Grados = {1}º",
                                      Scientific.SineRadian(num1), Scientific.SineDegrees(num1));
                break;

            case 10:
                Console.WriteLine("Coseno \n" +
                                  "\n" +
                                  "Digite el angulo:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: \n" +
                                      "Radianes = {0} \n" +
                                      "Grados = {1}º",
                                      Scientific.CosineRadian(num1), Scientific.CosineDegrees(num1));
                break;

            case 11:
                Console.WriteLine("Tangente \n" +
                                  "\n" +
                                  "Digite el angulo:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: \n" +
                                      "Radianes = {0} \n" +
                                      "Grados = {1}º",
                                      Scientific.TangentRadian(num1), Scientific.TangentDegrees(num1));
                break;

            case 12:
                Console.WriteLine("Interes simple \n" +
                                  "\n" +
                                  "Digite la cantidad:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite la tasa de interes:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.WriteLine("Digite la cantidad de años:");
                input3 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input3, out num3))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} \n", Financial.SimpleInterest(num1, num2, num3));
                break;

            case 13:
                Console.WriteLine("Interes compuesto \n" +
                                  "\n" +
                                  "Digite la cantidad:");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                flag = false;
                Console.WriteLine("Digite la tasa de interes:");
                input2 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input2, out num2))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.WriteLine("Digite numero de veces por año:");
                input3 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input3, out num3))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.WriteLine("Digite la cantidad de años:");
                input4 = Console.In.ReadLine();
                flag   = false;
                while (!flag)
                {
                    if (!Double.TryParse(input4, out num4))
                    {
                        Console.WriteLine("Numero no valido, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: {0} \n", Financial.CompoundInterest(num1, num2, num3, num4));
                break;

            case 14:
                Console.WriteLine("Conversion USD a CRC \n" +
                                  "\n" +
                                  "Digite la cantidad ($)");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Cantidad no valida, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: USD ${0} en CRC = ₡{1}", num1, Financial.ConvertUSDtoCRC(num1));
                break;

            case 15:
                Console.WriteLine("Conversion CRC a USD \n" +
                                  "\n" +
                                  "Digite la cantidad (₡):");
                input = Console.In.ReadLine();
                flag  = false;
                while (!flag)
                {
                    if (!Double.TryParse(input, out num1))
                    {
                        Console.WriteLine("Cantidad no valida, intelo de nuevo.");
                        input = Console.In.ReadLine();
                    }
                    flag = true;
                }
                Console.Clear();
                Console.Out.WriteLine("Resultado: CRC ₡{0} en USD = $ {1}", num1, Financial.ConvertCRCtoUSD(num1));
                break;
            }
            Console.ReadKey();
        }