elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Regresar al menu principal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Regresar al menu principal  (Leído 9,353 veces)
Ale1011

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Regresar al menu principal
« en: 4 Junio 2017, 21:26 pm »

Necesito ayuda tengo que regresar al menu principal desde las tres opciones de mi menu
tengo en la primera opcion tengo que preguntar si desea hacer otro calculo s/n si pone n debe regresar al menu principal, y en las otras dos opciones tengo un submenu y tengo que regresar al menu principal

aqui esta mi codigo

#include <iostream>
#include <windows.h>
#include <stdlib.h>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void gotoxy(int x, int y){
   HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
   COORD dwPos;
   dwPos.X = x;
   dwPos.Y = y;
   SetConsoleCursorPosition(hcon, dwPos);
}

int main(int argc, char** argv)
 {
    int opcion, base , lado , altura, radio, area, perim , numla, i=1, n, acum, pre, cost, cost1, iva, mult, y=1;
    const double pi=3.1416;
    char S, N;
   
 

       gotoxy(35,1);cout<<"MENU"<<endl;
       gotoxy(35,2);cout<<"1) Calcular costo total de 4 productos"<<endl;
         gotoxy(35,3);cout<<"2) Calcular el area de figuras geometricas"<<endl;
        gotoxy(35,4);cout<<"3) Tabla de multiplicar"<<endl;
       gotoxy(35,5);cout<<"4) Salir"<<endl;
        gotoxy(35,6);cout<<"Ingrese una opcion: ";
       cin>>opcion;
       system("cls");
   
       switch(opcion)
       {
           case 1:
                do{          
                      cout<<"Calcular costo total de N productos"<<endl;
              
                       cout<<"Introduzca la cantidad de productos: ";
                       cin>>n;
                       acum=0;
                      
                       for(i=1;i<=n;i++)
                       {
                          cout<<"Introduzca el precio del producto: ";
                          cin>>pre;
                        acum=acum+pre;
                  }
                    cost=acum;
                    iva=cost*0.15;
                    cost1=cost+iva;
                    cout<<"El precio es: "<<cost<<endl;
                    cout<<"El iva es de: "<<iva<<endl;
                    cout<<"El costo total es: "<<cost1<<endl;
                   
                      cout<<"Desea otro calculo ? s/n: ";
                      cin>>S;
                      system("cls");
                       }while(S=='s');      
                    break;
                   //aqui si pone n debe regresar al menu principal
         case 2:
         
                 do{
               
                    cout<<"Calcular area de figuras geometricas"<<endl;
                     
                    gotoxy(35,1);cout<<"1) TRIANGULO"<<endl;
                    gotoxy(35,2);cout<<"2) CUADRADO"<<endl;
                    gotoxy(35,3);cout<<"3) RECTANGULO"<<endl;
                    gotoxy(35,4);cout<<"4) CIRCULO"<<endl;
                    gotoxy(35,5);cout<<"5) POLIGONO"<<endl;
                    gotoxy(35,6);cout<<"6) REGRESAR AL MENU PRINCIPAL"<<endl;
                        gotoxy(35,7);cout<<"Ingrese una opcion: ";             
                    cin>>opcion;
                    system("cls");
                  
                    switch(opcion)
                    {
                     case 1:
                            cout<<"SELECCIONASTE CALCULAR EL AREA DEL TRIANGULO"<<endl;
                    
                             cout<<"introduzca la longitud de la base: ";
                                  cin>>base;
                                  cout<<"introduzca la altura: ";
                                  cin>>altura;
                           
                              area=(base*altura)/2;
                           
                           cout<<"El area es: "<<area<<endl;
                              break;
      
                        case 2:   
                           cout<<"SELECCIONASTE CALCULAR EL AREA DEL CUADRADO"<<endl;
                             
                               cout<<"introduzca la longitud de lado: ";
                               cin>>lado;
                               
                          area=lado*lado;
                             
                           cout<<"El area es: "<<area<<endl;                                     
                           break;
      
                        case 3:
                                cout<<"SELECCIONASTE CALCULAR EL AREA DEL RECTANGULO"<<endl;
                              
                                cout<<"introduzca la longitud de la base: ";
                                  cin>>base;
                                  cout<<"introduzca la altura: ";
                                  cin>>altura;
                                 
                          area=base*altura;
                                 
                          cout<<"El area es: "<<area<<endl;                                                         
                            break;
      
                        case 4:                               
                                cout<<"SELECCIONASTE CALCULAR EL AREA DEL CIRCULO"<<endl;
                                 
                                 cout<<"introduzca el radio del circulo: ";
                              cin>>radio;
                                 
                          area=(radio*radio)*pi;
                                  
                          cout<<"El area es: "<<area<<endl;                                                                           
                         
                    case 5:
                          cout<<"SELECCIONASTE CALCULAR EL PERIMETRO DEL POLIGONO"<<endl;
                                
                          cout<<"Introduzca el numero de lados del poligono: ";
                          cin>>numla;
                          cout<<"Introduzca la medida de los lados: ";
                          cin>>lado;
                                
                          perim= numla*lado;
                                
                          cout<<"El perimetro es: "<<perim<<endl;
                             
                          case 6:
                            cout<<endl;    
                          break;         
                                    
                      gotoxy(40,6);cout<<"Desea regresar al menu geometrico? s/n: ";
                       cin>>S;
                       system("cls");
                       }while(S=='s');
            //aqui si pone n debe regresar al submenu y del submenu debe regresar al menu principal
          
         case 3:                  
                  do{
                                            
                       gotoxy(35,1);cout<<"1) Tabla del 1"<<endl;
                       gotoxy(35,2);cout<<" "<<endl;
                       gotoxy(35,3);cout<<"2) Tabla del 2"<<endl;
                       gotoxy(35,4);cout<<" "<<endl;
                       gotoxy(35,5);cout<<"3) Tabla del 3"<<endl;
                       gotoxy(35,6);cout<<" "<<endl;
                       gotoxy(35,7);cout<<"4) Tabla del 4"<<endl;
                       gotoxy(35,8);cout<<" "<<endl;
                       gotoxy(35,9);cout<<"5) Tabla del 5"<<endl;
                       gotoxy(35,10);cout<<" "<<endl;
                          gotoxy(35,11);cout<<"6) Tabla del 6"<<endl;
                    gotoxy(35,12);cout<<" "<<endl;                     
                          gotoxy(35,13);cout<<"7) Tabla del 7"<<endl;
                    gotoxy(35,14);cout<<" "<<endl;                     
                       gotoxy(35,15);cout<<"8) Tabla del 8"<<endl;
                       gotoxy(35,16);cout<<" "<<endl;
                       gotoxy(35,17);cout<<"9) Tabla del 9"<<endl;
                       gotoxy(35,18);cout<<" "<<endl;
                     gotoxy(35,19);cout<<"10) Tabla del 10"<<endl;                  
                    cout<<"Ingrese una opcion: ";
                    cin>>opcion;
                    system("cls");
                   
                    switch(opcion)
                    {
                       
                                             
                           case 1:
                                   for(i=1;i<=10;i++)
                                  {
                                      mult=opcion*i;
                                  
                                      cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                   }break;
                       
                            case 2:
                                     for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                   
                                      gotoxy(20,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;
                              
                            case 3:
                                 for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(40,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;
                             
                          case 4:
                                  for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(60,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;        
                              
                             case 5:
                                 for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(80,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;   
                          
                            case 6: 
                                    y=14;
                                    for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                       gotoxy(1,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;
                       
                            case 7:
                                    y=14;
                                    for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(20,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;
                       
                            case 8:
                                    y=14;
                                    for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(40,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;
                          
                          case 9:
                                  y=14;
                                    for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(60,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;
                        
                          case 10:
                                  y=14;
                                    for(i=1;i<=10;i++)
                                   {
                                      mult=opcion*i;
                                  
                                      gotoxy(80,y);cout<<opcion<<" x "<<i<<" = "<<mult<<endl;
                                      y++;
                                   }break;                                  
                               }
                         
                         gotoxy(45,27);cout<<"Desea otra tabla? s/n: ";
                              cin>>S;
                              system("cls");
                               }while(S=='s');
                //aqui si es n debe regresar al submenu de tablas y desde el submenu regresar al menu principal
       
            case 4:
                    system("cls");
                    cout<<"Gracias por su visita!"<<endl;
                    break;
   }
      
   
    
    
    
    
   return 0;
}


En línea

n-utz

Desconectado Desconectado

Mensajes: 165

Babylon es el vampiro!


Ver Perfil
Re: Regresar al menu principal
« Respuesta #1 en: 5 Junio 2017, 14:28 pm »

El problema es que tenes todo en el main, solamente veo posible volver al "menu principal" con un goto, lo cual es muy inestable.

Te sugiero tener el menu principal en el main, y con cada opcion ir llamando a una funcion que realice el procedimiento pedido. A partir de ahi, regresar al menu principal seria tan simple como poner return, o volver a realizar ese procedimiento, llamando a esa funcion en la cual ya estamos.

No sé si me entendes. Pero lo màs fiable sería separar tu programa en distintos bloques/funciones.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Regresar al menu anterior
Programación C/C++
Zakro 1 7,137 Último mensaje 23 Mayo 2011, 08:11 am
por <<<-Basura->>>
REGRESAR A MENU ANTERIOR CASE EN JAVA
Java
ArmandoQuintero 4 41,327 Último mensaje 3 Julio 2013, 16:37 pm
por ~ Yoya ~
Como regresar al menu principal
Java
JoseRiiivera 1 5,226 Último mensaje 28 Abril 2014, 08:37 am
por gordo23
MOVIDO: Como regresar al menu principal
Programación C/C++
Eternal Idol 0 1,912 Último mensaje 26 Abril 2014, 22:37 pm
por Eternal Idol
ayuda xd regresar al menu con do while dev c++!!1
Programación C/C++
el1000erroresxd 4 7,053 Último mensaje 5 Junio 2016, 01:24 am
por el1000erroresxd
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines