2
respuestas

[Duda] Loteria

Me ayudan por favor

Hice el programa y todo sale bien, solo que cuando le atinas al número sale la leyenda de que el número es mayor y no quiero que salga esa leyenda. Ya trate de solucionarlo pero no me queda jeje

****Les dejo el código:

<meta charset="UTF-8">

<h1>Juego de Adivinación</h1>

<script>

    function saltarLinea() {


        document.write("<br><br><br>");

    }
     function imprimir(texto) {

        document.write(texto);
        saltarLinea();

    }
    function sorteo(n) {

         return Math.round(Math.random()*n);

    }

    var numeroPensado = sorteo(10);
    var numeroLanzado = parseInt(prompt("Ingrese un número de 0-10"));

    if(numeroPensado == numeroLanzado){

        imprimir("<h4>Usted acertó!</h4>");

    }
     else {

        imprimir("Usted falló, el número pensado era " + numeroPensado + "<h4>Intentalo de nuevo!</h4><hr>");

    }

    if(numeroLanzado < numeroPensado){

         imprimir("El número que ingresaste " + numeroLanzado + " es menor al número pensado por el programa");
    }
    else {

        imprimir("El número que ingresaste " + numeroLanzado + " es mayor al número pensado por el programa");
    }

</script>
2 respuestas

Hola Alfonso !!!

Recuerda que el programa es una secuencia de instrucciones y va verificando una a una si se cumple una condicion o no. En tu codigo hay dos condiciones:

  • numeroPensado == numeroLanzado
  • numeroLanzado < numeroPensado

Por esta razon al acertar te salen los dos mensajes porque ambas condiciones estan en la misma linea, la solucion es anidar la segunda condicion despues del else.Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

<meta charset="utf-8">


<script>
var numsorteado;
var ingresado;
var num;
    function saltoLinea()
    {
        document.write("<br>");
        document.write("<br>");
        document.write("<br>");
    }
    function imprimir (frase)
    {
        document.write(frase);
        saltoLinea;
    }
    function sorteo(n){
        numsorteado= Math.round(Math.random()*n);
        return numsorteado;
    }

num=parseInt(prompt("Ingrese un numero que sera el rango de 0 al numero que ud elija"));
sorteo(num);
ingresado= parseInt(prompt("Elija un numero para sortear del rango"))
if(ingresado == numsorteado)
{
    imprimir("Has acertado el resultado");
}
else
{
if(ingresado > numsorteado)
{
    imprimir("El numero ingresado es mayor que el elejido...."+numsorteado);
}
else
{
    imprimir("El numero elejido es menor que el elejido...."+numsorteado);
}
}
</script>

Tambien te adjunto mi solucion espero te sirva