Tema: Menu c++
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/05/2009, 00:10
Avatar de fradve
fradve
 
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años, 8 meses
Puntos: 7
Respuesta: Menu c++

Hola,

En tu codigo veo que la función menú hace uso de recursividad (se llama a si misma), lo cual veo inncesario. Porque no haces el proceso del bucle en el main o hazlo todo dentro de la función pero que devuelva void, no es necesaria la asignación del tecer case, porque dicho valor ya lo ingresaste por teclado.

Tu función está así:

Código c++:
Ver original
  1. int menu()
  2. {
  3.  clrscr();
  4.  int opc=0, temp=0;
  5.  cout<< "1.Conteo de Vocal\n";
  6.  cout<< "2.Calculo de edad\n";
  7.  cout<< "3.Salir\n ";
  8.  cout<< "Digite opcion ";
  9.  cin>>opc;
  10.  
  11.  while ((opc != 3)&&(temp != 3))
  12.  {
  13.   switch (opc)
  14.    {
  15.     case 1: convoc(); menu(); break;
  16.     case 2: nac(); menu(); break;
  17.     case 3: opc = 3; temp = 3; break;
  18.    }
  19.   }
  20.  return 0;
  21. }

con el primer cambio que te comente sería:

Código c++:
Ver original
  1. int menu()
  2. {
  3.  clrscr();
  4.  int opc=0;
  5.  cout<< "1.Conteo de Vocal\n";
  6.  cout<< "2.Calculo de edad\n";
  7.  cout<< "3.Salir\n ";
  8.  cout<< "Digite opcion ";
  9.  cin>>opc;
  10.  return opc;
  11. }
  12.  
  13. void main()
  14. {
  15.   int op=0;
  16.  while (op != 3)
  17.  {
  18.   clrscr();
  19.   op=menu();
  20.   switch (op)
  21.    {
  22.     case 1: convoc(); break;
  23.     case 2: nac();
  24.    }
  25.   }
  26. }

La segunda forma sería:

Código c++:
Ver original
  1. void menu()
  2. {
  3.   int opc=0;
  4.  
  5.  while (opc != 3)
  6.  {
  7.     clrscr();
  8.     cout<< "1.Conteo de Vocal\n";
  9.     cout<< "2.Calculo de edad\n";
  10.     cout<< "3.Salir\n ";
  11.     cout<< "Digite opcion ";
  12.     cin>>opc;
  13.  
  14.     switch (opc)
  15.     {
  16.      case 1: convoc(); break;
  17.      case 2: nac();
  18.     }
  19.  }
  20. }
  21.  
  22. void main()
  23. {
  24.    menu();
  25. }

Espero que te sea de mucha ayuda.

Saludos
__________________
En programación hay mil y un formas de hacer lo mismo...

Última edición por fradve; 23/05/2009 a las 00:13 Razón: palabra