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

Não roda de jeito nenhum e não consigo achar o erro, já reescrevi várias vezes, fui pesquisar nas aulas e nada. Tô precisando muito ver a opinião de alguém sobre isso.

9 respostas

[

]()

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.

solução!

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!