1
resposta

Resolução para a tela de login

Bom dia, boa tarde, boa noite! Revisando os conteúdos de repetição (while e for), consegui desenvolver a aplicação sozinho. Quando passei pelo conteúdo na primeira vez, me bati que só e não consegui resolvê-lo. Implementei um operador lógico (ou - ||) que não foi passado na aula, para o código ficar menos extenso e mais lógico. Segue o código abaixo:

<meta charset="UTF-8">

<script>

  // A questão pede para que o usuário, quando errar, tenha no máximo 3 tentativas. Depois da terceira, ele fica impedido de entrar no site. Se ele acertar, não é preciso repetir nada.


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

  var tentativas = 1;

  while (tentativas <= 3) {

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

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

      alert("Bem-vindo ao sistema " + loginInformado + ".");
      break;

    } else if (loginCadastrado != loginInformado || senhaCadastrada != senhaInformada) {

      alert("Login ou senha incorretos.");
      tentativas++;

    }

    if (tentativas > 3) {

      alert("Você excedeu a quantidade limite de tentativas. Tente mais tarde, ou entre em contato com seu administrador.");

    }

  }

</script>
1 resposta

Fico show parabéns! No meu código eu mantive as variáveis até o momento. O meu código ficou assim!

<meta charset="UTF-8">

<script>
//  variãveis  //
    var loginCadastrado = "user";
    var senhaCadastrada = "user123";
    var tentativaAtual = 1;
    var tentativaMaxima = 3;
//  Estrutura de repetição interativa   //
    while (tentativaAtual <= tentativaMaxima) {
//      Interação com o usuário     //
        var loginInformado = prompt("Informe seu nome de usuário");
        var senhaInformada = prompt("Informe sua senha de acesso");
//      Condicional de verificação  //
        if (loginInformado == loginCadastrado && senhaInformada == senhaCadastrada) {
            alert("Login efetuado com sucesso!");
            break;
        } else {
            alert("Usuário ou senha Inválidos!\nTentativa de login " +tentativaAtual+ " de " + tentativaMaxima);
//              Condicional opcional para o usuário     //
                var opcao = prompt("Tentar login novamente S/N ?");
                if (opcao == "S" || opcao == "s") {
                    tentativaAtual++;
                    if (tentativaAtual > tentativaMaxima) {
                        alert("Você atigiu o maxímo de tentativas de login!\nUsuário bloqueado!");
                    }
                } else {
                    alert("Você escolheu sair!");
                    break;
                }
            }
        }
//     Incremento de variável de controle  de repetição //
       tentativaAtual++;
</script>