1
resposta

Solucionando a questao sem o uso de while

Resolvi o problema de maneira mais rudimentar, sem o uso de funções já aprendidas. Adicionei ao código uma mensagem ao usuário que consegue efetuar o login. Segue o código

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

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

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

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

        alert("Bem-vindo ao sistema " + loginInformado);
    } else {
         (loginCadastrado != loginInformado && senhaCadastrada != senhaInformada)
        alert("Login inválido. Tente novamente " + loginInformado);
        prompt("Informe novamente seu login");
        prompt("Informe novamente sua senha");
         (loginCadastrado != loginInformado && senhaCadastrada != senhaInformada)
        alert("Login inválido. Tente novamente " + loginInformado);
        prompt("Informe novamente seu login");
        prompt("Informe novamente sua senha");
    }
    if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ){
        document.write("Bem-vindo a sua pagina inicial")
    }
</script>
1 resposta

Olá Rafaella, tudo bem?

Fiz alguns testes e aconteceu o seguinte:

Se na primeira tentativa houve algum erro, tanto de usuário, quanto de senha, o sistema não irá funcionar mesmo com usuário e senha correta nas demais tentativas.

Acredito que a melhor forma, realmente, seria seguir a lógica com o uso do while, veja:

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

        } else {

            if (tentativaAtual == 3) {
                alert("Número limite de tentativas!");
            } else {
                alert("Login inválido. Tente novamente");
            }
        }

        tentativaAtual = tentativaAtual +1  
    }

</script>

Bons estudos!