3
respostas

Condição da condição

Adorei esse desafio! Não pensei que o while fosse funcionar com o if. Uma condicional dentro da outra. Cheguei a cogitar olhar a resposta do professor, mas acabei desistindo de desistir. Meu código final ficou:

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

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

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

    while (numeroTentativas > 0){
    if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
        alert("Bem-vindo ao sistema " + loginInformado);
    } else {
        alert("Login inválido. Tente novamente. Quantidade de tentativas restantes: " + numeroTentativas);
        loginInformado = prompt("Informe seu login");
        senhaInformada = prompt("Informe sua senha");
        numeroTentativas = numeroTentativas - 1;
    }

    if (numeroTentativas == 0){
        alert("Você errou sua senha muitas vezes! Sua conta foi bloqueada!")
    }
}


</script>
3 respostas

NOSSA. Parabéns!!!!!

Não consegui fazer nada melhor que isso Até funciona mas deixa a desejar

<meta charset="UTF-8">
<script>
  var loginCadastrado="alura";
  var senhaCadastrada="alura321";
  var loginInformado = prompt("Informe seu login");
  var senhaInformada = prompt("Informe sua senha");

  if(loginCadastrado==loginInformado&&senhaCadastrada==senhaInformada){
    alert("Bem-vindo ao sistema "+loginInformado);
  }else{
    alert("Login inválido. Tente novamente");
    var loginInformado=prompt("Informe seu login");
    var senhaInformada=prompt("Informe sua senha");
    if(loginCadastrado==loginInformado&&senhaCadastrada==senhaInformada){
      alert("Bem-vindo ao sistema " + loginInformado);
    }else{
      alert("Login inválido. Tente novamente");
      var loginInformado=prompt("Informe seu login");
      var senhaInformada=prompt("Informe sua senha");
      if(loginCadastrado==loginInformado&&senhaCadastrada==senhaInformada){
        alert("Bem-vindo ao sistema " + loginInformado);
      }else{
        alert("ACESSO NEGADO!")
        }}}
</script>

Pra melhorar seu código é só usar o while ou for. Se você parar pra pensar, a gente tem um loop que acaba após o término do número de tentativas. Uma coisa que eu faço antes de escrever código, é escrever em português e depois converter para programação. Por exemplo: Enquanto (número de tentativas=tentativas restantes) { perguntar dados de acesso, se acertar exibir mensagem de login , se errar exibir mensagem de login e gastar uma tentativa }

Dessa forma você entender melhor o que está fazendo e por qual caminho seguir. Acho essa a forma mais fácil.

Pois é! Tive muita dificuldade em montar a estrutura de repetição mas depois percebi que é tudo uma questão de interpretação de texto. Obrigado!