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

Duvida: Atividade 7 da Aula 7 - Tela de login

Resolvi o exercicio da seguinte forma, e nos meus testes parece q ta tudo ok.

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

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

    var qtdTentativa = 0;
    var maxTentativa = 3;

    while (qtdTentativa < maxTentativa) {
        var loginInformado = prompt("Informe seu login");
        var senhaInformada = prompt("Informe sua senha");
        if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
            alert("Bem-vindo ao sistema " + loginInformado);
            qtdTentativa = maxTentativa;

        }
        else {        
            alert("Login inválido. Tente novamente");
            qtdTentativa++;
        }
    }
</script>

Porém no gabarito do exercício o contador está para fora do else

} else {

            alert("Login inválido. Tente novamente");
        }

       // vai para a próxima tentativa
        tentativaAtual = tentativaAtual +1  
    }

Isso impacta em algo no meu codigo ou é apenas uma outra forma de fazer o mesmo rodar?

Abs.

4 respostas

Carlos isso muda sim. Pois no seu código a quantidade só será alterado se o ir for falso. Já o outro código terá a variável alterada independente das condições

Então, esse foi o meu raciocínio na hora de fazer, pq se o if for verdadeiro não faz sentido, pra mim, incrementar a variavel da tentativa, aí com o if verdadeiro fiz ele igualar ao máximo de tentativa e deixei pra incrementar a tentativa no caso ela cair no else.

solução!

Oi Carlos na prática os dois funcionam com lógicas diferentes, seu algoritmo funciona, seu raciocínio está correto.Como você utilizou < no while, Realmente não se faz mais necessário incrementar o valor em caso de acerto pois no seu while a condição é menor.

Na solução do intrutor ele utilizou <= no while ou seja somente igualar as variáveis tentativaAtual = maximoTentativas não quebraria o laço por isso foi feita esse incremento.

Soluções diferentes que atingem determinado proposito, assim é o mundo da programação

Espero ter ajudado e bons estudos

Valew!