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

Programa de login

Tive um pouco de dificuldade, pois não estava considerando colocar as variáveis dentro do while, mas o restante do programa deu certo. Diferente do programa do professor, eu tentei colocar a variável "valida" como um gatilho para finalizar o while quando o login estiver certo, desse modo ele ficou apenas como string e não como um boolean (true/false).

<meta charset="utf-8">

<h1>Tela de login</h1>
<hr><br>
<script type="text/javascript">

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura123";

    var tentativas = 3;
    var valida = false;

while (tentativas>=0 && valida != true){    

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

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

        valida = true;
        alert("Bem-vindo ao Sistema " + loginInformado);

    }else{

        if (tentativas == 0) {

            alert ("Limite de tentativas excedido");
        }else{

            alert("login invalido. Tente novamente. " + tentativas + " chances.");

            }
        }

    tentativas = tentativas-1;

    }


    alert("FIM");

</script>
2 respostas
solução!

Olá, Roger, tudo bom?

Achei muito legal que você encontrou uma solução diferente da do professor para interromper o laço do while, e que também está correta! Da mesma forma, também poderia ter sido usado a instrução break para interromper o while quando a pessoa acertasse o login. Em programação, nos deparamos muito com esse tipo de situação onde teremos várias formas de resolver o mesmo problema.

Apenas não entendi quando você disse que a variável valida é do tipo string, pois no seu programa ela está sendo sim utilizada como do tipo boolean (já que seus valores são true e false, sem as aspas).

Qualquer dúvida estamos à disposição! Abraços e bons estudos :)

Olá

A questão do boolean, só depois fui entender que era boolean mesmo, acabei criando na ideia de ser uma string por não lembrar como fazer boolean e fiz sem perceber rsrs.

Muito obrigado e vamos que vamos nos estudos!