Ayuda para un contador

Iniciado por MGMR, 13 Abril 2015, 01:55 AM

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

MGMR

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

engel lex

colocalo como c++ y listo

Código (cpp) [Seleccionar]
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;
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.

MGMR

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.

rir3760

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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Gunhack

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

Código (cpp) [Seleccionar]
static int c=0;

Y tu código yo lo pondría así:

Código (cpp) [Seleccionar]

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