1
resposta

algum erro que aconteceu diversas vezes

Olha só, eu fiz e refiz a atividade varias vezes, e todas as vezes que a abria no nevagador ele não carregava ( o console informava erro na linha 21). esse é o código que deu errado

<meta charset="UTF-8">

<script>

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";

    var maximoTentativa = 3;
    var tentativaAtual = 1;

while (tentativaAtual <= maximoTentativa) {

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

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

            alert ("bem vindo ao sistema, " + loginInformado);

            tentativaAtual = maximoTentativa;
        } else {
            if (tentativaAtual == 3) {
                alert ("ultrapasadooo");
            } else {
                alert ("login invalido tente novamente");
            }
        }
        tentativaAtual = tentativaAtual + 1;    



</script>

eu refiz do começo, sendo bem rigorosa com atenção nas chaves, ai deu certo. contudo gostaria de saber se o erro no código acima realmente foi nas chaves. eu tentei comparar, mas olhei mil vezes e não identifiquei ;-;

1 resposta

Oi Amanda, tudo bem com você?

Analisando seu código pude perceber que têm alguns pequenos erros de estrutura e sintaxe que impossibilitaram que o mesmo rodasse. Vou falar desses erros um por um para você entender melhor, ok?

Na linha 13 você escreveu a função prompt de maneira incorreta:

var loginInformado = Prompt ("informe seu login");

O correto seriaprompt começando com letra minúscula.

Já na linha 16 você escreveu um ; (ponto e vírgula) depois da declaração do seu if:

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

Aqui o correto seria você abrir { (chave) no lugar do ; (ponto e vírgula) e verificar se todos os blocos dessa condição tem começo e fim.

A linha 21 não tem erro, mas uma dica é que você poderia ter escrito de forma mais sintetizada e clara usando o else if ao invés de apenas else. Um exemplo prático seria assim:

 } else if (tentativaAtual == 3) {

Por último, você adicionou a sua iteração da variável tentativaAtual na linha 26, porém mesmo assim o seu código está rodando com loop infinito. Por que? Isso acontece porque, basicamente, você deve adicionar a iteração dentro do laço while e não fora dele. Caso contrário, a condição de parada nunca será satisfeita e você nunca sairá do bloco de repetição. O correto nesse caso era você adicionar a tentativaAtual++ ou tentativaAtual = tentativalAtual + 1 na linha 27.

Em caso de mais dúvidas, me coloco à disposição.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
.