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

ERRO NAS TENTATIVAS

<meta charset="UTF-8">
<script>

    var loginCadastrado = "Victor";
    var senhaCadastrada = "alura321";

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

    while(tentativas <= 3){
         if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

        alert("Bem-vindo ao sistema " + loginInformado);
        tentativas = tentativas + 3;
    } else {
        if(tentativas == 3){
            alert("Limite de tentativas.");
        }else{

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

        }

    }
        tentativas = tentativas + 1;
    }


</script>

Não entendi por que essa tentativa não deu certo, poderia me explicar pfv? :)

2 respostas
solução!

Oi Rafael, como vai?

Isso está acontecendo pois os dois prompts que perguntam o login e a senha estão fora do lado de repetição, por isso eles só aparecem na tela uma vez. Dessa maneira, dentro do laço de repetição o valor de tentativas será acrescido em 1, até chegar no limite de tentativas (ou no acerto, caso o usuário acertar), mas o prompt não aparecerá novamente. Para arrumar isso, é só colocar o prompt dentro do laço de repetição, dessa maneira:

while(tentativas <= 3){
        var loginInformado = prompt("Informe seu login");
        var senhaInformada = prompt("Informe sua senha");
         if(loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
            alert("Bem-vindo ao sistema " + loginInformado);
            tentativas = tentativas + 3;
        } else {
            if(tentativas == 3){
                alert("Limite de tentativas.");
            }else{
                alert("Login inválido. Tente novamente");
            }
        }
        tentativas = tentativas + 1;
}

Espero ter ajudado, bons estudos =)

Muito obrigado, ajudou muito!!