Durante a execução do exercício citado, encontrei um erro. Para interromper a execução do while ao usuário acertar o login e a senha, a variável tentativaAtual recebe o valor de máximoTentativas, ficando com o valor 3. Porém, quando a função else é executada o if dentro dela se torna true quando tentativaAtual é igual a 3, ou seja, vai rodar o else sempre que o login e a senha forem corretos.
Somente eu ví esse detalhe?