Boa noite, para resolver a questão considerei algumas mudanças no código:
- Defini a variável contador como 0
- Na condição do while alterei para "contador < qtdNumeros"
- Adicionei "contador++" dentro do while
Dessa forma com a variável contador iniciando como 0, ele vai ser menor do que o valor informado pelo usuário (que estará armazenado na variável qtdNumeros). A cada loop do while é incrementado +1 na variável contador, sendo assim, o loop irá encerrar no momento que o valor de contador for igual ao de qtdNumeros.
Fiz alguns testes desse código no CodePen e funcionou :)
let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = 0;
while(contador < qtdNumeros){
contador++;
let numero = parseInt(prompt('Digite o numero:'));
soma += numero;
}
let media = soma / qtdNumeros;
console.log(media);
Edit 07/03/2024
Conversando com um amigo, ele me mostrou o "Teste de Mesa" que ajuda em soluções de problemas como esse, utilizando o teste cheguei nesse resultado:
let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = qtdNumeros;
while(contador > 0){
let numero = parseInt(prompt('Digite o numero:'));
soma += numero;
contador--;
}
let media = soma / qtdNumeros;
console.log(media);
Não alterei nenhuma variável, só alterei a lógica de incremento (++) para decremento (--)