1
resposta

Qual é o erro deste codigo?

Boa noite, testei esse código, mas ele não respeita a solicitação de 3 tentativas para colocar usuário e senha. o sistema solicitando que se coloque usuário e senha. Por favor me ajudem a descobrir oq está errado

<script>

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";

    var tentativaAtual = 1
    var maximoTentativas = 3

    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 ("Numero permitido de tentativas ultrapassado!");
           } else {
               alert ("Login invalido, tente novamente!")
           }

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

// vai para a próxima tentativa
        tentativaAtual = tentativaAtual +1

</script>
1 resposta

Oi, Vanessa, tudo bem?

O problema está nessa linha de código: tentativaAtual = tentativaAtual +1ela está fora do laço do while, ou seja, a condição do while não consegue capturar as tentativas já que o contador está fora. O correto é ele ficar dentro:

        alert("Login inválido. Tente novamente");
    }
    tentativaAtual = tentativaAtual +1;
    // vai para a próxima tentativa
}

Agora sim, o código vai rodar contando as tentativas :}

Espero ter te ajudado e se esse post te ajudou, pode marcar como solucionada? Pode ajudar outros alunos com a mesma dúvida.