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

El código inicio de sesión dado por el Instructor da solo un intento.

Cuando le pongo un usuario y contraseña incorrecto no me da un segundo intento.

<meta charset="UTF-8">

<script>

    var inicioDeSesioRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var maximoIntentos = 3;
    var intentoAtual = 1;

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

        if(inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada){
            alert("Bienvenido al sistema" + inicioDeSesionIngresado);
            intentoActual = maximoIntentos; // Lo hice bien, así que paso todos los intentos que falten y salgo del loop. Allá abajo aumentará +1! 
        } else {
            if (intentoActual == 3) {
                alert("Agotaste el número permitido de intentos!");
            } else {
                alert("Inicio de sesión inválido. Favor intente de nuevo");
            }
        }

       // vaya al próximo intento 
        intentoActual = intentoActual +1  
    }

</script>
3 respuestas

Revisa o publica tu código, en si no está haciendo el bucle, de volver a intentarlo. Ya que solo lo programaste para para que se haga uno sola ves el usuario y contraseña.

No había visto el código antes podrías repetir el mismo else con if de volver a intentarlo. De todas maneras lo voy a revisar así te doy una mano.

Hola Rubén, espero que estés bien.

Tu problema es que estás comparando variables mal escritas, me explico:

En la línea 5 defines el usuario con una variable llamada var inicioDeSesioRegistrado, mientras que en la línea 15 lo comparas con una variable llamada inicioDeSesionRegistrado. Si te fijas detalladamente te falta la letra "n".

Corregido eso también te sucede lo mismo en la línea 19, la cual dice intentoActual == 3, mientras que tu variable definida al inicio se llama var intentoAtual = 1;, aquí te faltó la letra "c".

Recuerda que en los lenguajes de programación debes escribir todo exactamente igual, respetando todas sus letras y sus mayúsculas y/o minúsculas.

Te dejo el código corregido.

<meta charset="UTF-8">

<script>

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

    var maximoIntentos = 3;
    var intentoActual = 1;

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

        if(inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada){
            alert("Bienvenido al sistema" + inicioDeSesionIngresado);
            intentoActual = maximoIntentos; // Lo hice bien, así que paso todos los intentos que falten y salgo del loop. Allá abajo aumentará +1! 
        } else {
            if (intentoActual == 3) {
                alert("Agotaste el número permitido de intentos!");
            } else {
                alert("Inicio de sesión inválido. Favor intente de nuevo");
            }
        }

       // vaya al próximo intento 
        intentoActual = intentoActual +1  
    }

</script>

Saludos!