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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Volver a ejecutar un menu en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Volver a ejecutar un menu en C++  (Leído 2,835 veces)
Kougami

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Volver a ejecutar un menu en C++
« en: 19 Diciembre 2016, 16:42 pm »

Buenas,
Una pregunta, existe algun modo de que si un programa tiene un menu de opciones que al elegir una opcion ejeute una serie de funciones y que cuando termine de ejecutar las opciones vuelva a aparecer el menu y pueda seleccionar otra opcion distinta??

Muchas gracias de antemano


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Volver a ejecutar un menu en C++
« Respuesta #1 en: 19 Diciembre 2016, 16:45 pm »

para eso usas while


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Kougami

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Re: Volver a ejecutar un menu en C++
« Respuesta #2 en: 19 Diciembre 2016, 16:49 pm »

Como??
Aqui dejo mi codigo para que lo veas
Código
  1. /**********MENU**********/
  2.  
  3. void mostrarMenu(){
  4. cout <<"1 - Generar la serie" <<endl;
  5. cout <<"2 - Buscar en la serie"<<endl;
  6. cout <<"0 - Salir"<<endl;
  7. cout <<"Opción: ";
  8. }
  9.  
  10. bool esOpcionValida(int opc){
  11. return opc==1 || opc==2 || opc==0;
  12. }
  13.  
  14. int leerOpcion(int& opc){
  15. cin >> opc;
  16. while(cin.fail() || !esOpcionValida(opc)){
  17. cin.clear();
  18. cin.sync();
  19. cout <<"ERROR: La opción introducida no es válida" <<endl;
  20. mostrarMenu();
  21. cin >> opc;
  22. }
  23. return opc;
  24. }
  25.  
  26. int menu(int opc){
  27. mostrarMenu();
  28. opc=leerOpcion(opc);
  29. return opc;
  30. }
  31.  
  32. void _Opcion1(){
  33. generar_y_escribir();
  34. }
  35.  
  36. void _Opcion2(){
  37. int num;
  38. pedirNum (num, "Valor absoluto del elmento a buscar: ");
  39. buscar (num);
  40. mostrar (num);
  41. }
  42.  
  43. void _Opcion0(){
  44. salir();
  45. }
  46.  
  47. void ejecutarOpciones(int opc){
  48. switch(opc){
  49. case 1: _Opcion1(); break;
  50. case 2: _Opcion2(); break;
  51. case 0: _Opcion0(); break;
  52. }
  53. }
  54.  
  55. /**********MAIN**********/
  56.  
  57. int main(int argc, char** args){
  58. setlocale(LC_ALL, "spanish");
  59. int opc;
  60. opc=menu(opc);
  61. ejecutarOpciones(opc);
  62. system ("pause");
  63. return 0;
  64. }
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Volver a ejecutar un menu en C++
« Respuesta #3 en: 19 Diciembre 2016, 17:08 pm »

más facil aún porqeu lo tienes como funciones... siempre que opc no sea 0, el ciclo se repite
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Kougami

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Re: Volver a ejecutar un menu en C++
« Respuesta #4 en: 19 Diciembre 2016, 17:11 pm »

Vale, osea que en el main quedaria asi:
Código
  1. int main(int argc, char** args){
  2. setlocale(LC_ALL, "spanish");
  3. int opc;
  4. while (opc!=0){
  5. opc=menu(opc);
  6. ejecutarOpciones(opc);
  7. }
  8. system ("pause");
  9. return 0;
  10. }
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Volver a ejecutar un menu en C++
« Respuesta #5 en: 19 Diciembre 2016, 17:16 pm »

si haces eso, como no asignas valor original a opc, puede contener valor, ese puede ser 0 y nunca entrar...  puedes hacerlo dandole un valor diferente a 0 o

Código
  1. do{
  2. opc=menu(opc);
  3. ejecutarOpciones(opc);
  4. }while (opc!=0);
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Volver a ejecutar una clase main
Programación C/C++
Danyel_Casvill 5 7,453 Último mensaje 6 Febrero 2011, 22:49 pm
por BlackZeroX
(solucionado)volver menu principal
Programación C/C++
cundre 7 6,218 Último mensaje 11 Febrero 2011, 17:18 pm
por cundre
Volver al menú principal sin usar goto « 1 2 3 »
Programación C/C++
martin_poipon 20 15,175 Último mensaje 3 Julio 2011, 11:19 am
por Foxy Rider
[Lenguaje C] Volver al menu principal « 1 2 »
Programación C/C++
Whiteseba 11 23,719 Último mensaje 5 Marzo 2012, 01:28 am
por Whiteseba
volver a ejecutar sin salir del menu en c++
Programación General
aqnn1 6 3,223 Último mensaje 23 Abril 2020, 17:23 pm
por Emertech
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines