¿Son ideas mías, o en este apartado el código propuesto como solución del instructor arroja un error?
Yo lo resolví de esta manera y me funciona:
<meta charset="UTF-8">
<script>
function saltarLinea() {
document.write("<br>");
document.write("<br>");
document.write("<br>");
}
function imprimir(frase) {
document.write(frase);
saltarLinea();
}
var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";
var contador = 1;
var intentos = 3;
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);
imprimir("Bienvenido al sistema " + inicioDeSesionIngresado);
break;
}
else {
alert("inicio de sesión inválido. Favor intente de nuevo");
}
contador++;
}
if ( inicioDeSesionRegistrado != inicioDeSesionIngresado || contrasenhaRegistrada != contrasenhaIngresada ) {
imprimir("Ha sido bloqueado, contacta a soporte");
}
</script>
Pero al momento de ejecutar la solución del instructor me parece que no corre como corresponde. Me gustarían sus opiniones.
<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>