1
resposta

Acrescentando função para exigir que o usuário coloque apenas números

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>
1 resposta
O post foi fechado por inatividade após 3 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!