Si el resultado de una operación es por ejemplo 8.2, el código me arroja q es impar, esto pasa cuando los datos de entrada son float, pero sí son enteros no hay problema. Entiendo que el módulo % ve solo la parte entera del resto. En mi opinión para evitar este problema habría que limitar la entrada a números enteros, el problema es por ejemplo en la división, si el resultado es por ejemplo 2/3, este número es par o impar, 1/2 es par o impar?. Para eliminar este otro problema habría que eliminar en la operación división la pregunta si es par o impar.