Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Donka

#1
Utilizo unicamente el switch(opcion) ?

Y un do while que valide la entrada de datos del primer menu?

Como hago para volver al menu principal desde una 2da pantalla?

Gracias por la respuesta :D
#2
Programación C/C++ / [C] Consulta código
13 Marzo 2015, 23:56 PM
Estoy aprendiendo el lenguaje y al programar este código me sugirieron que modifique los "goto" y los "menuX", ya que quedan abiertos en memoria una vez llamados  :huh:

La idea del código es bastante simple, estar en un menu principal con varias opciones y poder ir y volver entre ellas.

Alguien me puede orientar un poco sobre las modificaciones que le tengo que hacer para que sea más eficiente?

Desde ya muchas gracias.  :)





Código (cpp) [Seleccionar]
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int opcion, eleccion, eleccion2, respuesta, rta;

   menu0:
   printf("\t\t---------BIENVENIDO---------\n");

   printf("Ingrese la opcion a realizar:\n");

   printf("1.- Ingresar clave\n");
   printf("2.- Salir\n\n");
   scanf("%d", &opcion);
   system("cls");

switch(opcion)
{
   menu1:
case 1: system("cls");
                       printf("1 - Mostrar ciudades\n");
                       printf("2 - Ingresar ciudades\n");
                       printf("8 - VOLVER MENU PRINCIPAL\n\n");
                       scanf("%d", &respuesta);
                       system("cls");

                       switch(respuesta)
                       {
                           menu11:
                           case 1: printf("\t-------- CIUDADES --------\n\n");
                                   printf("1) Ver Barcelona\n");
                                   printf("2) VOLVER\n");
                                   scanf("%d", &eleccion);
                                   system("cls");


                                   switch(eleccion)
                                   {
                                       case 1: printf("Cargando Barcelona...\n\n");
                                               printf("2.- VOLVER\n\n");
                                       scanf("%d", &rta);
                                       system("cls");

                                        if(rta==2)
                                               goto menu11;

                                       case 2: goto menu1;
                                   }
                           menu12:
                           case 2: printf("\t-------- INGRESAR CIUDADES --------\n\n");
                                   printf("1) Nueva ciudad\n");
                                   printf("2) VOLVER\n");
                                   scanf("%d", &eleccion2);
                                   system("cls");

                                   switch(eleccion2)
                                   {
                                       case 1: printf("Ingresando ciudad...\n\n");
                                               printf("2.- VOLVER\n\n");
                                       scanf("%d", &rta);
                                       system("cls");

                                       if(rta==2)
                                               goto menu12;

                                       case 2: goto menu1;
                                   }




                           case 8: printf("1.- \n");
                                   printf("2.- VOLVER\n");
                                   system("cls");
                                   goto menu0;


                           default:    system("cls");
                                       printf("\t\tERROR\n\tINGRESAR OPCION 1 - 8\n\n\n");
                                       system("pause");
                                       system("cls");
                                       goto menu1;
                       }

                       break;

case 2: printf("CERRANDO SISTEMA...\n\n\n");
                       break;

               default:system("cls");
                       printf("\t\tERROR\n\tINGRESAR OPCION 1 - 2\n\n\n");
                       system("pause");
                       system("cls");
                       goto menu0;
}

}


PD: No encontre la forma de cargar el código en esa ventanilla blanca :P

Mod: Para publicar código usa las etiquetas GeSHi que están ubicadas arriba a la derecha de los emoticonos en el editor de tema