4
respostas

Como acrescentar alert, após 3 tentativas erradas.

Boa Noite, fazendo o exercício da aula 6 me veio uma dúvida. No exercício sobre treino de senha e login, como fazemos para que depois da terceira tentativa errada aapreça uma mensagem com "Por favor contate nossa central de ajuda".

Obrigado

4 respostas
<meta charset="UTF-8">

<script>

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

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    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; // acertou, então foço o gasto de todas as tentativas para sair do loop. Lá embaixo vai incrementar + 1! 

        } else {

            alert("Login inválido. Tente novamente");
        }

        tentativaAtual++; // vai para a próxima tentativa

    }

</script>

Bom dia, Roberto!

Basta utilizar uma estrutura de repetição WHILE, conforme abaixo.

Dentro dela, no caso de o usuário não digitar o login e senha corretos, verificamos se o número de tentativas atingiu o máximo permitido, utilizando-se de um IF. Caso sim, exibiremos a mensagem para o contato com a central. No contrário, solicitaremos que o usuário tente novamente.

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

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

    var maxTentativas = 3;
    var tentativa = 1;

    while(tentativa <= maxTentativas) {

        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( tentativa == maxTentativas ){

                alert("Login inválido. Por favor contate nossa central de ajuda");

            } else{

                alert("Login inválido. Tente novamente");

            }

            tentativa = tentativa+1;
        }
    }
</script>

Tive a mesma dúvida, e Roberto ajudou muito! A função "break" não havia sido citada até o momento nas aulas, então fica meio difícil sem o comando. Obrigado por postar a dúvida e a resposta! <3

Oi Roberto Luiz Castelar uma implementação seria essa abaixo onde uso um if para testar se a tentativa já é a terceira.

<meta charset="UTF-8">
<script>
    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    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; // acertou, então faço o gasto de todas as tentativas para sair do loop. Lá embaixo vai incrementar + 1! 

        }else if(tentativaAtual==3){
            alert("Por favor contate nossa central de ajuda");
    } else {
            alert("Login inválido. Tente novamente");
        }

       // vai para a próxima tentativa
        tentativaAtual = tentativaAtual +1  
    }

</script>

Espero ter ajudado e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software