O que há de errado no meu código?

05/01/2023

0

Em JavaScript crie uma função que calcule V.C.M. H.C.M. e C.H.C.M. de uma pessoa a partir dos dados que serão informados pelo usuário nos inputs: Eritrocitos, Hemoglobina e Hematocrito da página HTML. A função do cálculo só deve ser iniciada quando todos os inputs (Eritrocitos, Hemoglobina e Hematocrito) estiverem preenchidos. O resultado do V.C.M. H.C.M. e C.H.C.M. deve aparecer nos inputs do V.C.M, H.C.M. e C.H.C.M. presentes na página HTML automaticamente sem a necessidade de clicar em algum botão apenas ao preencher todos os inputs.

Crie três inputs no HTML para que o usuário possa inserir os valores de Eritrocitos, Hemoglobina e Hematocrito:

<label for="eritrocitos">Eritrocitos</label>
<input type="text" id="eritrocitos">

<label for="hemoglobina">Hemoglobina</label>
<input type="text" id="hemoglobina">

<label for="hematocrito">Hematócrito</label>
<input type="text" id="hematocrito">


Crie três inputs no HTML para exibir os resultados de V.C.M., H.C.M. e C.H.C.M.:

<label for="vcm">V.C.M.</label>
<input type="text" id="vcm" disabled>

<label for="hcm">H.C.M.</label>
<input type="text" id="hcm" disabled>

<label for="chcm">C.H.C.M.</label>
<input type="text" id="chcm" disabled>


No JavaScript, criei a função que irá calcular os valores de V.C.M., H.C.M. e C.H.C.M. e atualizar os inputs de resultado:

function calcular() {
  // Obtenha os valores de Eritrocitos, Hemoglobina e Hematocrito digitados pelo usuário
  const eritrocitos = document.getElementById('eritrocitos').value;
  const hemoglobina = document.getElementById('hemoglobina').value;
  const hematocrito = document.getElementById('hematocrito').value;

  // Verifique se os valores foram preenchidos
  if (eritrocitos && hemoglobina && hematocrito) {
    // Calcule V.C.M., H.C.M. e C.H.C.M. usando os valores de Eritrocitos, Hemoglobina e Hematocrito
    const vcm = calculateVcm(eritrocitos, hemoglobina);
    const hcm = calculateHcm(eritrocitos, hemoglobina);
    const chcm = calculateChcm(eritrocitos, hemoglobina, hematocrito);

    // Atualize os inputs de resultado com os valores calculados
    document.getElementById('vcm').value = vcm;
    document.getElementById('hcm').value = hcm;
    document.getElementById('chcm').value = chcm;
  }
}


Já para calcular o V.C.M., o H.C.M. e o C.H.C.M., usei as seguintes fórmulas:

function calculateVcm(eritrocitos, hemoglobina) {
  // Calcule o V.C.M. usando a fórmula: V.C.M. = Hemoglobina / Eritrocitos
  const vcm = hemoglobina / eritrocitos;
  return vcm;
}

function calculateHcm(eritrocitos, hemoglobina) {
  // Calcule o H.C.M. usando a fórmula: H.C.M. = Hemoglobina / Hematócrito
  const hcm = hemoglobina / hematocrito;
  return hcm;
}

function calculateChcm(eritrocitos, hemoglobina, hematocrito) {
  // Calcule o V.C.M. para utilizar na fórmula do C.H.C.M.
  const vcm = calculateVcm(eritrocitos, hemoglobina);

  // Calcule o C.H.C.M. usando a fórmula: C.H.C.M. = Hemoglobina / (Eritrocitos x V.C.M.)
  const chcm = hemoglobina / (eritrocitos * vcm);
  return chcm;
}



Não sei porque não está funcionado. Alguém pode me ajudar?
Welton Silva

Welton Silva

Responder

Posts

26/05/2023

Melo

Nessa função você tenta dividir a hemoglobina pelo hematócrito sem tê-lo recebido por parâmetro ou definido dentro da própria função.

function calculateHcm(eritrocitos, hemoglobina) {
// Calcule o H.C.M. usando a fórmula: H.C.M. = Hemoglobina / Hematócrito
const hcm = hemoglobina / hematocrito;
return hcm;
}



Por exemplo:


function calculateHcm(eritrocitos, hemoglobina, hematocrito) {
// Calcule o H.C.M. usando a fórmula: H.C.M. = Hemoglobina / Hematócrito
const hcm = hemoglobina / hematocrito;
return hcm;
}
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar