Depura en las funciones puedeSerCandidato() y NoCumpleRequisitos(), ahí tienes unas condiciones que terminan devolviendo true o false, responsables del resultado no correcto.
Para depurar puedes ayudarte mostrando los datos por pantalla (por medio de cout) de los datos que son comparados en las condiciones conflictivas, y de esa forma te ayudará a seguir mejor el flujo del programa. Por ejemplo usando un :
Para depurar puedes ayudarte mostrando los datos por pantalla (por medio de cout) de los datos que son comparados en las condiciones conflictivas, y de esa forma te ayudará a seguir mejor el flujo del programa. Por ejemplo usando un :
Código [Seleccionar]
...
cout << "True, el dato tal es mayor que el dato cual" << endl;
return true;
...