Com os conteúdos que foram dados pelo professor, acrescentei duas funções para que o input que o usuário colocar na instrução prompt seja apenas números. Caso ele não coloque números, ele tem mais duas tentativas. Se ainda assim ele não colocar números, ele fica impossibilitado de receber a média das idades e é mostrado que ele não pode mais utilizar o programa.
<meta charset="UTF-8">
<script>
function jumpLine() {
document.write("<br>");
}
function write(content) {
document.write(content);
jumpLine();
}
function familiaresApenasNumero() {
var quantidadeFamiliares = parseInt(prompt("Quantos familiares você possui?"));
if (isNaN(quantidadeFamiliares)) {
for (var tentativas = 1; tentativas <= 2; tentativas++) {
var quantidadeFamiliares = parseInt(prompt("Quantos familiares você possui? Digite apenas números."));
}
if (tentativas > 2) {
alert("Você não respeitou as regras. Não pode mais acessar esse programa.")
}
}
return quantidadeFamiliares;
}
function idadeApenasNumero() {
var idade = parseInt(prompt("Informe a idade do seu familiar."));
if (isNaN(idade)) {
for (var tentativas = 1; tentativas <= 2; tentativas++) {
var idade = parseInt(prompt("Qual a idade do seu familiar? Digite apenas números."));
}
if (tentativas > 2) {
alert("Você não digitou um número, desrespeitando o que foi pedido. Não pode mais utilizar esse programa.");
contador = quantidadeFamiliares;
}
}
return idade;
}
var quantidadeFamiliares = familiaresApenasNumero();
var contador = 1;
var totalIdades = 0;
while (contador <= quantidadeFamiliares) {
var idade = idadeApenasNumero();
totalIdades = totalIdades + idade;
contador++;
}
var mediaIdades = totalIdades / quantidadeFamiliares;
if (isNaN(quantidadeFamiliares) || isNaN(idade)) {
write("<h1> Não pode mais usar esse programa.</h1>")
} else {
write("<h1> A média das idades dos seus familiares é, aproximadamente " + Math.round(mediaIdades) + "</h1>");
}
</script>