2
respostas

o calculo do imc não é mais executado.

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

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

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

  var paciente = pacientes[i];
  var tdpeso= paciente.querySelector(".info-peso");
  var tdaltura= paciente.querySelector(".info-altura");

  var peso= tdpeso.textContent;
  var altura= tdaltura.textContent;

  var imcp= paciente.querySelector(".info-imc");
  var pesoreal= true
  var alturareal= true
  if(peso < 0 || peso >= 1000){ pesoreal=false; imcp.textContent = 'peso invalido!'; paciente.classList.add("paciente-invalido")};
  if(altura< 0.10 || altura >= 3.0){ alturareal=false; imcp.textContent = 'altura invalida!';paciente.classList.add("paciente-invalido")};

  if(alturareal && pesoreal){
  var imc = calculaimc(peso,altura);
  var imcp= paciente.querySelector(".info-imc");
  imcp.textContent= imc;
      };

  function calculaimc(peso,altura){
    var imc= 0;
    peso/(altura*altura);
    return imc.toFixed(2);
  }
2 respostas

Fala ai Ronald, tudo bem? Consegue compartilhar o projeto completo? Assim eu consigo simular o problema por aqui e analisá-lo com mais calma, pois, olhando o código eu posso deixar passar algum detalhe muito facilmente.

Pode compartilhar através do Github ou Google Drive (zipado).

Fico no aguardo.

Chefe bele? Não está dando algum erro no seu console do navegador não? Olhando assim nessa parte apenas a função está declarada no final e sendo chamada na condição acima dela. Caso a condição passe o var imc = calculaimc(peso, altura) está sendo atribuido ao valor da função que foi declarada no final, tenta inverter essa ordem.

Seu código

 if(alturareal && pesoreal){
  var imc = calculaimc(peso,altura);
  var imcp= paciente.querySelector(".info-imc");
  imcp.textContent= imc;
      };

  function calculaimc(peso,altura){
    var imc= 0;
    peso/(altura*altura);
    return imc.toFixed(2);
  }

Invertido

  function calculaimc(peso,altura){
    var imc= 0;
    peso/(altura*altura);
    return imc.toFixed(2);
  }

if(alturareal && pesoreal){
  var imc = calculaimc(peso,altura);
  var imcp= paciente.querySelector(".info-imc");
  imcp.textContent= imc;
      };

Em Python eu sei que não importa a ordem mas agora no JavaScript se me recordo o console irá apresentar um erro de 'Undefined function...'

Testa ai e me fala :D