1
resposta

No que estou errando?

Quando eu coloco a senha e o login correto, fico em um loop. Parece que o meu código e o código do professor estão idênticos, entretanto, no código do professor eu não entro em loop. No que estou errado?

meu código:

var loginCadastrado = "1";
    var senhaCadastrada = "2";

var maximoTentativas = 3;
var tentativaAtual = 1;

while (tentativaAtual <= maximoTentativas){
    var loginInformado = prompt("Informe seu login");
    var senhaInformada = prompt("Informe sua senha");

    if (loginInformado == loginCadastrado && senhaInformada == senhaCadastrada) {

        alert("Bem vindo ao sistema, " + loginCadastrado);

        tentativaAtual = maximoTentativas;


    } else {

        if (tentativaAtual == 3) {

            alert("Número permitido de tentativas ultrapassado!")

        } else {
         alert("Login inválido. Tente novamente");
        }

        tentativaAtual++;
}
}

Código do professor:

var loginCadastrado = "1";
var senhaCadastrada = "2";

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  
}
1 resposta

Descobri que o erro foi porque tinha uma { a mais depois do tentativaAtual++. Então fica a pergunta, porque isso estava causando o loop?