3
respostas

07 - Simulando uma tela de login - Resolução.

<script>

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

        var login = "alura";
        var senha = "alura1234";
        var maximoTentativas = 2; // só restam duas porque já começa usado uma tentativa caso erre.
        var tentativaAtual = 1;

        while (tentativaAtual <= 3){
            var loginInformado = prompt("Informe o login: ");
            var senhaInformado = prompt("Informe senha: ");

            if(senha == senhaInformado && login == loginInformado){
                alert("Bem Vindo " + loginInformado +".");
                break // ou 'tentativaAtual = 3;'
            } 
            else {
                if (tentativaAtual == 3){
                    alert ("Número de tentativas atingindo!");
                    break
                } 
                else {
                    if (maximoTentativas == 1){
                    alert("Login invalido. Tente Novamente! Você só tem mais " + (maximoTentativas) + " tentativa.") //coloquei esse "if" para que quando o número de tentativa for igual a 1, o texto muda de "tentativas" para "tentativa".
                    } 
                    else {
                    alert("Login invalido. Tente Novamente! Você só tem mais " + (maximoTentativas) + " tentativas.");}
                }
            }
            maximoTentativas --; //
            tentativaAtual ++;
        }
    </script>
3 respostas

FIZ UMAS ALTERAÇÕES HOJE NO CÓDIGO.

    <script>

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

        var login = "alura";
        var senha = "alura1234";

        var tentativaAtual = 1;

        while (tentativaAtual <= 3){
            var loginInformado = prompt("Informe o login: ");
            var senhaInformado = prompt("Informe senha: ");

            if(senha == senhaInformado && login == loginInformado){
                alert("Bem Vindo " + loginInformado +".");
                break // ou 'tentativaAtual = 3;'
            } 
            else {
                if (tentativaAtual == 3){
                    alert ("Número de tentativas atingindo!");
                    break
                } 
                else {
                    if (tentativaAtual == 2){
                    alert("Login invalido. Tente Novamente! Você só tem mais 1 tentativa.") //coloquei esse "if" para que quando o número de tentativa for igual a 2, o texto muda de "tentativas" para "tentativa".
                    } 
                    else {
                    alert("Login invalido. Tente Novamente! Você só tem mais 2 tentativas.");}
                }
            }
            tentativaAtual ++;
        }
    </script>

Olá Eduardo!!

Parabéns pelo seu código, está muito bom, continue com esse esforço e se tiver alguma dúvida, estaremos aqui para te ajudar.

Olá Eduardo, muito bom o seu código e observando aqui você pode deixar ele ainda mais interessante diminuindo a quantidade de if da seguinte forma:

alterando o bloco:

else {
                    if (tentativaAtual == 2){
                        alert("Login invalido. Tente Novamente! Você só tem mais 1 tentativa.") //coloquei esse "if" para que quando o número de tentativa for igual a 2, o texto muda de "tentativas" para "tentativa".
                    } 
                    else {
                        alert("Login invalido. Tente Novamente! Você só tem mais 2 tentativas.");}
       }

para:

else{
    alert("Login inválido. Tente Novamente! Você só tem mais " + tentativaAtual + "tentativa")
}

E se ainda você quiser colocar no plural caso houver mais de uma tentativa, pode usar o operador ternário da seguinte forma:

else{
    alert("Login inválido. Tente Novamente! Você só tem mais " + tentativaAtual + "tentativa" + (tentativaAtual > 1 ? "s." : "."));
}