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

Nao calcula o imc

Ola bom dia,

Nao consegui calcular o imc, eu fiz um codigo diferente.

...

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

console.log(pacientes);

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

  var paciente = pacientes[i];

  var tdPeso = paciente.querySelector(".info-peso").textContent;
  var tdAltura = paciente.querySelector(".info-altura").textContent;
  var tdImc = paciente.querySelector(".info-imc");

  var imc = tdPeso / (tdAltura * tdAltura);
  console.log(imc);

  if ((tdPeso<=0 | tdPeso>=500) || (tdAltura <=0 | tdAltura>=3)) {
    tdImc.textContent = "Peso ou altura invalidos";
    console.log("altura ou peso invalidos");
  }else {
    tdImc.textContent = imc;
    console.log(imc);
  }
}

Ja agradeco a ajuda de todos que colaborarem.

4 respostas

Oi Pedro, você consegue informar para a gente qual o erro que está acontecendo? Quando você diz que não calcula, é que o resultado está vindo errado? da algum erro que fica registrado no console do navegador?

solução!

Boa tarde, Pedro! Como vai?

Provavelmente o problema é que o código não está entrando no laço de repetição for pq o correto é pacientes.length e não pacientes.lenght como está no código. Faça assim e veja se resolve o seu problema:

for(var i = 0; i < pacientes.length; i++) {
     // restante do código omitido.
}

Qualquer coisa é só falar!

Grande abraço e bons estudos!

kkkkkk valeu demais Gabriel, as vezes eh foda, a gente revisa o codigo 10x e nao ve essas bobagens. Desculpa a falta de acentos, meu teclado eh alemao. abraco

Por nada, Pedro! Uma dica importante é sempre que tiver problema com o JavaScript vc dar uma olhada no console do navegador e ver se tem algum erro sendo lançado lá. Com isso vc pode ganhar informações importantes pra resolver as situações.

Por fim, sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos!