Creo que el fallo esta en las sentencias de control 
Prueba a hacerlo con un switch no? Vamos en mates se 3 temas por delante del temario que llevamos en 1º ESO y lo que me enseña mi padre de 2º y demas xD... pero creo que es por eso...
Modf (no esta muy bien explicado xD): Digo que a lo mejor se mete en un bloque al cual no deberia de ir, dando un resultado inesperado...
Prueba a hacer las operaciones a cabeza, y copia el code y lo partes en diferentes programas, y vas metiendole los numeros hasta que te funcionen en todos y luego los vas agrupando de dos en dos y acabaras arreglandolo. O sencillamente switch... Suerte!

Prueba a hacerlo con un switch no? Vamos en mates se 3 temas por delante del temario que llevamos en 1º ESO y lo que me enseña mi padre de 2º y demas xD... pero creo que es por eso...
Modf (no esta muy bien explicado xD): Digo que a lo mejor se mete en un bloque al cual no deberia de ir, dando un resultado inesperado...
Prueba a hacer las operaciones a cabeza, y copia el code y lo partes en diferentes programas, y vas metiendole los numeros hasta que te funcionen en todos y luego los vas agrupando de dos en dos y acabaras arreglandolo. O sencillamente switch... Suerte!