Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

não é requisitado para colocar o login e senha novamente

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

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

    var loginInformado = prompt("Informe seu login");
    var senhaInformada = prompt("Informe sua senha");
    var tentativaAtual = 1;
    var ultimaTentativa = 3;

    while(tentativaAtual <= ultimaTentativa) {
        if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {

            alert("Bem-vindo ao sistema " + loginInformado);
            tentativaAtual = ultimaTentativa
        } 
        else {

            if(tentativaAtual == 3)    {
            alert("O número máximo de tentativas foi excedido");
            }
            else {
            alert("Login inválido. Tente novamente");
            }
            tentativaAtual = tentativaAtual + 1

        }

    }    
</script>
1 resposta
solução!

Bom dia Rafael, tudo bem? Espero que sim!

Para que seja requisitado a digitação de login e senha mais de uma vez, em caso de erro de algum dos dois, você precisa colocar essa parte dentro do loop while:

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

Isso vai fazer com que o usuário seja solicitado a escrever novamente enquanto estiver escrevendo errado até que o número de tentativas seja alcançado. O código completo ficará da seguinte forma:

<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>

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software