Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Duda Ejercicio de inicio de sesión

¡Hola a todos! Bueno, les quería externar una duda al respecto. Ya pude ejecutar el código y lo comparé con la solución del instructor y llegamos a que trabajan de la misma forma. Sin embargo quería preguntar lo siguiente.

Cuando mi código termina la ejecución (ya sea porque se ingreso al usuario y la contraseña correctos, o porque se erró en los 3 intentos) el código termina y no muestra en la pantalla el mensaje de imprimir "Fin" que he puesto al final del código, ¿Esto a que se puede deber?

Adjunto mi código. Sin más que decir, agradezco su atención.

<meta charset="UTF-8">
<h1>Programa Ejercicio 3. Inicio de sesión </h1>
<script>

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var contador = 1;

    while(contador <=3){
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");

        if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            break;
         } else {
            alert("inicio de sesión inválido. Favor intente de nuevo");
        }
        contador++;
    }

    imprimir("Fin");

</script>
3 respuestas
solución!

Estas llamando a una funcion que no existe.

imprimir("Fin");

Ten presente que imprimir no es una función de Java por lo cual debes definirla, es una funcion creada por le usuario

ejemplo:

function imprimir(texto){
document.write(texto)
}

Como veras allí estoy creando la funcion, al crearla ya podras usarla

¡Hola! Parece que tienes un pequeño error en tu código. La función imprimir que utilizas al final para imprimir "Fin" no es una función de JavaScript estándar. Es posible que hayas querido usar la función console.log para imprimir el mensaje en la consola del navegador en lugar de una ventana emergente con alert.

Puedes corregirlo reemplazando la línea imprimir("Fin"); por console.log("Fin"); para que el mensaje "Fin" se muestre en la consola del navegador una vez que el código haya finalizado la ejecución. Tu código quedaría así:

<meta charset="UTF-8">
<script>

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var contador = 1;

    while(contador <=3){
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");

        if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
            alert("Bienvenido al sistema " + inicioDeSesionIngresado);
            break;
         } else {
            alert("inicio de sesión inválido. Favor intente de nuevo");
        }
        contador++;
    }

    console.log("Fin");

</script>
Si este post te ayudó, por favor, marca como solucionado ✓.

Ya entendí lo que me faltaba, en los vídeos habíamos creado una función imprimir para que pudiera hacer la impresión en la pantalla de un mensaje. Y acabo de notar que no la invoqué aca (i.e. no copie el código correspondiente a la misma).

¡Muchas gracias a ambos por su ayuda!