Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exercícios - Simulando uma tela de login: duvida.

Olá, tudo bem?

Esse exercício realmente esta sendo o mais complicado para mim até agora.

A primeira vez fiquei pensando bastante não cheguei a muitas resposta então abri a resposta copiei e tentei entender melhor qual a lógica.

Agora eu dei mais um olhada e estou tentando fazer do zero com o que lembro e com o que entendi do código.

Eu cheguei em algum lugar dessa vez diferente da primeira ehehehehee, mas empaquei em uma parte, e em vez de ir copiar acho melhor tirar a duvida aqui para realmente aprender.

Eu estou parado nessa parte do código que ele me mostra o alerta de que o login e senha estão errados ou certos, mas quando ele me da o alerta de que esta correto ele deveria sair do loop do "while", mas ele não sai continua fazendo todo o caminha infinitamente.

Segue código:


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

var loginCorreto = "alura";
var senhaCorreta = "123";

var limiteLogin = 3
var tentativas = 1

while(tentativas <= limiteLogin) {

var loginInformado = prompt("informe seu login");
var senhainformado = prompt("informe seu senha");

if (loginInformado == loginCorreto && senhainformado == senhaCorreta) {

    alert("login e Senha corretos");

    tentativas = tentativas + 1;

    tentativas = limiteLogin
} else { 

    alert("senha ou login errados");    

    tentativas = tentativas +1;

    if (tentativas = limiteLogin) {

        alert("suas tentativas espiraram")

    }
}


}


</script>
1 resposta
solução!

Ei, boa tarde!!!

Isso está acontecendo pq sua última linha reseta o valor da tentativas para igual ao limiteLogin, e como seu while permanece rodando enquanto tentativas for menor ou igual ao limiteLogin ele continua sem parar...

[!!!SPOILER ALERT!!!]

vc pode resolver isso excluindo a penúltima linha e definindo a var tentativas = limiteLogin + 1 fazendo com que tentativas fique maior que o limiteLogin e saindo do loop.

seu cód.:

alert("login e Senha corretos");

tentativas = tentativas + 1;

tentativas = limiteLogin

sugestão:

alert("login e Senha corretos");

tentativas = limiteLogin + 1;

Parece ter uma outra questão com o else, me avisa se precisar.