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

Ao errar o código não para: Ao infinito e além...

Tentei criar um programa de login com 3 tentativas após terminar o curso para exercitar o que aprendi, mas só consegui fazer o código dar certo quando acerto o login e a senha.

Mas quando erra, ele não aparece a menagem e agora enquanto não acerta ele não para de exibir. Como resolver?

<meta charset="utf-8">


<script>

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var loginEntrada = "fabio";
    var senhaEntrada = "megasena23";

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    while(tentativaAtual <= maximoTentativas) {

    var coloqueLogin = prompt("Informe seu Login");
    var coloqueSenha = prompt("Informe a senha");

    if(coloqueLogin == loginEntrada && coloqueSenha == senhaEntrada) {
        mostra("Mensagem decodificada: Você é lindo pra BORRRAAA!!!!");

         tentativaAtual = maximoTentativas;

        var existe = false;

        for( var tentativaAtual = 0; tentativaAtual <= maximoTentativas ; tentativaAtual++);

            if(tentativaAtual == maximoTentativas) {

                existe = true;
                break;
            }

    }

        var tentativaFrustrada = mostra("Você Errou!");

        if( existe == false) { 

        tentativaFrustrada.push(tentativaFrustrada);
        tentativaAtual++;

        }
    }






</script>
4 respostas

Oi Fabio tudo bem?

Dei uma consertada no seu código, dá uma olhadinha.

<meta charset="utf-8">


<script>

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var loginEntrada = "fabio";
    var senhaEntrada = "megasena23";

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    while(true) {



        var coloqueLogin = prompt("Informe seu Login");
        var coloqueSenha = prompt("Informe a senha");

        if(coloqueLogin == loginEntrada && coloqueSenha == senhaEntrada) {
            mostra("Mensagem decodificada: Você é lindo pra BORRRAAA!!!!");
            break;

        } else {

            alert("Você Errou!");

        }

        if(tentativaAtual >= maximoTentativas) {

            existe = true;
            mostra("Número de tentativas esgostado!")
            break;
        } 

        tentativaAtual++;
    }






</script>

Espero ter ajudado!!!

solução!

Olá, Fabio.

Existe n possibilidades de se fazer um código para efetuar um login.

Seguindo um pouco da sua lógica para o código de login segue abaixo uma implementação funcional, mas que pode ser feitas algumas adaptações:

<meta charset="utf-8">


<script>

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var loginEntrada = "fabio";
    var senhaEntrada = "megasena23";

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    while (tentativaAtual <= maximoTentativas) {

        var coloqueLogin = prompt("Informe seu Login");
        var coloqueSenha = prompt("Informe a senha");

        if (coloqueLogin == loginEntrada && coloqueSenha == senhaEntrada) {

            mostra("Mensagem decodificada: Você é lindo pra BORRRAAA!!!!")
            break;

        } else {
            alert("Usuário ou senha inválido!");
            tentativaAtual++;
        }

    }


</script>

No seu código eu não entendi qual o propósito da instrução for que você utilizou.

Espero ter ajudado.

Att

André, seu código só permiti que se tente uma vez, se errar ele para, gostaria que desse mais 2 tentativas depois de errar a primeira.

Ricardo, essa solução sua foi show de bola, era isso mesmo, obrigado, vou estudar o que você fez direitinho.