Hola a todos, hoy os voy a explicar como podemos hacer un menú de opciones en consola con C#.
Es normal que una aplicación le demos una serie de opciones al usuario para que pueda realizar distintas opciones sin un orden definido.
Vamos a explicar paso a paso como se puede hacer un simple menú de X opciones.
Lo primero es crear un bool y un while que usaremos hasta que el usuario elija salir:
bool salir = false; while (!salir) { }
Ahora colocaremos las opciones a mostrar y una variable opcion con la opción elegida por el usuario:
bool salir = false; while (!salir) { Console.WriteLine("1. Opción 1"); Console.WriteLine("2. Opción 2"); Console.WriteLine("3. Opción 3"); Console.WriteLine("4. Salir"); Console.WriteLine("Elige una de las opciones"); int opcion = Convert.ToInt32(Console.ReadLine()); }
Después, con un switch, indicamos que acción realizar.
bool salir = false; while (!salir) { Console.WriteLine("1. Opción 1"); Console.WriteLine("2. Opción 2"); Console.WriteLine("3. Opción 3"); Console.WriteLine("4. Salir"); Console.WriteLine("Elige una de las opciones"); int opcion = Convert.ToInt32(Console.ReadLine()); switch (opcion) { case 1: Console.WriteLine("Has elegido la opción 1"); break; case 2: Console.WriteLine("Has elegido la opción 2"); break; case 3: Console.WriteLine("Has elegido la opción 3"); break; case 4: Console.WriteLine("Has elegido salir de la aplicación"); salir = true; break; default: Console.WriteLine("Elige una opcion entre 1 y 4"); break; } }
Si queremos controlar que el usuario introduzca un número, pondremos un try catch para controlarlo.
bool salir = false; while (!salir) { try { Console.WriteLine("1. Opción 1"); Console.WriteLine("2. Opción 2"); Console.WriteLine("3. Opción 3"); Console.WriteLine("4. Salir"); Console.WriteLine("Elige una de las opciones"); int opcion = Convert.ToInt32(Console.ReadLine()); switch (opcion) { case 1: Console.WriteLine("Has elegido la opción 1"); break; case 2: Console.WriteLine("Has elegido la opción 2"); break; case 3: Console.WriteLine("Has elegido la opción 3"); break; case 4: Console.WriteLine("Has elegido salir de la aplicación"); salir = true; break; default: Console.WriteLine("Elige una opcion entre 1 y 4"); break; } } catch (FormatException e) { Console.WriteLine(e.Message); } }
Os dejo el ejemplo completo:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ejemplo_menu { class Program { static void Main(string[] args) { bool salir = false; while (!salir) { try { Console.WriteLine("1. Opción 1"); Console.WriteLine("2. Opción 2"); Console.WriteLine("3. Opción 3"); Console.WriteLine("4. Salir"); Console.WriteLine("Elige una de las opciones"); int opcion = Convert.ToInt32(Console.ReadLine()); switch (opcion) { case 1: Console.WriteLine("Has elegido la opción 1"); break; case 2: Console.WriteLine("Has elegido la opción 2"); break; case 3: Console.WriteLine("Has elegido la opción 3"); break; case 4: Console.WriteLine("Has elegido salir de la aplicación"); salir = true; break; default: Console.WriteLine("Elige una opcion entre 1 y 4"); break; } } catch (FormatException e) { Console.WriteLine(e.Message); } } Console.ReadLine(); } } }
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta