Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2016, 07:03
Avatar de Iballa
Iballa
 
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 2 meses
Puntos: 6
Switch. Número mayor o menor que.

Hola, este es un ejercicio básico que pulula por la red: de dos números calcular cual es mayor o menor que el otro.

He buscado varios ejemplos de este ejercicio pero en todos los casos está resuelto con un simple IF y no cubre las demás posibilidades, que son varias y con un if se anidarian demasiado, así que no encuentro demasiada información para cuando lo quieres hacer más completo, y ya llevo varias horas investigando algunos casos que no me salen.

Mis dudas son:
  • 1- En el caso de que el usuario deje las casillas vacias: Me funciona si dejo las dos casillas vacias, pero si sólo dejo UNA vacia, me dice que : es menor que el X ( el número que haya introducido, y no me respeta el operador “OR”.
  • 2 En el caso de que el usuario no introduzca un número : Tampoco me funciona y me compara las letras, ej: fdfd es mayor que refeefds
-¿Es isNaN la función para decir que no es un número verdad.?
- ¿Está bien planteada la opción de cuando no es un número, es correcta la función(isNaN)?

Código HTML:
<html>
	<body>
          <form action="calculo.php">
                Introduce el primer numero entero: <input type="text" name="valor1" method="get">
                Introduce el segundo numero entero: <input type="text" name="valor2" method="get">
                <input type="submit" value="enviar">
           </form>
	</body>
</html> 

Código PHP:
<?php  
        $valor1 
$_GET['valor1'];
        
$valor2 $_GET['valor2'];
          


           switch (
true) {
               case 
$valor1 $valor2:
                   echo 
$valor1." es mayor que ".$valor2;
                   break;

                   case 
$valor1 $valor2:
                   echo 
$valor1." es menor que ".$valor2;
                   break;

                   case 
$valor1 $valor2:
                   echo 
$valor1." es igual a ".$valor2;
                   break;

                   case empty(
$valor1) || empty($valor2);
                   echo 
"las casillas estan vacias, por favor, introduzca un numero entero";
                   break;

                   case  
is_nan$valor1);
                   echo 
"No es un numero, introduzca un numero entero";
                   break;
               
               default:
                   echo 
" Por favor introduzca un numero valido";
                   break;
           }

        
?>
Agradecería cualquier comentario!!