Meu código de solução está diferente do exemplo de solução do professor, mas esta funcionando do mesmo jeito, tem algum problema?
É a segunda vez que isso ocorre, mas no final o que importa é se o software foi entregue funcionando ou não, certo? Ninguém tem a mesma lógica de programação para criar um programa exato ao seu colega de trabalho.
Minha solução
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var contador = 3
while(contador >= 1){
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
if(loginCadastrado == loginInformado && senhaCadastrada == senhaInformada){
alert("Bem-vindo ao sistema " + loginInformado);
contador = 0;
}
else{
alert("Login inválido. Tente novamente");
contador = contador - 1;
}
}
</script>
Solução do professor
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var maximoTentativas = 3;
var tentativaAtual = 1;
while(tentativaAtual <= maximoTentativas) {
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
alert("Bem-vindo ao sistema, " + loginInformado);
tentativaAtual = maximoTentativas; // acertou, então faço o gasto de todas as tentativas para sair do loop. Lá embaixo vai incrementar + 1!
} else {
if (tentativaAtual == 3) {
alert("Número permitido de tentativas ultrapassado!");
} else {
alert("Login inválido. Tente novamente");
}
}
// vai para a próxima tentativa
tentativaAtual = tentativaAtual +1
}
</script>