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

Tela de login

Fiz o código dessa maneira.

<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;
        } else{

            if (tentativaAtual == 3) {
                alert("Ultrapassou o número de tentativas! ");
            } else{
                alert("Login inválido. Tente novamente ");
            }
        }

            tentativaAtual = tentativaAtual + 1

        }

</script>

Vi no fórum, que diversas pessoas usaram o "break", poderiam me dizer como usar, nesse código

3 respostas

Maurício, o comando "break" serve para interromper o fluxo do loop, que nesse caso é um while. Se você acertar o login e a senha então não precisa mais repetir o loop, portanto o "break" entraria dentro do primeiro if após o alert.

if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
    alert("Bem-vindo ao sistema " + loginInformado);
    break;    
        }

E não precisa colocar -> tentativaAtual = maximoTentativas; pois o break faria o papel do fim do loop(while).

Usando o break, ele não é usado para substituir o while, correto?

solução!

Não é usado para substituir o while. Ele é usado para sair do while quando não é mais necessário fazer o loop. No seu caso quando o usuário entrar com a senha e o login correto, não é mais necessário contar as tentativas erradas, mas precisa do while no caso do usuário não acertar o login ou a senha.