⚖️ BMI‑beregner – Use → Modify

Fra basisformel til ekstra funktioner og pænere UI

Use: Kør og forstå

Lav inputs: inpVægt (kg) og inpHøjde (cm), knap btnBMI og label lblBMI.

// BMI = vægt (kg) / (højde i m)^2
onEvent("btnBMI", "click", function() {
  var vægt = getNumber("inpVægt");
  var højdeMeter = getNumber("inpHøjde") / 100;
  var bmi = vægt / (højdeMeter * højdeMeter);
  setText("lblBMI", "BMI: " + bmi.toFixed(1));
});

Modify 1: Kategori

function kategori(bmi) {
  if (bmi < 18.5) return "Undervægt";
  if (bmi < 25) return "Normalvægt";
  if (bmi < 30) return "Overvægt";
  return "Svær overvægt";
}

onEvent("btnBMI", "click", function() {
  var vægt = getNumber("inpVægt");
  var h = getNumber("inpHøjde") / 100;
  var bmi = vægt / (h*h);
  setText("lblBMI", "BMI: " + bmi.toFixed(1) + " (" + kategori(bmi) + ")");
});

Modify 2: Input‑validering

function gyldigtTal(x) { return !isNaN(x) && x > 0; }

onEvent("btnBMI", "click", function() {
  var v = getNumber("inpVægt");
  var h = getNumber("inpHøjde");
  if (!gyldigtTal(v) || !gyldigtTal(h)) {
    setText("lblBMI", "Ugyldigt input – prøv igen.");
    return;
  }
  h = h/100; var bmi = v/(h*h);
  setText("lblBMI", "BMI: " + bmi.toFixed(1));
});

↩ Til forsiden