volver a ejecutar sin salir del menu en c++

Iniciado por aqnn1, 23 Abril 2020, 01:16 AM

0 Miembros y 1 Visitante están viendo este tema.

aqnn1

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;
   
 
    }
}

engel lex

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.

aqnn1


engel lex

Código (cpp) [Seleccionar]

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

int main ()
{
  int mes;
  int repetir = 1;

  while(repetir){
    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;
      case default: repetir = 0; break
    }
  }
}


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
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.

Emertech

Cita de: aqnn1 en 23 Abril 2020, 01:41 AM
En que parte y clmo tengo que ponerlo
#include<stdio.h>
#include <ctype.h>
#include <stdlib.h>
bool esNumero(char *cadena)
{
while (*cadena != '\0')
{
if (!isdigit(*cadena)) return false;
cadena++;
}
return true;
}
int main()
{
char mes[10];
bool bSeguir = true;

while (bSeguir) {
printf("\n\ndame un numero del 1 al 12 u otro numero para salir del programa: ");
scanf("%s", &mes);

if (esNumero(mes))
{
int m = atoi(mes);
switch (m) {
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;
default:
bSeguir = false;
printf("Saliendo del programa, pulse enter para salir");
getchar();
break;
}
}
else printf("No es numero\n");
}
getchar();
}

@XSStringManolo

 El último break del switch sobra. Se sale por si mismo del body del case continuando la ejecución.

Emertech

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".