3
respostas

Simulando uma tela de login - Resolução

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

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


    var tentativa = 1;

    while(tentativa <= 3){

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

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

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

            tentativa = 3;
        } else {

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

        }

        tentativa = tentativa  + 1;

    }

</script>
3 respostas

Massa!! Gostei da sua forma de pensar.

Oi Paula, tudo bem? Esse exercício foi bem difícil, mas eu resolvi da seguinte forma:

Primeiro, adicionei duas variáveis:

    var tentativaAcesso = 1;
    var maximoTentativasAcesso = 3;

Nos parâmetros do While, condicionei minhas duas variáveis:

while( maximoTentativasAcesso >= tentativaAcesso ){}

Nos parâmetros do If, primeiro adicionei um break caso o aluno acerte o login de primeira:

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

Depois, condicionei o if else controlando o número de tentativas.

} else {
    if(maximoTentativasAcesso = maximoTentativasAcesso - tentativaAcesso){
        alert("Login inválido. Tente novamente. Você só tem mais " + maximoTentativasAcesso + " tentativas.");
    } else {
        alert("Acesso bloqueado. Entre em contato com o administrador do sistema.");
    }
}

O sistema funcionou. O código completo está logo a seguir:

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    var loginCadastrado = "alura";
    var senhaCadastrada = "alura321";
    var tentativaAcesso = 1;
    var maximoTentativasAcesso = 3;

    while( maximoTentativasAcesso >= tentativaAcesso ){
        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(maximoTentativasAcesso = maximoTentativasAcesso - tentativaAcesso){
                alert("Login inválido. Tente novamente. Você só tem mais " + maximoTentativasAcesso + " tentativas.");
            } else {
                alert("Acesso bloqueado. Entre em contato com o administrador do sistema.");
            }
        }
    }

</script>

Olá Victor, o que seria esse Break? Para que serve?

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