Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Programador91 en 1 Abril 2012, 22:02 pm



Título: Problema con variables
Publicado por: Programador91 en 1 Abril 2012, 22:02 pm
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^^



Título: Re: Problema con variables
Publicado por: Valkyr en 1 Abril 2012, 22:18 pm
¿Has declarado la variable "a" con tipo float o double?


Título: Re: Problema con variables
Publicado por: avesudra en 1 Abril 2012, 22:20 pm
¿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


Título: Re: Problema con variables
Publicado por: Programador91 en 1 Abril 2012, 22:25 pm
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.


Título: Re: Problema con variables
Publicado por: Sagrini en 2 Abril 2012, 00:51 am
Código
  1. if (a<4.7 || a>5.8)
  2. {
  3. if (a<4.7) printf ("Valor menor de lo permitido\n");
  4. if (a>5.8) printf ("Valor mayor de lo permitido\n");
  5. }
  6. else printf ("Valor correcto\n");
  7.  


Título: Re: Problema con variables
Publicado por: Programador91 en 2 Abril 2012, 09:47 am
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.


Título: Re: Problema con variables
Publicado por: Programador91 en 2 Abril 2012, 09:57 am
Código
  1. if (a<4.7 || a>5.8)
  2. {
  3. if (a<4.7) printf ("Valor menor de lo permitido\n");
  4. if (a>5.8) printf ("Valor mayor de lo permitido\n");
  5. }
  6. else printf ("Valor correcto\n");
  7.  

Buenas a tod@s:


No me funciona. Me da todos los valores introducidos como correctos, aunque no lo sean U.U Como lo arreglo???


Título: Re: Problema con variables
Publicado por: Valkyr en 2 Abril 2012, 13:48 pm
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?


Título: Re: Problema con variables
Publicado por: BlackZeroX en 2 Abril 2012, 13:51 pm
Código
  1.  
  2.    double a = 5.1;
  3.  
  4.    if (a < 4.7) {
  5.        printf ("Valor menor de lo permitido\n");
  6.    } else if (a > 5.8) {
  7.        printf ("Valor mayor de lo permitido\n");
  8.    } else {
  9.        printf ("Valor correcto\n");
  10.    }
  11.  
  12.  

Dulces Lunas!¡.


Título: Re: Problema con variables
Publicado por: Programador91 en 3 Abril 2012, 10:48 am
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


Título: Re: Problema con variables
Publicado por: Sagrini en 3 Abril 2012, 22:41 pm
Entonces tu problema será que no lees bien la entrada. Postea el resto del código.