Como hacer un menú de opciones en consola con C#

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.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *