PHP :: Aufgabe #198 :: Lösung #2

4 Lösungen Lösungen öffentlich
#198

Body-Mass-Index (BMI)

Anfänger - PHP von hollst - 20.11.2018 um 18:23 Uhr
Der BMI ist eine (umstrittene) Kenngröße zur Ermittlung des eigenen Über-/Untergewichtszustandes:

BMI = Körpermasse (kg) / Körpergröße zum Quadrat (m**2).

Er wird wie folgt interpretiert:

Starkes Untergewicht < 16
Mäßiges Untergewicht 16 – < 17
Leichtes Untergewicht 17 – < 18,5

Normalgewicht 18,5 – < 25

Präadipositas 25 – < 30

Adipositas Grad I 30 – < 35
Adipositas Grad II 35 – < 40
Adipositas Grad III ≥ 40

Man schreibe ein Programm, das die zwei Basisdaten (Körpermasse und Körpergröße) entgegennimmt und den
Zustand (Starkes Untergewicht, Mäßiges Untergewicht ... Adipositas Grad III) als Ergebnis mitteilt.

Viel Spaß!

#2
vote_ok
von Acta (320 Punkte) - 29.01.2019 um 09:33 Uhr
Quellcode ausblenden PHP-Code




<html>
<head>
<style typ="text/css">
.formular {width: 330px}
.formular .label {width: 150px; margin-right: 5px; float: left; }
.formular .feuerfrei  {width: 300px; margin-top: 5px; }
</style>

</head>

<body>
<div class="formular">
 <form action="" method="post">
<div class="label">Körpergröße in cm:</div> <input type="number" min="1" max="300" name="groesse"><br>
<div class="label">Körpergewicht in kg:</div> <input type="text" name="gewicht"><br>
<input class="feuerfrei" type="submit">

</form>
</div>
<?php

$groesse = $_POST['groesse']/100;
$gewicht = str_replace(",", ".", $_POST['gewicht']);
$bmi = $gewicht / ($groesse * $groesse);
$bmir = number_format(round($bmi, 2, PHP_ROUND_HALF_DOWN), 2, ',', '');
$bmiwert = array("Starkes Untergewicht" => 0, "Mäßiges Untergewicht" => 16, "Leichtes Untergewicht" => 17, "Normalgewicht" => 18.5, "Präadipositas" => 25, "Adipositas Grad I" => 30, "Adipositas Grad II" => 35, "Adipositas Grad III" => 40 );
arsort($bmiwert);
if (!empty($_POST['groesse']) AND !empty($_POST['gewicht']) )  {

foreach($bmiwert AS $key =>$value) {
if ($bmir > $value) {
echo "Der BMI Beträgt $bmir - Dies entspricht: $key"; 
return; }
}
}?>

</body>
</html>


Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2168903

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.