public static void Main()
Console.WriteLine(Matematicas.Calcular("98.7:*:1.2"));
Console.WriteLine(Matematicas.Calcular("56:-:32"));
Console.WriteLine(Matematicas.Calcular("7896321"));
Console.WriteLine("Operacion fallida", e.Message);
static public double Calcular(string cadenaOperacion)
operandos = cadenaOperacion.Split(separador);
if (EsNumerico(operandos[0]) && EsOperador(operandos[1]) && EsNumerico(operandos[2]))
return result = calculoOperaciones(operandos);
static private double calculoOperaciones(string[] operandos)
double sumando1 = Convert.ToDouble(operandos[0]);
double sumando2 = Convert.ToDouble(operandos[2]);
resultado = sumando1 + sumando2;
double minuendo = Convert.ToDouble(operandos[0]);
double sustraendo = Convert.ToDouble(operandos[2]);
resultado = minuendo - sustraendo;
double factor1 = Convert.ToDouble(operandos[0]);
double factor2 = Convert.ToDouble(operandos[2]);
resultado = factor1 * factor2;
double dividendo = Convert.ToDouble(operandos[0]);
double divisor = Convert.ToDouble(operandos[2]);
resultado = dividendo / divisor;
Console.WriteLine("ERROR. División por cero: "+ e.Message);
throw new InvalidOperationException("No se pudo realizar la operación");
static private bool EsNumerico(string cadena)
Convert.ToDouble(cadena);
static private bool EsOperador(string cadena)
if (cadena.Equals("-") || cadena.Equals("+") || cadena.Equals("*") || cadena.Equals("/"))