Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/05/2011, 09:31
_Lx
 
Fecha de Ingreso: mayo-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 11
Información Respuesta: Problemas con condicional "if" y unas formulas


A ver, según veo tu error es este:
Código C:
Ver original
  1. if (aguatotal > 8 <= 12)
  2. if (aguatotal > 12 <=25)
  3. if (aguatotal > 25 <=50)
  4. if (aguatotal > 50 <= 250)
¿Quién te dijo que se puede hacer así?

Esa condición en sí es: if ((aguatotal > m) <= n)

Pero recuerda que el resultado de una condicional (aguatotal > m) es 1 ó 0, así que la condición de arriba será siempre verdadera si n es mayor o igual a 1, y como los valores son 12, 25, 50, 250; siempre va a entrar a esas condicionales y el resultado que te bota sale de la última condicional ya que es el último lugar donde igualas costo a una expresión.

La condición debe ser así: if (aguatotal > m && aguatotal <=n) ....

No hay simplificaciones.

Otra cosa, lo que mencionó "Isra_84", si pones:
Código C:
Ver original
  1. scanf("%i", &lactual); // lee un integer y lo asigna en lactual
  2. scanf("%i", &lproxima);
Cuando ingreses un valor real (ejem: 1594.32) sólo guardará la parte entera en la variable.
Código C:
Ver original
  1. float lactual, lproxima, aguatotal;
  2. int opcion;
  3.  
  4.  
  5. int main()
  6. {
Esto no afecta en nada, pero si sólo vas a usar esas variables en la principal es mejor declararlas ahí.


Nos vemos ...