En una de las iteraciones, valor=30, min =1, max=5. La condicion no se cumple, pero entra en el if. Alguien me puede ayudar y decirme que hago mal??
Creo que estas confundido con el uso de operadores logicos, menciones que la condicion
no se cumple pero en realidad
SI se cumple, pues estas utilizando un "or" (||):
la tabla de verdad del or:
v o v = v
v o f = v
f o v = v
f o f = f
la unica vez que es falso un or, es cuando los dos valores son falsos, y tu tienes:
min <= valor
1 <= 30 VERDADERO
por lo tanto, al haber un verdadero, toda la condicion es verdadera, tal como puedes ver en la tabla de arriba.
probablemente lo que tu quieres es un "and" (o sea un &&, pero estoy especulando). Si lo que tu quieres es que la variable valor este entre min "y" max, la condicion deberia ser:
if ((min <= valor) && (valor<=max))
O bien, si realmente era un "or" lo que querias, quizas equivocaste el nombre de la variable, pues pusiste
vlaor en lugar de
valor (pero apuesto a que lo que querias era un "and").
Bueno, ya me diras.
Saludos