Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ZedGe en 22 Enero 2012, 19:09 pm



Título: Ayuda con forma de crear un filtro en ABO en C
Publicado por: ZedGe en 22 Enero 2012, 19:09 pm
Tengo un ABO con datos y necesito crear un filtro, es decir que si pido

Edad:
Peso:
Altura:
Nacionalidad:

el usuario pueda ingresar los datos que quiera, pudiendo ingresar solo la Edad, o la Edad y la Altura, o todos y debe mostrar todas las coincidencias....


No se me ocurre como crear aquel filtro, se me ocurrio la idea de k si no desea ingresar un valor ingrese un "-", pero la funcion del IF para comparar no me resulta como deberia ni con && ni ||


Código:
 if((strcmp(raiz->Datos.edad,nuevo->Datos.edad)==0) &&
           (strcmp(raiz->Datos.nacionalidad,nuevo->Datos.nacionalidad)==0)){


Con el && debe encontrar esas 2 conciencias, pero si ingresa una y en la otra un - no funciona, con un || basta que se cumpla la primera, por lo que no realiza un filtro con la segunda


Título: Re: Ayuda con forma de crear un filtro en ABO en C
Publicado por: Akai en 22 Enero 2012, 19:19 pm
C y C++ tienen la siguiente forma de evaluar condiciones:

&&: Se evalúan todas las condiciones hasta el momento que una falla, entonces para.

||: se evalúan todas las condiciones hasta que una es cierta.

Si quieres que el resultado de tus dos condiciones se ejecute y evalúe, primero ejecútalas, guarda el resultado y luego evalúalo.