Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Error Desafio Loteria

Hola buenas tardes, tengo un error con este ejercicio:

El numero que hay que adivinar es el 10, cuando pongo un numero mayor me aparece el texto "Usted no acertó. El Numero del Sistema es menor al suyo." y cuando pongo uno menor "Usted no acertó. El Numero del Sistema es mayor al suyo.", hasta ahí bien, el problema es que cuando pongo el numero 10, osea el correcto, me aparece "Usted no acertó. El Numero del Sistema es menor al suyo." Osea, me aparece que estoy poniendo un numero mas alto que 10. No logro darme cuenta el error, si alguien me puede ayudar se lo agradecería!


<meta charset="utf-8">

<h1> PROGRAMA JUEGO DE ADIVINACION</h1>

<script>

    function saltarLinea () {

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

    function imprimir (string){

        document.write (string);
        saltarLinea ();
    }

    function sorteo (n) {
        return (Math.round(Math.random () * n));
    }

    var numeroDelSistema = sorteo (10);

    var numeroDelUsuario = parseInt (prompt ("Ingrese un numero entre 0 y 10"));

    if (numeroDelSistema == numeroDelUsuario) {
        imprimir ("Usted acertó");
    }

    else {

        if (numeroDelSistema < numeroDelUsuario) {
            imprimir ("Usted no acertó. El Numero del Sistema es menor al suyo.");
        }
        else {
            imprimir ("Usted no acertó. El Numero del Sistema es mayor al suyo.");    
        }
    }

 </script>
2 respuestas

12345

El concepto mismo del codigo esta mal, vos no estas poniendo el numero 10 como numero a adivinar. Al pasarle 10 a la funcion sorteo estas generando un numero random entre 0 y 10. Math.random genera un numero entre 0 y 1, y a eso lo estas multiplicando por 10, osea te da un numero entre 0 y 10. Si queres que el numero a acertar sea 10, no hace falta llamar a la funcion sorteo(), solo hace numeroDelSistema = 10;

Como recomendacion para que no tengas que reinicar todo el tiempo para probar, encerra todo desde que pedis el numero hasta el final en un while(true) y pone un break en el justo despues del imprimir ("Usted acertó");