[ Foro de C# ]
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.)