Programación General > C/C++

 Re: problema con Do While

(1/1)

kurko:
esta es una parte de mi programa.

while(strcmp(gets(libro[cont].nombre),STOP)!=0 && cont<MAXLIB)
   { printf("nIntroduzca Apellido Paterno:");
   gets(libro[cont].apellidop);
   printf("nIntroduzca Apellido Materno:");
   gets(libro[cont].apellidom);
   printf("nIntroduzca Numero de Matricula (Ej. 2002404258-8):");
   gets(libro[cont].matricula);
   do{
      printf("nIntroduzca Nota Tarea 1:");
      scanf ("%f", &libro[cont].nt1);
   }while(libro[cont].nt1>7.0 && libro[cont].nt1<1.0);

el problema es ke al no se cumplen las dos condiciones ke puse en el do while para ke se repita el ciclo.
Pero si en vez de dos condiciones (libro[cont].nt1>7.0 && libro[cont].nt1<1.0) le pongo solo una, sí me funciona, lo malo es ke yo necesito las dos condiciones.
:ayuda:

gracias por todo!!

desorden:
La tabla de verdad del operador lógico && (Y) es:

 
--- Código: Text --- +-------+-------+------------+|   p   |   q   |   p && q   |+-------+-------+------------+|   0   |   0   |      0     |+-------+-------+------------+|   0   |   1   |      0     |+-------+-------+------------+|   1   |   1   |      1     |+-------+-------+------------+|   1   |   0   |      0     |+-------+-------+------------+   
Si metes un valor mayor que 7.0, siempre será mayor que 1.0, por lo tanto el resultado será falso: sales del bucle.
Prueba con el operador || (O)

kurko:
gracias desorden!! te pasaste!:D

Navegación

[0] Índice de Mensajes

Ir a la versión completa