public void Menu() //Método que muestra un pequeño menú para que el usuario pueda elegir la operación que quiera realizar { Operacion op = new Operacion(); //Para esto, debo instanciar un objeto de la clase operacion para utilizar sus metodos suma resta multiplicacion y division Valores x = new Valores(); //y un objeto de la clase valores para utilizar sus variables para guardar los datos ingresados por el usuario int n; double res; //La variable n se utiliza para la condición a la hora de elegir una opción del menú //la variable res guardará el valor retornado por el método que realize la opción seleccionada Console.WriteLine("Seleccione la operación a realizar\n1.-Sumar\n2.-Restar\n3.-Multiplicar\n4.-Dividir\n5.-Salir"); //Menú que se mostrará al usuario n = Convert.ToInt32(Console.ReadLine()); if (n != 5) //Si el valor ingresado por el usario es diferente de 5 entonces el programa le pedirá 2 valores numericos { Console.WriteLine("Ingrese un valor"); x.Valor1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Ingrese un valor"); x.Valor2 = Convert.ToDouble(Console.ReadLine()); //Los valores ingresados se guardarán en las variables que he declarado en la clase valores switch (n) { case 1: res = op.Sumar(x.Valor1, x.Valor2); //Si el usuario introduce 1, mostrará el resultado de la suma de los valores que ingresó Console.WriteLine("El resultado de {0} + {1} es: {2}\n", x.Valor1, x.Valor2, res); break; case 2: res = op.Restar(x.Valor1, x.Valor2); //Si el usuario introduce 2 mostrará el resultado de la resta de los valores que ingresó Console.WriteLine("El resultado de {0} - {1} es: {2}\n", x.Valor1, x.Valor2, res); break; case 3: res = op.Multiplicar(x.Valor1, x.Valor2); //Si el usuario introduce 3, mostrará el resultado del producto de los valores que ingresó Console.WriteLine("El resultado de {0} * {1} es: {2}\n", x.Valor1, x.Valor2, res); break; case 4: res = op.Dividir(x.Valor1, x.Valor2); //Si el usuario introduce 4, mostrará el resultado de la división de los valores que ingresó Console.WriteLine("El resultado de {0} / {1} es: {2}\n", x.Valor1, x.Valor2, res); break; default: Console.WriteLine("Debe ingresar un valor valido\n"); //En caso de introducir cualquier otro valor que no se encuentre en el switch o en el if, //mostrará el mensaje de que la opción es invalida y volverá al menú break; } Menu(); //Se vuelve a ejecutar el menú en caso de que el usario quiera realizar otra operación } else { Console.WriteLine("ADIOS"); //Si el valor ingresado es 5 entonces terminará el programa y mostrará un mensaje } Console.ReadKey(); }
//Se crea el metodo menú para que el usuario pueda elegir entre las opciones public void Menu() { Console.WriteLine("1-Sumar"); Console.WriteLine("2-Restar:"); Console.WriteLine("3-Multiplicar"); Console.WriteLine("4-Dividir"); Console.WriteLine("5-Salir"); //Se crea una variable de tipo int para que el usuario elija una de las opciones que tiene en el menú. int O = Convert.ToInt32(Console.ReadLine()); //Se instancia la clase operaciones para acceder a los metodos de ella dependiendo el switch. Operacion M = new Operacion(); do//Se crea el ciclo do-while para que el usuario pueda seguir utilizando la calculadora mientras el lo desee { //Se crea la variable donde se guardaran los resultados double R = 0; //Se instancia la clase valores para poder acceder a los atributos donde el usuario llenara sus datos. Valores Resultado1 = new Valores(); switch (O)//Utilice un switch para que el usuario pueda elegir entre las opciones del menú { case 1: //Se pide que el usuario ingrese los valores con los que realizara la operación Console.WriteLine("Ingresa dos valores:"); Console.WriteLine("Ingresa valor A:"); Resultado1.valorA = Convert.ToDouble(Console.ReadLine()); //Se usa para que el usuario ingrese cualquier dato de tipo double Console.WriteLine("Ingresa valor B:"); Resultado1.valorB = Convert.ToDouble(Console.ReadLine()); R = M.Sumar(Resultado1); //Se manda como parametro Resultado1 el cual contiene los datos que ingreso el usuario. //Cabe destacar que se utiliza M ya que esta contiene los metodos de la clase operación que se usaran dependiendo la //Elección del usuario. Console.Clear(); //Utilizas Console.Clear() para limpiar los residuos y no se acumulen en cada repetición break; case 2: Console.WriteLine("Ingresa dos valores:"); Console.WriteLine("Ingresa valor A:"); Resultado1.valorA = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Ingresa valor B:"); Resultado1.valorB = Convert.ToDouble(Console.ReadLine()); R = M.Restar(Resultado1); Console.Clear(); break; case 3: Console.WriteLine("Ingresa dos valores:"); Console.WriteLine("Ingresa valor A:"); Resultado1.valorA = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Ingresa valor B:"); Resultado1.valorB = Convert.ToDouble(Console.ReadLine()); R = M.Multiplicar(Resultado1); Console.Clear(); break; case 4: Console.WriteLine("Ingresa dos valores:"); Console.WriteLine("Ingresa valor A:"); Resultado1.valorA = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Ingresa valor B:"); Resultado1.valorB = Convert.ToDouble(Console.ReadLine()); R = M.Dividir(Resultado1); Console.Clear(); break; case 5: Salir(); //Se llama a la función salir() la cual se encuentra dentro de esta clase para dar cierre al programa. break; default: Console.WriteLine("Valor no encontrado"); //En default deje la posibilidad de que el usuario no ingrese alguna de las opciones // del menú para que asi le mande un mensaje donde le diga que no se encuentra el valor que el ingreso si gusta "realizar otra operación" //asi sin cerrar el programa ya que el usuario podria haberse equivocado pero sin querer salir del programa Console.ReadKey(); Console.Clear(); break; } Console.WriteLine("¿Desea realizar otra operación?"); Menu(); } while (O != 5);//Mientras la opción sea distinta a la opción salir la cual es la 5, este ciclo se seguira repitiendo. }
public void Menu() { Console.Clear(); Console.WriteLine("Que deseas realizar con los valores {0} y {1}: ", v.ValorA, v.ValorB); double res; Console.WriteLine("-----------------------------------------"); Console.WriteLine("Este es nuestro menú:"); Console.WriteLine("Elige una opción\n" + "\n1.- Suma" + "\n2.- Resta" + "\n3.- Multiplicación" + "\n4.- División" + "\n5.- Salir del programa"); n = Convert.ToInt16(Console.ReadLine()); Operacion op = new Operacion(); switch (n) { case 1: // Aqui le damos el valor del metodo suma a res y llamamos al menu para ver si el usuario quiere hacer otra operacion // con los valores que ingreso res = op.Sumar(v); Console.WriteLine("El resultado de la suma es: " + res); Console.ReadKey(); Menu(); break; case 2: res = op.Restar(v); Console.WriteLine("El resultado de la resta es: " + res); Console.ReadKey(); Menu(); break; case 3: res = op.Multiplicar(v); Console.WriteLine("El resultado de la multiplicaciún es: " + res); Console.ReadKey(); Menu(); break; case 4: // Aqui hice un if algo sencillo, ya que la computadora al hacer valor/0 da 0 // por lo tanto el if me sirve para que si res es diferente a 0 me imprima el número // pero si es igual a 0 me mande un mensaje diciendo Math error res = op.Dividir(v); if (res != 0) { Console.WriteLine("El resultado de la división es: " + res); Console.ReadKey(); } else if (res == 0) { Console.WriteLine("Math Error"); Console.ReadKey(); } Menu(); break; case 5: Console.WriteLine("Hasta luego"); break; default: Console.WriteLine("Esta opción no se encuentra en el menu"); Console.ReadKey(); Menu(); break; } }