[ Foro de C# ]

ayuda calculadora basica

27-Apr-2014 03:58
Invitado (luis)
0 Respuestas

Apenas estoy iniciando en c#, me dejaron una calculadora basica en c# en modo consola , la claculadorea incluye suma, resta , multiplicacion, division, potencia ; ya realice el codigo pero como piden que la mutiplicacion su resultado sea en float y la division en double me da error.

El resultado de multiplicar y dividir lo da correcto cuando introdusco numeros enteros , pero cuando son decimales solo me toma las entrada de datos en enteros ejemplo 1.5 * 0.5 =0 es decir multiplica 1 y 0 los decimales me los omite

Aqui esta el codigo


//Programa de Operaciones
namespace Operaciones
{
    class Program
    {
        //metodos para devolver el valor
        static int Suma(int a1, int a2)
        {
            return a1 + a2;
        }

        static int Resta(int a1, int a2)
        {
            return a1 - a2;
        }

        static float Multiplicacion(float a1, float a2)
        {
            return a1 * a2;
        }

        static double Division(double a1, double a2)
        {
            if (a2 != 0)
            {// Si a2 es distinto de 0...
                return a1 / a2;
            }
            return 0;
        }

        static int Potencia(int a1, int a2)
        {
            int pot = a1;

            for (int i = 1; i < a2; i++)
            {
                pot *= a1;
            }

            return pot;
        }

        // PRINCIPAL DEL PROGRAMA...
        static void Main(string[] args)
        {

            int s1, s2;
            int r1, r2;
            float m1, m2;
            double d1, d2;
            int p1, p2;
            int opcion;

            Console.Write("1º) Suma" + "\n" + "2º) Resta" + "\n" + "3º) Multiplicación" + "\n" + "4º) División" + "\n" + "5º) Potencia " + "\n");
            Console.Write("Seleccione una opción: \n");
            opcion = Convert.ToInt16(Console.Read());
            opcion -= 0x30;
            switch (opcion)
            {

                case 1:
                    Console.WriteLine("Escriba el primer entero: ");
                    Console.ReadLine();
                    s1 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo entero:\n");
                    Console.ReadLine();
                    s2 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("La suma es: {0}", Suma(s1, s2));
                    break;

                case 2:
                    Console.WriteLine("Escriba el primer entero:");
                    Console.ReadLine();
                    r1 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo entero: ");
                    Console.ReadLine();
                    r2 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("La resta es:{0}", Resta(r1, r2));
                    break;

                case 3:
                    Console.WriteLine("Escriba el primer numero:");
                    Console.ReadLine();
                    m1 = (Convert.ToSingle(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo numero: ");
                    Console.ReadLine();
                    m2 = (Convert.ToSingle(Console.Read())) - 0x30;
                    Console.WriteLine("La multiplicacion es:{0}", Multiplicacion(m1, m2));
                    break;

                case 4:
                    Console.WriteLine("Escriba el primer numero:");
                    Console.ReadLine();
                    d1 = (Convert.ToDouble(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo numero: ");
                    Console.ReadLine();
                    d2 = (Convert.ToDouble(Console.Read())) - 0x30;
                    Console.WriteLine("La division es:{0}", Division(d1, d2));
                    break;

                case 5:
                    Console.WriteLine("Escriba el primer entero:");
                    Console.ReadLine();
                    p1 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("Escriba el segundo entero: ");
                    Console.ReadLine();
                    p2 = (Convert.ToInt32(Console.Read())) - 0x30;
                    Console.WriteLine("La potencia es:{0}", Potencia(p1, p2));
                    break;

            }
            Console.ReadKey();
        }
    }
} 



la verdad apenas inicio programacion

De antemano gracias




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)