Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não consigo achar o erro. Mostra erro de Syntax na última linha do código

Tentei várias correções, mas não consigo que funcione como a instrução da aula. Alguém poderia ajudar?

Mensagem no console. a linha 64 é a última no fim do código Uncaught SyntaxError: Unexpected end of input calcula-imc.js:64

var titulo = document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista 2";

var pacientes = document.querySelectorAll(".paciente");

for (var i = 0; i < pacientes.length; i++) {

    var paciente = pacientes[i]

    var tdPeso = paciente.querySelector(".info-peso");
    var peso = tdPeso.textContent;

    var tdAltura = paciente.querySelector(".info-altura");
    var altura = tdAltura.textContent;

    var tdImc = paciente.querySelector(".info-imc");

    var pesoEhValido = validaPeso(peso);
    var alturaEhValida = validaAltura(altura);

    if (!pesoEhValido) {
        console.log("Peso inválido!");
        pesoEhValido = false;
        paciente.classList.add("paciente-invalido");
        tdImc.textContent = "Peso inválido!";
    }

    if (!alturaEhValida){
        console.log("Altura inválida!");
        alturaEhValida = false;
        paciente.style.backgroundColor = "lightcoral"; // pode ser alterado estilo no JS, mas não é uma BOA PRÁTICA. Estilo deve ser alterado no CSS
        tdImc.textContent = "Altura inválida!";
    }

    if (alturaEhValida && pesoEhValido){
        var imc = calculaImc(peso,altura);
        tdImc.textContent = imc;
    } else {
        tdImc.textContent = "Altura e/ou peso inválidos!"
      }

    function validaPeso(peso){
      if (peso >= 0 && peso <= 1000) {
          return true;
      }else{
        return false;
      }
    }

    function validaAltura(altura) {

      if (altura >= 0 && altura <= 3.0) {
          return true;
      } else {
          return false;
        }
    }

    function calculaImc(peso, altura) {
      var imc = 0;
      imc = peso / (altura * altura);
      return imc.toFixed(2);
    }
3 respostas
solução!

Fala ai Christina, tudo bem? Acho que falta uma } no final para fechar o corpo e escopo do for.

Espero ter ajudado.

valeu Matheus, era isso mesmo, obrigada

Magina Christina, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.