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

[Duda] Error en el mensaje | Proyecto: Pantalla inicio de sesión *ES EL BUENO*

NOTA: Si te equivocas al escribir el usuario y contraseña, te pone la leyenda de "Bloqueado" (cuando deberia ponerse --> Intentar nuevamente). Mi codigo esta mal y no encuentro donde. ¿Alguna sugerencia?

<meta charset="UTF-8">

<script>

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

    var intentos = 3
    var contador = 1

    while (contador <= intentos) {
        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 {
            if (intentos == 3) {
               alert("Bloqueado. Favor de contactar al Administrador"); 
            }  
            else {
                alert("Inicio de sesión inválido. Favor intente de nuevo");
            }
        }

        contador++    
    }

</script>
3 respuestas

hola buenas tardes como te va

¡Que tal amigo! Aquí el error es que tienes definido en la variable de intentos el numero 3, por lo que su valor siempre sera 3, lo que debes condicionar en este caso es el contador, ya que su numero va en incremento. Tambien el valor de la variable contador debe ser 0 para comenzar desde el 1 al 3, quedaría de la siguiente forma, espero y te sirva.

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

    var intentos = 3
    var contador = 0

    while (contador <= intentos) {
        if (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 {
            if (contador == 3) {
                alert("Bloqueado. Favor de contactar al Administrador");
            } else {
                alert("Inicio de sesión inválido. Favor intente de nuevo"); 
            }
        }

        contador++
    }

El número de intentos siempre es 3, así lo definiste desde el principio y durante la ejecución nunca cambia, lo que deberías preguntar si es igual a 3 es el contador.