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)
1
respuesta

Problema Ejercicio inicio sesion

Hola a todos, tengo una duda con el problema propuestos del ejercicio de inicio de sesion, intente hacerlo por mi cuenta y fracase luego de intentarlo por una hora mas o menos.

La curiaosidad me gano y pues revise la respuesta del instructor que dejo el codigo que adjunto en la parte inferior, pero el problema que le veo a la solución es que funciona en bucle siempre, no para cuando llego al intento maximo de 3 intentos errados de inicio de sesion, en mi mente el codigo esta bien, pero luego de tratar de modificarlo para que pare agregando break; en varias partes del codigo no consigo hacer que pare, tambien observo que luego del primer intento me saca el alert de que agote el número de intentos permitidos, eso quiere decir que el contador no esta revisando que se llege al tercer intento, me tiene bastante frustrado este ejercicio y agradeceria que alguien me pueda ayudar, porque quiero solucionarlo y que funcione de forma correcta, pero soy novato en el tema y no se me ocurre nada, he buscado documentacion de javascript, pero no logro incorporar en mi mente algo que me de luz de los pasos a seguir para lograr la solucion que busco.

El codigo del instructor es funcional pero con los bugs que menciono, busque en el foro y no encontre la correccion a estos errores que menciono.

<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!");
                break;
            } else {
                alert("Inicio de sesión inválido. Favor intente de nuevo");
            }
        }

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

</script>
1 respuesta
solución!

Hola Luis, espero que esté bien.

Gracias por compartir tu código con nosotros. Todo bucle condicional necesita de una condición de parada y en tu código no estás incrementando la variable cuando el usuario escribe mal los datos de entrada. Porque intentoActual = intentoActual++; no es una forma correcta de incremento, las formas correctas de incrementar una variable son:

intentoActual++;

intentoActual += 1;

intentoActual = intentoActual + 1;

Puede hacer esta pequeña corrección al final de tu código para que funcione.

¡Un saludo!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios