Acabo de probar el código que posteaste en la primera entrada declarando la variable "a" como double y el código funciona correctamente. Cuando pongo un valor entre 4.7 y 5.8 me dice que es un valor correcto. Cuando lo pongo más bajo que 4.7, por ejemplo, 4.6 me dice que es un valor por debajo del mínimo y de la misma forma con 5.8 con el mensaje correspondiente.
La prueba la he realizado en Ubuntu con el compilador que ofrece G++. Así que no entiendo porque a ti no te funciona, ¿podrías poner una captura de pantalla de como ejecutas y escribes el valor?
Buenas a tod@s:
Si me da rabia, porque tengo el programa que todo el rato estoy jugando con variables en diferentes case, y en todos me va bien, és más, dentro de un mismo case tengo varias variables y en todos me funciona excepto en dos. Y en un mismo case tengo dos y uno me va bien y el otro no. Y en todos están escritos de idéntica forma. Por eso no entiendo porque no me funciona U.U
Ahora te hago una captura de pantalla a ver lo que puede estar mal. Pero ya te digo, a mi el resto de programa, que es identico a esto me funciona al igual que te ha funcionado a ti. No se porque no funciona en dos casos unicamente.
Gracias por todo de antemano