Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

SIMULANDO INCIO DE SESION - CONCEPTOS IMPORTANTES

Yo hice mi código utilizando el BREAK que fue un video especifico para esa clase que se llamo interrumpiendo los loops... y no tuve problemas. Pero en la solución propuesta por el profesor usan otra linea de código que valida el IF y termina el ciclo o loop, pero no lo entiendo muy bien. Lo presento aca comentado y al lado del numero de linea correspondiente (al lado del break). ALGUIEN PUEDE EXPLICAR MEJOR ESA LINEA??? . Aclaro que ambos funcionan a la perfección!!

<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;  // intentoActual = maximoIntentos; // Lo hice bien, así que paso todos los intentos que falten y salgo del loop. Allá abajo aumentará +1!

        } else {

            if (contador == intentos){

                alert("inicio de sesión inválido. AGOTASTE TUS INTENTOS!!");

            }else{
                alert("inicio de sesión inválido. Te quedan "+(intentos-contador)+" intentos. Favor intente de nuevo");
            }
        }
        contador++;
    }
</script>
1 respuesta

Hola. Creo que lo que pasa es que se cumple el condicional de while ya que intentoActual ya no es menor o igual que maximoIntentos, sino que ahora son directamente iguales y no va a devolverse y entrar de nuevo en el ciclo, por lo que ya termina directamente ahí.