1
resposta

Funcional

Depois de bater muita cabeça consegui fazer esse código funcionar, gostaria de algumas dicas de melhorias, por que só conseguir fazer utilizando o break e na resolução o instrutor não utiliza esse comando.

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

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

    var tentativa = 1

    var limite = 3


    while(tentativa <= limite){

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

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

        alert("Bem-vindo ao sistema " + loginInformado);

        break;
    } else {
        if(tentativa == 3){
            alert("Tentaivas de login excedidas.")
            break;

        } else{

        alert("Login inválido. Tente novamente");
        tentativa = tentativa + 1
        }        

    }
    }
</script>

`

1 resposta

Eu criei uma variável "entrou" e usei ela como uma das condições para repetir ou não o código.

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

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";
    var entrou = "nao";
    var tentativas = 1;
    var limiteTentativas = 3;

    while (entrou == "nao" && tentativas <= 3) { 

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

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

            entrou = "sim";

            alert("Bem-vindo ao sistema " + loginInformado);

        } else {

            tentativas = tentativas + 1

            if (tentativas <= 3) {
                alert("Login inválido. Tente novamente");
            }
            if (tentativas > 3) { 
                alert("Login inválido. Acabaram suas tentativas");
            }
        }
    }
</script>