Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: bamdrums en 18 Enero 2015, 08:13 am



Título: Ayuda con menú en c++
Publicado por: bamdrums en 18 Enero 2015, 08:13 am
Hola que tal compañeros del foro soy nuevo en la programación , en mi escuela tengo profesores malísimos  :( ya que faltan demasiado e inclusive llego a pensar que ni programar saben , pero bueno así es la situación y vengo a este foro en búsca de ayuda tengo este menú que ralicé.

El problema es que necesito que al estar en el menú pueda salir del programa con la tecla "esc" en vez de el número 3 , y también para regresar al menú después de entrar a una opción debe ser con la letra "s" , también tengo duda si la forma en la que hice el menú es la correcta ,  me corre bien el programa eso me hace suponer q tal vez no voy tan mal :s jeje , bueno espero que me puedan ayudar , quiero aprender a programar de forma correcta les agradecería mucho su ayuda :)

Código
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5.  
  6. struct alumnos
  7.  
  8. {
  9. char nom[50],semestre[50],grupo[50];
  10. float califi;
  11.  
  12.  
  13. } alumn [3];
  14.  
  15.  
  16. int main()
  17.  
  18. {
  19. int x,z;
  20. int opcion;
  21. float prom,T=0,*pprom;
  22. pprom=&prom;
  23.  
  24.  
  25. do{
  26. system ("cls");
  27. cout << "\n\t\t\t MENU DE OPCIONES  \n\n";
  28. cout << "\t 1.-CAPTURAR DADTOS DEL ALUMNO \n";
  29. cout << "\t 2.-INFORMACION DEL ALUMNO Y PROMEDIO GRUPAL \n";
  30. cout << "\t 3.-SALIR \n\n";
  31. cout << "\t ELIJA UNA OPCION:";
  32. cin >> opcion;
  33.  
  34. switch (opcion)
  35.  
  36. {
  37.  
  38. case 1:
  39.  
  40. for(x=0;x<3;x++)
  41.  
  42.  
  43. {
  44. fflush(stdin);
  45. system("cls");
  46.  
  47. cout<< "\t\t INGRESA LOS SIGUIENTES DATOS DEL ALUMNO\n\n\n";
  48.  
  49. cout<< "NOMBRE: ";  cin.getline(alumn[x].nom, 50);
  50.  
  51. cout<< "SEMESTRE: ";  cin.getline(alumn[x].semestre, 50);
  52.  
  53. cout<< "GRUPO: ";  cin.getline(alumn[x].grupo, 50);
  54.  
  55. cout<< "CALIFICACION: "; cin >> alumn[x].califi;
  56.  
  57. if (x==2)
  58.  
  59. {
  60. cout << "PRESIONA CUALQUIER TECLA PARA REGRESAR AL MENU";
  61. getch();
  62.  
  63.  
  64. }
  65.  
  66.  
  67.  
  68. }
  69.  
  70.  
  71. system("cls");
  72. break;
  73.  
  74.  
  75. case 2:
  76.  
  77. system ("cls");
  78.  
  79. for (z=0;z<3;z++)
  80.  
  81. {
  82. cout << "\n\tALUMNO" << "  " << (z+1) << "\n\n";
  83. cout << "\tNOMBRE:" <<alumn[z].nom <<endl
  84. << "\tSEMESTRE:"<<alumn[z].semestre <<endl
  85. << "\tGRUPO:"<<alumn[z].grupo <<endl
  86. << "\tCALIFICACION:"<<alumn[z].califi<<"\n\n" ;
  87.  
  88. T=T+alumn[z].califi;
  89. prom=T/3;
  90.  
  91. if(z==2)
  92.  
  93. {
  94. cout << "\n\t\t PROMEDIO GRUPAL: " << *pprom <<"\n\n\n";
  95. T=0;
  96. cout << "\t\tPRESIONA CUALQUIER TECLA PARA REGRESAR AL MENU";
  97.  
  98. }
  99.  
  100.  
  101. }
  102.  
  103. getch();
  104. system("cls");
  105. break;
  106.  
  107. case 3:
  108.  
  109. system("cls");
  110. return 0;
  111.  
  112. default:
  113.  
  114. system ("cls");
  115. cout << "\t\t\t ERROR!!!!!"<<endl
  116. <<"OPCION NO VALIDA PRESIONA UNA TECLA PARA REGRESAR AL MENU";
  117. getch();
  118. break;
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127. }
  128.  
  129. } while (opcion=3);
  130.  
  131.  
  132. }
  133.  
  134.