Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Código ainda aceita tentativas de senha mesmo após mensagens de "tentativas ultrapassadas"

Meu problema é o seguinte: consigo ter infinitas tentativas sendo que, era para eu ter somente 3 e, em seguida, pararia de abrir a opção "insira login/senha" Mesmo comparando o código com o do professor, não encontrei o erro. Ou eu não achei o erro por falta de atenção, ou tem algo errado com a lógica do meu código.

Também ando tendo dificuldade pq tentativaAtual = tentativaAtual + 1; está no final e não antes de tudo.

Podem me ajudar?

<meta charset="UTF-8">

<script>

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

    var limiteTentativas = 3;
    var tentativaAtual = 1;

    while (tentativaAtual <= limiteTentativas) {


    var loginInformado = prompt("Informe seu login");
    var senhaInformada = prompt("Informe sua senha");


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

        alert("Bem-vindo" + loginInformado);

        tentativaAtual = limiteTentativas;

    } else {

        if (tentativaAtual == 3){

            alert("Número permitido de tentativas excedido");
        }else{

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

    }


 }

}

    tentativaAtual = tentativaAtual + 1;



</script>
3 respostas
solução!

"tentativaAtual = tentativaAtual + 1" deve entrar antes de você fechar as chaves do while loop, atualmente ele está rodando sem somar 1 a tentativaAtual

Oi, Maria, tudo bem?

A sua linha:

tentativaAtual = tentativaAtual + 1;

Está fora do bloco do while, precisa estar antes do último colchete. É ele que vai somar a quantidade de tentativas do usário de acessar o sistema, e chegando ao limite, que é 3, para.

Espero ter te ajudado!

Obrigada, André e Laís pela explicação. Algo tão simples e eu estava quebrando tanto a cabeça!