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:
|
1 2 3 4 5 |
bool salir = false; while (!salir) { } |
Ahora colocaremos las opciones a mostrar y una variable opcion con la opción elegida por el usuario:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
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.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
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.
Muy buen trabajo!!! Me sirvió muchísimo. Este mismo trabajo para visual .net en consola, podrás hacerlo??