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
Ir a la versión completa