Autor
|
Tema: Problema con variables (Leído 5,189 veces)
|
Programador91
Desconectado
Mensajes: 24
|
Buenas a tod@s:
Tengo que introducir una variable y hacerlo con el if y el else if. Y el valor mínimo que me tendría que aceptar me lo denega diciendo que está por debajo del valor mínimo establecido.
Por ejemplo: cin>>a; if (4.7<=a && a<=5.8) { cout<<"Este valor es correcto"<<endl; } else if (4.7>a) { cout<<"Este valor esta por debajo del minimo aceptado"<<endl; } else if (5.8<a) { cout<<"Este valor esta por encima del maximo aceptado"<<endl; }
Bueno pues el caso es que si pongo 4.7 en la variable a me sale "Este valor esta por debajo del minimo aceptado" y con eso me pasa en dos sitios y en cambio el resto del programa que está plegado de estas variables y escritas así me funcionan perfectamente, en cambio, no sé porque estos dos no me funcionan y están escritos identicamente que elresto.
Por qué? Como lo puedo solucionar? No sé como hacerlo ya porque lo he probado de todas formas posibles (que se me hayan ocurrido)
Muchas gracias de antemano^^
|
|
|
En línea
|
|
|
|
Valkyr
Desconectado
Mensajes: 646
Divide y vencerás
|
¿Has declarado la variable "a" con tipo float o double?
|
|
|
En línea
|
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
¿Has declarado la variable "a" con tipo float o double?
Yo lo he probado y tampoco consigo que salga ,es raro y si la he declarado como float
|
|
|
En línea
|
Regístrate en
|
|
|
Programador91
Desconectado
Mensajes: 24
|
Buenas a tod@s:
Todas las variables las he declarado como float, y el resto de variables me van bien. Solo me fallan dos.
He declarado todas las variables que se deben introducir numeros como float, y ya digo, a lo mejor hay 60 y 58 me funcionan. Solo me fallan estas dos.
|
|
|
En línea
|
|
|
|
Sagrini
|
if (a<4.7 || a>5.8) { if (a <4.7) printf ("Valor menor de lo permitido\n"); if (a >5.8) printf ("Valor mayor de lo permitido\n"); } else printf ("Valor correcto\n");
|
|
|
En línea
|
|
|
|
Programador91
Desconectado
Mensajes: 24
|
Buenas a tod@s:
Un amigo del mundillo me recomendó sustituir el nombre de la variable en lugar de "a" ponerle "b" por ejemplo. Pero no me funciona.
Voy a probar el codigo que has facilitado Sagrini, a ver que tal y os digo algo.
Muchas gracias. Y es que me jode mucho. Tengo todo el programa completado y solo me fallan estas dos variables, y lo tengo que tener listo para mediados de abril. Y me jodería mucho no poderlo entregar por dichos fallos.
|
|
|
En línea
|
|
|
|
Programador91
Desconectado
Mensajes: 24
|
if (a<4.7 || a>5.8) { if (a <4.7) printf ("Valor menor de lo permitido\n"); if (a >5.8) printf ("Valor mayor de lo permitido\n"); } else printf ("Valor correcto\n");
Buenas a tod@s: No me funciona. Me da todos los valores introducidos como correctos, aunque no lo sean U.U Como lo arreglo???
|
|
« Última modificación: 2 Abril 2012, 10:48 am por Programador91 »
|
En línea
|
|
|
|
Valkyr
Desconectado
Mensajes: 646
Divide y vencerás
|
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?
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
double a = 5.1; if (a < 4.7) { printf ("Valor menor de lo permitido\n"); } else if (a > 5.8) { printf ("Valor mayor de lo permitido\n"); } else { }
Dulces Lunas!¡.
|
|
« Última modificación: 2 Abril 2012, 13:53 pm por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Programador91
Desconectado
Mensajes: 24
|
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
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema de Variables
Programación Visual Basic
|
Timerlux
|
5
|
2,425
|
21 Junio 2007, 20:41 pm
por Sancho.Mazorka
|
|
|
Problema de variables¿?
.NET (C#, VB.NET, ASP)
|
Codename!!
|
4
|
3,623
|
27 Febrero 2010, 18:52 pm
por Codename!!
|
|
|
[BATCH] ¿Como puedo meter variables dentro de variables?
Scripting
|
Meine programmen
|
1
|
4,134
|
24 Marzo 2012, 16:48 pm
por Eleкtro
|
|
|
[SOLUCIONADO] Problema con variables dinámicas...
.NET (C#, VB.NET, ASP)
|
Eleкtro
|
4
|
3,204
|
12 Abril 2013, 21:06 pm
por Eleкtro
|
|
|
Problema al recoger variables
Programación Visual Basic
|
Abu-Ele-Tech
|
8
|
2,808
|
6 Enero 2014, 17:54 pm
por Abu-Ele-Tech
|
|