2
respostas

log programacao I

nano consigo ver o que esta errado no exercício acima = quando acerto de primeira o programa ainda pede novo login

<meta charset="UTF-8">
<script>

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



    var tentativaAtual = 1
    var maximoTentativas = 3

    while(tentativaAtual <= maximoTentativas) {

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

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

            alert("Bem-vindo ao sistema " + loginInformado);

            tentativaAtual == maximoTentativas;

        } else {
                if (tentativaAtual == 3) {
                    alert("Numero maximo de tentativas!")
                } else{
                    alert("Login inválido. Tente novamente");    
                }
        }

        tentativaAtual = tentativaAtual + 1;
    }


</script>
2 respostas

Olá Maria, tudo certo?

O programa está com esse comportamento porque quando você acerta o login a condição que você determinou diz que ele deve tentar validar novamente caso o número de tentativas seja menor ou igual ao número de tentativas já realizadas.

Ao meu ver, a melhor forma de resolver o problema é você remover a linha tentativaAtual == maximoTentativas;quando o usuário acerta os dados do login e substituir pelo break, cuja função é justamente interromper o laço de repetição. Fiz esse ajuste no código e funcionou, segue exemplo abaixo:

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



    var tentativaAtual = 1
    var maximoTentativas = 3

    while(tentativaAtual <= maximoTentativas) {

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

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

            alert("Bem-vindo ao sistema " + loginInformado);

            break;
        } else {
                if (tentativaAtual == 3) {
                    alert("Numero maximo de tentativas!")
                } else{
                    alert("Login inválido. Tente novamente");    
                }
        }

        tentativaAtual = tentativaAtual + 1;
    }

Guilherme Beleza! Agora deu certo Super obrigada!!!