3
respostas

Oq q eu fiz de errado?


<meta charset="UTF-8">



<script>


    function pulaLinha() {document.write("<br>")}
    function mostra(x) {document.write(x);pulaLinha()}

    var loginCadastrado = "Igorlabaki";
    var senhaCadastrada = "alura321";

    var numeroMaxima = 3;
    var numeroAtual = 1;

    while(numeroAtual <= numeroMaxima){

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

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

        alert("Bem-vindo ao sistema " + loginInformado);
        mostra("Bem-vindo " + loginCadastrado + ".");
        numeroatual = numeroMaxima;


    } else {       
         alert("Login inválido. Tente novamente");
         numeroAtual = numeroAtual + 1}

   if(numeroAtual == 2){
       alert("Cuidado numeros de tentativas acabando")

   }

   if(numeroAtual == 3){

       alert("Conta bloqueada!")

       mostra("<b>"+"Conta encontra-se bloqueada entre em contato com suporte para desbloqueio"+"</b>")}}










</script>
3 respostas

Olá, está aparecendo alguma mensagem de erro no log? Ou algum comportamento não está acontecendo da forma esperada?

qd eu acerto o login ele aparece a msg bem vindo e depois abrindo senha de login ate aparecer conta bloqueada, e qd eu ponho a senha errada ele ja blqueia na segunda

Igor,

Qual o comportamento esperado?

Pelo código os seguintes cenários vão acontecer:


inicio do programa variáveis  
    numeroMaxima = 3;
    numeroAtual = 1;
inicio do loop
solicitação de usuário e senha
validação de usuário e senha

1 - Validação OK
    1.1 sistema atualiza variável "numeroatual"
        numeroatual = numeroMaxima;
    1.2 While valida se a condição ainda é valida, no caso ainda é, numeroAtual é 3.
    1.3 Não importa o comportamento vai cair no "if(numeroAtual == 3)", pois  numeroAtual é igual a 3, e será apresentado as mensagens.



2 - validação -NOK
    2.1 Usuário e senha são invalidos e cai no else,  "numeroatual" é incrementada para 2.
    2.2 Sistema continua a executar e deve apresentar     "Cuidado numeros de tentativas acabando".
    2.3 Caso validação seja verdadeira, segue comportamento de "Validacao OK".
    2.3 Caso validação seja falsa novamente vai apresentar msg de conta bloqueada.

Caso deseje encerar o loop após a validação ok você pode:

1 - Adicionar +1 para validacao do while retornar False e sair do loop
numeroatual = numeroMaxima+1;

2 - Adicionar um break logo após a atualização variável.
numeroatual = numeroMaxima;
break