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

Me costó

Buenas. Me costó pero lo logré. Estuve un buen rato divagando para encontrar la respuesta, hasta que entendí que tenia que usar el while en todo el sistema. Y al final había hecho lo mismo que el profesor, con la diferencia de que el else if dentro del while lo había hecho al revés. Entonces daba el mensaje de que tenia 0 intentos y luego que ya no tenia mas intentos (Yo no quería que de el mensaje de 0 intentos). Aun así, la consigna se cumplió. Después, revise el que hizo el profe y corregí el mío. Les dejo mi LinkedIn para seguirnos y charlar :) www.linkedin.com/in/agustin-perea

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


        var intentoActual=1;
        var maximoIntento=3;


    while(intentoActual<=maximoIntento){

      var inicioDeSesionIngresado = prompt("Ingrese su usuario");
      var contrasenhaIngresada = prompt("Ingrese su contraseña");

      if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
        alert("Bienvenido al sistema " + inicioDeSesionIngresado);

        } else {

            if(intentoActual==maximoIntento){
                alert("No le quedan mas intentos");
                intentoActual++;
            }else{
               alert("inicio de sesión inválido. Favor intente de nuevo. Es su "+intentoActual+ "°. Le quedan "+(maximoIntento-intentoActual)+" intento(s)."); 
            }

        }  

        intentoActual++;

    }

    if (intentoActual>maximoIntento) {   
     imprimirAlgo("MALDITO. VOY A LLAMAR A LA POLICIA!!!");  

    }
3 respuestas

Hola @Agustin Percara, hay cosas para tener en cuenta. Por ejemplo en el ultimo if que usas, nunca vas a poder ingresar mas intentos de los que permite(3), ya que vos pedis los datos al usuario en el while, por lo tanto los datos se ingresan dentro del while y nunca vas a poder ejecutar la instruccion mas de 3 veces, por lo tanto esa porcion de codigo no funcionaria nunca, a menos que saques la peticion de datos fuera del while.

Otra cosa en esta parte del codigo if(intentoActual==maximoIntento){ alert("No le quedan mas intentos"); intentoActual++; }

Estas aumentando el intento innecesariamente.

Espero te sirva, saludos!

Hola Daniel. Te refieres al ultimo if (intentoActual>maximoIntento) ? Creo que tendria que haber puesto if (intentoActual==maximoIntento) En su momento pensaba que intentoActual seguiría sumando un numero mas.

Claro, en casa de que pongas intentoActual== maximoIntento va a pasar lo mismo que en la sentencia if que esta dentro del while, por lo que si pones de esa forma te saldrian los dos mensajes:

-"no le quedan mas intentos " -"MALDITO. VOY A LLAMAR A LA POLICIA!!!".

De ser asi no tendria sentido hacer el ultimo if, con solo poner "MALDITO. VOY A LLAMAR A LA POLICIA!!!" seguido del "no le quedan mas intentos" seria suficiente y mas optimo.

Saludos.