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

Preciso ajuda...meu programa está em loop mas não vai para o fim

Preciso de ajuda... O programa fica somente no login e senha... colocando certo, ou errado, ele fica somente no login e senha, alguem consegue me ajudar para eu avançar? Ja troquei varias condições mas ele não está rodando... mesmo digitanto login e senha corretos , ele também não mostra , o alert de login e senha corretos.

<meta charset="UTF-8">

<script>

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

 function mostra(frase){
 document.write(frase);
 pulaLinha();

 }

  var usuarioCadastrado = "luquevedo";
  var senhaCadastrada = "alura123"

  var numeroMaxtentativas = 3;
  var tentativaAtual= 1;

  while(tentativaAtual <=  numeroMaxtentativas){

 var usuarioinformado = (prompt( "digite seu usuário:"));
 var senhainformada = parseInt(prompt("Digite a sua senha:"));
 tentativaAtual = tentativaAtual +1;

}

if(usuarioCadastrado == usuarioinformado && senhaCadastrada==senhainformada){
    alert("Bem vindo ao sistema.");
    tentativaAtual = numeroMaxtentativas;
} 

     else{

    if(tentativaAtual == numeroMaxtentativas){
     alert("Numero de tentativas ultrapassado!");
    } else{
        alert("Login invalido.Tente novamente");
}
  }

</script>

}

alert("fim"); }

`

3 respostas

Bom dia!!!

Acredito que o erro esteja principalmente nessa parte do código:

while(tentativaAtual <=  numeroMaxtentativas){

 var usuarioinformado = (prompt( "digite seu usuário:"));
 var senhainformada = parseInt(prompt("Digite a sua senha:"));
 tentativaAtual = tentativaAtual +1;

}

Nele você acrescentou o "tentativaAtual = tentativaAtual + 1;" que é pra ser colocado somente no final quando tudo tiver sido testado. Outra coisa é que você fechou o cochete sem incluir nele os if-else. Fiz essas alterações e rodou aqui no meu.

Espero ter ajudado, pois tbm ainda estou aprendendo kk

Você fechou o bloco de código do while antes de colocar os if/else

testa esse aqui

solução!

Demorou mas consegui, primeiro não tinha fechado o while, depois faltava o numero atual de entativas receber o numero máximo... depois de quebrar a cabeça, rodou... rrsrsrs. ficou assim:

<meta charset="UTF-8">

<script>

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

 function mostra(frase){
 document.write(frase);
 pulaLinha();

 }

  var usuarioCadastrado = "luquevedo";
  var senhaCadastrada = "123";

  var numeroMaxtentativas = 3;
  var tentativaAtual= 1;

  while(tentativaAtual <=  numeroMaxtentativas){
  var usuarioinformado = (prompt( "digite seu usuário:"));
  var senhainformada = (prompt("Digite a sua senha:"));

   if(usuarioCadastrado == usuarioinformado && senhaCadastrada==senhainformada){

    alert("Bem vindo ao sistema.");
    tentativaAtual=numeroMaxtentativas;


  } else{
    if(tentativaAtual == numeroMaxtentativas){
     alert("Numero de tentativas ultrapassado!");

    } else{
        alert("Login invalido.Tente novamente");

}

 }  
          tentativaAtual = tentativaAtual +1;

  mostra("FIM");
}
  </script>