3
respostas

Variáveis dentro to 'while'

Olá!

Na resolução do exercício as variáveis para loginInformado e senhaInformada estão dentro do while.


   while(tentativaAtual <= maximoTentativas) {

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

Alguém saberia explicar a lógica para colocar essas duas variáveis dentro do while ao invés de fora com os contadores de tentativas e o usuario e senha cadastrados?

Copiei o código abaixo para ajudar na visualização:

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

Muito obrigada! Gabi

3 respostas

Olá Gabriela. Acredito que as variáveis de login e senha devem ser inseridas dentro do while, por que será repetido enquanto o usuário não informar os dados corretos. Se estivesse fora do laço de repetição, iria solicitar os dados apenas 1 vez e ficaria armazenado apenas o dado incorreto. A cada laço é dado novamente a opção de escrever o dado correto. Espero ter ajudado.

Oi Renata,

Muito bem explicado! Obrigada, agora está bem mais claro!

Gabi

Por nada Gabi. Que possamos sempre nos ajudar. Tamo junto