• Domingo 17 de Noviembre de 2024, 17:49

Autor Tema:  [Solucionado] Duda acerca de Menú basado en Switch  (Leído 4036 veces)

DUBSTER

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
[Solucionado] Duda acerca de Menú basado en Switch
« en: Jueves 11 de Julio de 2013, 03:07 »
0
Hola,

Empezaré una aplicación de consola que contiene un Menú basado en Switch, lo que hace es que te pide dos opciones al principio (Ir a un submenú o salir del programa), si escojo la opción del submenú me lleva a otro menú (para eso tuve que meter un switch dentro de otro). Lo que quiero saber es si es posible que en el submenú elija una opción para volver al menú principal me lleve a él y al leer nuevamente la opción se ejecute esta.

Mi código es el siguiente:

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Menu {
    class Program {
        public static int submenu;
        public static int opcion;
        public static void Menu() {
                Console.WriteLine("Escoje una opción:");
                Console.WriteLine("[1] Submenú");
                Console.WriteLine("[2] Salir del programa");
                Console.Write("Opción: ");
        }
        public static void Submenu() {
                Console.WriteLine("Elige una de las siguientes opciones:");
                Console.WriteLine("[1] Opción 1");
                Console.WriteLine("[2] Ir al menú principal");
                Console.Write("Opción: ");
        }
        static void Main(string[] args) {
            Menu();
            submenu = int.Parse(Console.ReadLine());
            switch (submenu) {
                case 1:
                    Submenu();
                    opcion = int.Parse(Console.ReadLine());
                    switch (opcion) {
                        case 1: Console.WriteLine("Escojiste la opción 1"); break;
                        case 2: break; // En esta parte quiero que me regrese al menú principal (switch submenu);
                    }
                    break;
            }
            Console.ReadKey();
        }
    }
}

¡Saludos!
« última modificación: Jueves 11 de Julio de 2013, 21:32 por DUBSTER »

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Duda acerca de Menú basado en Switch
« Respuesta #1 en: Jueves 11 de Julio de 2013, 18:32 »
0
Hola UBSTER, Bienvenido al foro.

Mira la forma en que lo estas haciendo no es de lo mas correcta.

En lugar de poner una opcion para regresar al submenu, se debe utilizar un ciclo do..while, para garantizar que en ciclo se repite hasta que le das la opcion de regresar, entonces en la condicion del while pones la opcion para que el ciclo se repita, en este caso que la opcion sea diferente de 2, ya que si es 2 debe salir

Quizas no me entiendas claramente pero te dejo el codigo, asi quedara todo mas claro

Código: [Seleccionar]
        static void Main(string[] args)
        {
            do
            {
                Menu();
                submenu = int.Parse(Console.ReadLine());
                switch (submenu)
                {
                    case 1:
                        do
                        {
                            Submenu();
                            opcion = int.Parse(Console.ReadLine());
                            switch (opcion)
                            {
                                case 1: Console.WriteLine("Escojiste la opción 1"); break;
                            }
                        }   
                        while (opcion != 2); //Si la opcion no es 2, repetir el ciclo a partir del do
                        break;
                }
            }
            while (submenu != 2); //Si submenu no es 2, repetir el ciclo a partir del do
            Console.ReadKey();
        }

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

DUBSTER

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re:Duda acerca de Menú basado en Switch
« Respuesta #2 en: Jueves 11 de Julio de 2013, 21:31 »
0
Muchas gracias ProfesorX, me sirvió mucho tu explicación.

Y disculpa por no presentarme, soy nuevo en este foro y me alegro haberlo encontrado.


Saludos.