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.