Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: aqnn1 en 23 Abril 2020, 01:16 am



Título: volver a ejecutar sin salir del menu en c++
Publicado por: aqnn1 en 23 Abril 2020, 01:16 am
necesito ayuda lo que quiero hacer es volverlo a ejecutar sin salir, ayudaaaaaaaaaa me urge

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream>

int main ()
{
   int mes;
   printf("dame un numero del 1 al 12: ");
   scanf ("%i" , &mes);
   switch (mes){
   
   case 1: printf("es el mes enero, unas  de sus festividades son: año nuevo que es el 1ero de enero, dia del periodista que es el dia 4 de enero, y el dia de reyes el 6 de enero "); break;
   case 2: printf("es el mes febrero, donde se festeja el dia 2  de la candelaria, el dia 5 como aniversario de la constitucion politica de los estados unidos mexicanos, el dia 14 se celebra el dia de san valentin"); break;
   case 3: printf("es el mes marzo. donde se celebra el dia de la mujer el dia 8, y se conmemora el aniversario del natalicio de benito juarez el dia 21, ademas el dia 22 es el dia mundial del agua"); break;
   case 4: printf("es el mes abril, en este mes se festeja el 22 de abril el Dia de la Tierra, el 23 de abril el Dia del Libro y el 30 de abril el Dia del niño"); break;
   case 5: printf("es el mes mayo, el 1ero de este se celebra el dia del trabajo, mientras que el 10 se festeja el dia de las madres, y el 15 de mayo Dia del maestro, cabe destacar que este mes es uno de los meses que cuenta con mas celebraciones. "); break;
   case 6: printf("es el mes junio donde el 1ero de junio es el Día de la Marina Nacional Mexicana, el 5 de junio Dia del Medio Ambiente y el Tercer domingo de junio se celebra el Dia del padre"); break;
   case 7: printf("es el mes julio donde el 1ero de julio es  el Dia del Ingeniero, el dia 12 de julio el Día del Abogado , y el 13 de julio Dia de la policia Federal."); break;
   case 8: printf("es el mes agosto, donde el dia 21 de agosto  es el Dia del Trabajador Social, mientras que el 22 de agosto es el  Día del Bombero y el 28 de agosto  Día del abuelo. "); break;
   case 9: printf("es el mes septiembre, donde el 13 de septiembre es el Dia de los niños héroes y el 16 de septiembre se festeja el aniversario de  la independencia de mexico, y el 21 de septiembre es el Dia internacional de la paz."); break;
   case 10: printf("es el mes ocutubre, en el cual se conmemora el  12 de octubre el Dia de la raza, el 16 de octubre Dia Mundial de la Alimentacion, el 19 de octubre el  Dia contra el cancer de mama y por ultimo el 24 de octubre que es el Día Internacional de la ONU. "); break;
   case 11: printf("es el mes noviembre, en el cual se celebra el 1ero de este el dia de todos los santos, el dia 2 se celbra a todos los fieles difuntos y el 20 es el aniversario de la revolucion mexicana. "); break;
   case 12: printf("es el mes diciembre, en este ultimo mes se celebra el dia 24 de diciembre como noche buena, el dia 25 se celebra la navidad, y el ultimo dia de este mes que es el 31 es la celebracion de fin de año"); break;
   
 
    }
}


Título: Re: volver a ejecutar sin salir del menu en c++
Publicado por: engel lex en 23 Abril 2020, 01:23 am
usa un while


Título: Re: volver a ejecutar sin salir del menu en c++
Publicado por: aqnn1 en 23 Abril 2020, 01:41 am
En que parte y clmo tengo que ponerlo


Título: Re: volver a ejecutar sin salir del menu en c++
Publicado por: engel lex en 23 Abril 2020, 02:27 am
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<iostream>
  5.  
  6. int main ()
  7. {
  8.  int mes;
  9.  int repetir = 1;
  10.  
  11.  while(repetir){
  12.    printf("dame un numero del 1 al 12: ");
  13.    scanf ("%i" , &mes);
  14.    switch (mes){  
  15.      case 1: printf("es el mes enero, unas  de sus festividades son: año nuevo que es el 1ero de enero, dia del periodista que es el dia 4 de enero, y el dia de reyes el 6 de enero "); break;
  16.      case 2: printf("es el mes febrero, donde se festeja el dia 2  de la candelaria, el dia 5 como aniversario de la constitucion politica de los estados unidos mexicanos, el dia 14 se celebra el dia de san valentin"); break;
  17.      case 3: printf("es el mes marzo. donde se celebra el dia de la mujer el dia 8, y se conmemora el aniversario del natalicio de benito juarez el dia 21, ademas el dia 22 es el dia mundial del agua"); break;
  18.      case 4: printf("es el mes abril, en este mes se festeja el 22 de abril el Dia de la Tierra, el 23 de abril el Dia del Libro y el 30 de abril el Dia del niño"); break;
  19.      case 5: printf("es el mes mayo, el 1ero de este se celebra el dia del trabajo, mientras que el 10 se festeja el dia de las madres, y el 15 de mayo Dia del maestro, cabe destacar que este mes es uno de los meses que cuenta con mas celebraciones. "); break;
  20.      case 6: printf("es el mes junio donde el 1ero de junio es el Día de la Marina Nacional Mexicana, el 5 de junio Dia del Medio Ambiente y el Tercer domingo de junio se celebra el Dia del padre"); break;
  21.      case 7: printf("es el mes julio donde el 1ero de julio es  el Dia del Ingeniero, el dia 12 de julio el Día del Abogado , y el 13 de julio Dia de la policia Federal."); break;
  22.      case 8: printf("es el mes agosto, donde el dia 21 de agosto  es el Dia del Trabajador Social, mientras que el 22 de agosto es el  Día del Bombero y el 28 de agosto  Día del abuelo. "); break;
  23.      case 9: printf("es el mes septiembre, donde el 13 de septiembre es el Dia de los niños héroes y el 16 de septiembre se festeja el aniversario de  la independencia de mexico, y el 21 de septiembre es el Dia internacional de la paz."); break;
  24.      case 10: printf("es el mes ocutubre, en el cual se conmemora el  12 de octubre el Dia de la raza, el 16 de octubre Dia Mundial de la Alimentacion, el 19 de octubre el  Dia contra el cancer de mama y por ultimo el 24 de octubre que es el Día Internacional de la ONU. "); break;
  25.      case 11: printf("es el mes noviembre, en el cual se celebra el 1ero de este el dia de todos los santos, el dia 2 se celbra a todos los fieles difuntos y el 20 es el aniversario de la revolucion mexicana. "); break;
  26.      case 12: printf("es el mes diciembre, en este ultimo mes se celebra el dia 24 de diciembre como noche buena, el dia 25 se celebra la navidad, y el ultimo dia de este mes que es el 31 es la celebracion de fin de año"); break;
  27.      case default: repetir = 0; break
  28.    }
  29.  }
  30. }
  31.  

fijate donde inserté while y repetir introduje una variable para controlar la repeticion, mientras sea 1 se repite, si "mes" no cumple con ningun caso (case default) se rompe el ciclo (porque repetir pasa a ser 0


por otro lado cuidado con las librerias, estás usando standard de C mezclado con el de C++ a de,mas usando .h en librerias standard y librerias no necesarias


Título: Re: volver a ejecutar sin salir del menu en c++
Publicado por: Emertech en 23 Abril 2020, 14:58 pm
En que parte y clmo tengo que ponerlo
Código
  1. #include<stdio.h>
  2. #include <ctype.h>
  3. #include <stdlib.h>
  4. bool esNumero(char *cadena)
  5. {
  6. while (*cadena != '\0')
  7. {
  8. if (!isdigit(*cadena)) return false;
  9. cadena++;
  10. }
  11. return true;
  12. }
  13. int main()
  14. {
  15. char mes[10];
  16. bool bSeguir = true;
  17.  
  18. while (bSeguir) {
  19. printf("\n\ndame un numero del 1 al 12 u otro numero para salir del programa: ");
  20. scanf("%s", &mes);
  21.  
  22. if (esNumero(mes))
  23. {
  24. int m = atoi(mes);
  25. switch (m) {
  26. case 1:
  27. printf("es el mes enero, unas  de sus festividades son: año nuevo que es el 1ero de enero, dia del periodista que es el dia 4 de enero, y el dia de reyes el 6 de enero ");
  28. break;
  29. case 2:
  30. printf("es el mes febrero, donde se festeja el dia 2  de la candelaria, el dia 5 como aniversario de la constitucion politica de los estados unidos mexicanos, el dia 14 se celebra el dia de san valentin");
  31. break;
  32. case 3:
  33. printf("es el mes marzo. donde se celebra el dia de la mujer el dia 8, y se conmemora el aniversario del natalicio de benito juarez el dia 21, ademas el dia 22 es el dia mundial del agua");
  34. break;
  35. case 4:
  36. printf("es el mes abril, en este mes se festeja el 22 de abril el Dia de la Tierra, el 23 de abril el Dia del Libro y el 30 de abril el Dia del niño");
  37. break;
  38. case 5:
  39. printf("es el mes mayo, el 1ero de este se celebra el dia del trabajo, mientras que el 10 se festeja el dia de las madres, y el 15 de mayo Dia del maestro, cabe destacar que este mes es uno de los meses que cuenta con mas celebraciones. ");
  40. break;
  41. case 6:
  42. printf("es el mes junio donde el 1ero de junio es el Día de la Marina Nacional Mexicana, el 5 de junio Dia del Medio Ambiente y el Tercer domingo de junio se celebra el Dia del padre");
  43. break;
  44. case 7:
  45. printf("es el mes julio donde el 1ero de julio es  el Dia del Ingeniero, el dia 12 de julio el Día del Abogado , y el 13 de julio Dia de la policia Federal.");
  46. break;
  47. case 8:
  48. printf("es el mes agosto, donde el dia 21 de agosto  es el Dia del Trabajador Social, mientras que el 22 de agosto es el  Día del Bombero y el 28 de agosto  Día del abuelo. ");
  49. break;
  50. case 9:
  51. printf("es el mes septiembre, donde el 13 de septiembre es el Dia de los niños héroes y el 16 de septiembre se festeja el aniversario de  la independencia de mexico, y el 21 de septiembre es el Dia internacional de la paz.");
  52. break;
  53. case 10:
  54. printf("es el mes ocutubre, en el cual se conmemora el  12 de octubre el Dia de la raza, el 16 de octubre Dia Mundial de la Alimentacion, el 19 de octubre el  Dia contra el cancer de mama y por ultimo el 24 de octubre que es el Día Internacional de la ONU. ");
  55. break;
  56. case 11:
  57. printf("es el mes noviembre, en el cual se celebra el 1ero de este el dia de todos los santos, el dia 2 se celbra a todos los fieles difuntos y el 20 es el aniversario de la revolucion mexicana. ");
  58. break;
  59. case 12:
  60. printf("es el mes diciembre, en este ultimo mes se celebra el dia 24 de diciembre como noche buena, el dia 25 se celebra la navidad, y el ultimo dia de este mes que es el 31 es la celebracion de fin de año");
  61. break;
  62. default:
  63. bSeguir = false;
  64. printf("Saliendo del programa, pulse enter para salir");
  65. break;
  66. }
  67. }
  68. else printf("No es numero\n");
  69. }
  70. }
  71.  


Título: Re: volver a ejecutar sin salir del menu en c++
Publicado por: @XSStringManolo en 23 Abril 2020, 16:26 pm
 El último break del switch sobra. Se sale por si mismo del body del case continuando la ejecución.


Título: Re: volver a ejecutar sin salir del menu en c++
Publicado por: Emertech en 23 Abril 2020, 17:23 pm
Basado en el libro de H.M. Deitel/P.I. Deitel acerca del último break.
"El enunciado break (en el default) no es requerido, pero se incluye para fines de claridad y simetría con otros cases".