using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MiCalculadora { class Program { static void Main(string[] args) { String num1Str = ""; String num2Str = ""; float num1 = 0; float num2 = 0; float resultado = 0; String operacion =""; int opcion; do { Console.WriteLine("NUMBER CRUNCHER 3000"); Console.WriteLine("--------------------"); Console.WriteLine("1. Sumar"); Console.WriteLine("2. Restar"); Console.WriteLine("3. Multiplicar"); Console.WriteLine("4. Dividir"); Console.WriteLine("5. SALIR"); Console.Write("Elige una opción: "); opcion = Int32.Parse(Console.ReadLine()); if (opcion >= 1 && opcion <= 4) { Console.Write("\nIntroduce el primer numero: "); num1Str = Console.ReadLine(); num1 = MiParse(num1Str); Console.Write("Introduce el segundo numero: "); num2Str = Console.ReadLine(); num2 = MiParse(num2Str); } switch (opcion) { case 1: resultado = num1 + num2; operacion = "suma"; break; case 2: resultado = num1 - num2; operacion = "resta"; break; case 3: resultado = num1 * num2; operacion = "multiplicación"; break; case 4: resultado = num1 / num2; operacion = "división"; break; case 5: Console.WriteLine("\n Ha sido un placer, hasta pronto"); break; default: Console.WriteLine("\nOpción incorrecta\n"); break; } if (!opcion.Equals(5)) { Console.WriteLine("\nEl resultado es de la " + operacion + " es: " + resultado + "\n"); } } while (!opcion.Equals(5)); Console.ReadLine(); } static float MiParse(String str) { if (CuentaCaracteres(str, '.').Equals(1) && !CuentaCaracteres(str, ',').Equals(1)) { str = str.Replace(".", ","); //Console.WriteLine(str); } return (float.Parse(str)); } static int CuentaCaracteres(String str, char c) { int cantidad = 0; foreach (char k in str) { if (k.Equals(c)) {cantidad++;} } return(cantidad); } } }