Olá, Matteus, tudo bem?
Adorei seu código! Fazia bastante tempo que não vi a utilização da estrutura do... while, achei bem interessante.
Só há um problema no código: quando conseguimos fazer o login com sucesso, o programa continua nos perguntando pelo login e pela senha!
Vamos analisar a parte do código que é executada quando conseguimos realizar login:
if( loginCadastrado == loginInformado && senhaCadastrada == senhaInformada ) {
tentativa = maxTentativas;
alert("Bem-vindo ao sistema " + loginInformado);
}
Aqui, a variável tentativa recebe o valor de maxTentativas, que é 3. Mas depois desse bloco if, o código executa o comando tentativa++;, e a variável tentativa fica com valor 4! Assim, a condição tentativa != maxTentativas do while continua tendo valor true e o código entra em um loop infinito.
Para corrigir o problema, basta que dentro do if acima, você escreva tentativa = 2; em vez de tentativa = maxTentativas;. Outra solução é alterar a condição do while para tentativa < maxTentativas, assim, mesmo que tentativa fique com valor 4 em vez de 3, essa condição será avaliada como false e o bloco while irá parar de executar.
Espero ter ajudado! Se tiver qualquer dúvida ou dificuldade, ficaremos felizes em te ajudar. Abraços e bons estudos!
Caso esta resposta tenha resolvido sua dúvida, por favor, marque como solucionada ✓. Bons Estudos!