Hola a todos.. tengo un gran problema con un contador de consultas..
Lo que necesito hacer es que cada vez q entre al switch en la opción de consulta el contador aumente en 1.. se que es algo sencillo pero se me dificulta mucho hacerlo.
Un ejemplo mas claro de lo que debo hacer es esto:
switch(num_op){
case 1: printf("Consulta: %d\n\n", c);
printf("Ingrese el nombre del lugar de origen del recorrido:\n");
scanf("%s", &s_origen); printf("\n");
printf("Ingrese el nombre del lugar de destino del recorrido:\n");
scanf("%s", &s_destino); printf("\n");
ValiHora();
ValiPresupuesto();
} break;
Donde c es el contador de la consulta.. tengo una función q cuando salga del switch entre al menú principal y luego si se elige nuevamente la opción de consultas lo q necesito es que c ya no sea 1 sino 2... y así cuantas veces entre a la opción.
Les agradecería mucho su ayuda.. :-*
colocalo como c++ y listo
switch(num_op){
case 1: printf("Consulta: %d\n\n", c++);
printf("Ingrese el nombre del lugar de origen del recorrido:\n");
scanf("%s", &s_origen); printf("\n");
printf("Ingrese el nombre del lugar de destino del recorrido:\n");
scanf("%s", &s_destino); printf("\n");
ValiHora();
ValiPresupuesto();
} break;
Gracias por contestar. :)
Hice lo que sugeriste y al principio entra y hace el aumento bien, pero luego comienza hacer de de 2 en 2.. :-\
Disculpen la molestia pero me podrían ayudar en eso.
Cita de: MGMR en 14 Abril 2015, 23:54 PMHice lo que sugeriste y al principio entra y hace el aumento bien, pero luego comienza hacer de de 2 en 2.
En el fragmento que publicas las llaves están mal, para explicarlo mejor la sentencia de selección switch se procesa así:
switch(num_op){
case 1:
printf("Consulta: %d\n\n", c);
printf("Ingrese el nombre del lugar de origen del recorrido:\n");
scanf("%s", &s_origen); printf("\n");
printf("Ingrese el nombre del lugar de destino del recorrido:\n");
scanf("%s", &s_destino); printf("\n");
ValiHora();
ValiPresupuesto();
}
break;
Ahí tienes un switch con un solo caso y la sentencia "break;" puede generar resultados no deseados (o bien el compilador debe emitir un mensaje de error si esta es "huérfana").
Mejor publica el código fuente
completo.
Un saludo
Haz intentado poner la variable "c" como tipo static int ? por que como sales de la función de tu menú SUPONGO que muere la variable. Inténtalo, si no publica tu código.
static int c=0;
Y tu código yo lo pondría así:
switch(num_op)
{
case 1:
printf("Consulta: %d\n\n", c);
printf("Ingrese el nombre del lugar de origen del recorrido:\n");
scanf("%s", &s_origen); printf("\n");
printf("Ingrese el nombre del lugar de destino del recorrido:\n");
scanf("%s", &s_destino); printf("\n");
ValiHora();
ValiPresupuesto();
break;
default: break;
}