[
]()Oi Caio
Para inserir o código aqui no fórum você precisa utilizar a ferramenta </> aqui do editor e inserir o código entre as crases.
![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/1163767/6b0149c2-9a88-4d64-8067-485cf954c304.png) ![Insira aqui a descrição dessa imagem para ajudar na acessibilidade](https://cdn1.gnarususercontent.com.br/1/1163767/c2364067-d9c2-4d53-a13e-a412787dcacc.png)
<meta charset="UTF-8">
<script>
var loginCadastrado = "alura";
var senhaCadastrada = "alura321";
var numeroTentativas = 3;
var tentativaAtual = 1;
while(tentativaAtual <= numeroTentativas); {
var loginInformado = prompt("Informe seu login");
var senhaInformada = prompt("Informe sua senha");
if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
alert("Bem-vindo ao sistema " + loginInformado);
tentativaAtual = numeroTentativas;
} else {
if (tentativaAtual==3) {
alert("Você já atingiu o número máximo de tentativas.");
}
else {
alert("Login inválido, tente novamente.");
}
}
tentativaAtual = numeroTentativas +1;
}
</script>
Tive um pequeno problema no teclado, e pra piorar ainda não dá pra excluir as tentativas, kkkkkk.
Oi Caio
Seu While está em um loop infinito, precisa retirar o ponto e vírgula antes da chave
while(tentativaAtual <= numeroTentativas); {
while(tentativaAtual <= numeroTentativas) {
Pode me explicar mais detalhadamente o porquê ponto e vírgula deixou o While em loop infinito?
Oi Caio
O porto e virgula é para encerrar uma instrução, sempre que ele for inserido você finaliza uma instrução (regra).
No seu caso quando você inseriu ele antes das chaves e tudo que veio depois não fazia parte do while então ele não entrou nas chaves e não mudou a variável de controle tentativaAtual gerando assim um loop infinito já que que a verificação:
1 3
tentativaAtual <= numeroTentativas`
Era sempre TRUE
Muito obrigado Guilherme, já marquei como solucionado!