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

Não consigo achar o erro

<meta charset="UTF-8">
<script>
    function pulaLinha(){
        document.write("<br>")
        document.write("<br>")
    }
    function mostra(frase){
        document.write(frase)
        pulaLinha()
    }
 var login = "abc"
 var senha = "123"

 var tentativaMaxima= 3
 var tentativaAtual= 1

 while(tentativaAtual<=tentativaMaxima){

 var loginInformado= prompt ("digita o login, meu chefe")
 var senhaInformada= prompt ("digita a senha, minha fera")

 if(login == loginInformado && senha == senhaInformada) {
     alert("Bem vindo, chefia!")
     mostra("<h>Conteúdo</h>")
     tentativaAtual=tentativaMaxima
 } else { if(tentativaAtual==3)
     alert("Deu ruim")}
     {else{

     alert("Digita outra vez")
     tentativaAtual=tentativaAtual+1
 }
     }
</script>
3 respostas

Aparece que o erro é no ELSE mas não consigo ver qual o motivo...

O erro estava no chaveamento do if aqui:

 } else { if(tentativaAtual==3)

e aqui:

alert("Deu ruim")}
     {else{

O código completo seria:

<meta charset="UTF-8">
<script>
   function pulaLinha(){
        document.write("<br>")
        document.write("<br>")
    }
    function mostra(frase){
        document.write(frase)
        pulaLinha()
    }
 var login = "abc"
 var senha = "123"

 var tentativaMaxima= 3
 var tentativaAtual= 1

 while(tentativaAtual<=tentativaMaxima){

 var loginInformado= prompt ("digita o login, meu chefe")
 var senhaInformada= prompt ("digita a senha, minha fera")

 if(login == loginInformado && senha == senhaInformada) {
     alert("Bem vindo, chefia!")
     mostra("<h>Conteúdo</h>")
     tentativaAtual=tentativaMaxima
 } else  if(tentativaAtual==3) {
     alert("Deu ruim");
 }else{

     alert("Digita outra vez")
     tentativaAtual=tentativaAtual+1
 }
     }

</script>

Obs: Não verifiquei se a lógica está correta, apenas a sintaxe.

Espero ter ajudado.

solução!

Olá Gustavo tudo joia ? Analisei seu código e como nosso amigo Diego já havia comentado o erro era na sintaxe do código, também podemos notar que o programa se encontra em loop infinito pois não existem instruções de parada, no seu caso eu adicionei uma instrução de parada break; aqui !

 if(login == loginInformado && senha == senhaInformada) {
     alert("Bem vindo, chefia!")
     mostra("<h>Conteúdo</h>")
     tentativaAtual=tentativaMaxima

Fincando assim

if(login == loginInformado && senha == senhaInformada) {
            alert("Bem vindo, chefia!");
            mostra("<h>Conteúdo</h>");
            break;
            tentativaAtual=tentativaMaxima

Com essa instrução após ser verificado o usuário é senha o loop e interrompido pela instrução de para break;

Vale lembrar também que por boas praticas de programação seria ideal você sempre fechar um instrução com ponto e virgula " ; " pois isso ajuda com que seu código seja mais legível e limpo. boa sorte na jornada até a próxima!

Seu código alterado ficou assim!

<meta charset="UTF-8">

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

    var login = "abc";
    var senha = "123";

    var tentativaMaxima= 3;
    var tentativaAtual= 1;

    while(tentativaAtual<=tentativaMaxima){

        var loginInformado= prompt ("digita o login, meu chefe");
        var senhaInformada= prompt ("digita a senha, minha fera");

        if(login == loginInformado && senha == senhaInformada) {
            alert("Bem vindo, chefia!");
            mostra("<h>Conteúdo</h>");
            break;
            tentativaAtual=tentativaMaxima;
        } else if(tentativaAtual==3) {
            alert("Deu ruim");  
        } else {
            alert("Digita outra vez");
            tentativaAtual=tentativaAtual+1;
        }
    }

</script>