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

Inicio de sesión mi solucion

    <meta charset="UTF-8">
    <h1>Inicio de sesion</h1>
    <script>

        let inicioDeSesionRegistrado = "Samuel";
        let contraseñaRegistrada = "alura321";

        let inicioDeSesionIngresado;
        let contraseñaIngresada;

        let intentosMaximos = 3;
        let intentosActuales = 1;

        while(intentosActuales <= intentosMaximos){
            inicioDeSesionIngresado = prompt("Ingrese su usuario");
            contraseñaIngresada = prompt("Ingrese su contraseña");
            if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contraseñaRegistrada == contraseñaIngresada ) {
                alert("Bienvenido al sistema " + inicioDeSesionIngresado);
                break;
            } else {
                alert("Inicio de sesión inválido. Favor intente de nuevo\nIntentos actuales: " + intentosActuales);
            }
            intentosActuales++;
        }
        if(intentosActuales == intentosMaximos){
            alert("Intentos maximos alcanzado");
        }

    </script>
4 respuestas

Excelente Samuel. Puedes optimizar aun mas tu código. Saludos estimado.!

Como podria hacerlo?

Ya lo hice, si se te ocurre algo mas, decime :D

puedes poner todo dentro del while. Recuerda que simpre que la condicion dentro del while sea verdadera ingresa al bucle

        let intentosMaximos = 3;
        let intentosActuales = 0;

        while(intentosActuales < intentosMaximos){

            let inicioDeSesionRegistrado = "Samuel";
            let contraseñaRegistrada = "alura321";

            let inicioDeSesionIngresado = prompt("Ingrese su usuario");
            let contraseñaIngresada = prompt("Ingrese su contraseña");

            if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contraseñaRegistrada == contraseñaIngresada ) {

                alert("Bienvenido al sistema " + inicioDeSesionIngresado);
                break;

            } else {

                //Si quieres imprimir cuantos intentos lleva debe sumar 1, porque intentosActuales inicia en 0
                alert("Inicio de sesión inválido. Favor intente de nuevo\nIntentos actuales: " + (intentosActuales+1));

            }

            //aca hay un problema, si hace los tres intentos, intentos actuales quedara en 4, por lo tanto no ingresara al if que sigue
            //para que ingrese intentosActuales iniciara en 0
            intentosActuales++;

        }

        if(intentosActuales == intentosMaximos){

            alert("Intentos maximos alcanzado");

        }

o con un for. La buena práctica establece que cuando sabes cuantas veces debes iterar uses el for.

for(var i = 1; i<=3; i++){

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

        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");
            alert("Le restan " + (3-i) + " intentos")
            if(i == 3){
                alert("Cuenta bloqueada, has superado los 3 intentos")        
            }
        }

    }