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

Exercício sobre login

<meta charset="UTF-8">

<script>

    var loginCadastrado = "1";
    var senhaCadastrada = "123";

    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>

Alguém pode me explicar essa linha abaixo, por favor, (20)?

tentativaAtual = maximoTentativas

3 respostas

Olá, Yuri, tudo tranquilo?

Basicamente o que acontece é que o usuário tem até 3 tentativas pra digitar corretamente login/senha, então caso ele acerte de primeira, tem que ter um jeito do programa não continuar perguntando para o usuário o login e senha, ou seja, tenho que ter uma condição de parada para sair do loop de repetição. Um jeito é esse apresentado:

tentativaAtual = maximoTentativas;

Ele estoura o número de tentativas para o programa não perguntar mais login/senha pro usuário. Espero ter sanado sua dúvida, qualquer coisa só perguntar..

Abraços e boa sorte nos estudos!

Ah entendi, muito obrigado pela ajuda! E por que, nesse caso foi usado " = " e não " == "?

solução!

Porque o '=' serve pra quando você quer atribuir algo e o '==' se você quer comparar o valor de duas coisas, por exemplo:

x = 3;

Nesse caso a variável x recebe o valor 3. Já se o código fosse esse:

x == 3;

Aqui, vai ser comparado o valor de x com 3. Nesse caso se x for igual a 3, o valor retornado é verdadeiro, senão for igual o valor retornado é falso.

Beleza? Qualquer dúvida só perguntar..

Abraços!