2
respostas

Procurei por outro operador lógico "||"

Olá,

Depois de refletir um pouco achei q ficaria melhor trabalhar com o operador lógico "ou" e "diferente" ao invés de "e" e "igual". Ficou muito estranho? Analisem pfv:

Obs.: eu tinha colocado "contador" e "contadorMax", mas troquei pela sugestão do professor, afinal contador pode ser qqr coisa, "tentativa" já remete a algo mais próximo ao login e concordo q fica mais fácil de ler/entender.

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

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

    var tentativaAtual = 0;
    var maximoTentativas = 3;

    while (tentativaAtual < maximoTentativas) {
        var loginInformado = prompt("Informe seu login");
        var senhaInformada = prompt("Informe sua senha");
        if( loginCadastrado != loginInformado || senhaCadastrada != senhaInformada ) {

            alert("Login inválido. Tente novamente");
            tentativaAtual = tentativaAtual + 1;
            if (tentativaAtual == maximoTentativas){
                alert("Usuário bloqueado!");
            }
        } else {
            alert("Bem-vindo ao sistema " + loginInformado);
            tentativaAtual=maximoTentativas;
    }
}
    </script>
2 respostas

Thiago,

Nesse caso, com o operador lógico && (AND) fica mais claro e objetivo qual é a condição necessária para obter um login com sucesso, diferente dessa condição é é falha;

if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
      // Sucesso
} else { // Caso contrário
      // Falha
}

Obrigado Douglas,

Eu realmente acho q ficou mais facil trabalhar com o que pode dar errado, que são mais linhas, no "if" do que no "else", por isso que fiz a substituição e gostei dela. Mas vou tentar me adaptar para como a maioria dos programadores lê/entende... afinal o trabalho de um programador raramente é "solitário", então o entendimento da comunidade, bem como entender a comunidade de programadores acredito ser essencial.

Obrigado!