Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solução IMC

<?php

$altura = 1.82;
$peso = 104.00;
$imc = $peso / ($altura ** 2);

echo "Sua altura eh: $altura" .PHP_EOL;
echo "Seu peso.. eh: $peso" .PHP_EOL;
echo "Seu IMC... eh: $imc" .PHP_EOL;
echo "     " .PHP_EOL;

if ($imc < 18.5) {
    echo "ABAIXO DO PESO" .PHP_EOL;
} elseif ($imc >= 18.5 && $imc <= 24.9) {
    echo "NORMAL" .PHP_EOL;
} elseif ($imc >= 25.5 && $imc <= 29.9) {
    echo "SOBREPESO" .PHP_EOL;
} elseif ($imc >= 30.0 && $imc <= 34.9) {
    echo "OBESIDADE GRAU 1" .PHP_EOL;
} elseif ($imc >= 35.0 && $imc <= 39.9) {
    echo "OBESIDADE GRAU 2" .PHP_EOL;
} else {
    echo "OBESIDADE GRAU 3" .PHP_EOL;
}

echo "     " .PHP_EOL;
echo "========== TABELA IMC ===============" .PHP_EOL;
echo "Menos que 18,5      Abaixo do peso" .PHP_EOL;
echo "Entre 18,5 e 24,9   Peso normal" .PHP_EOL;
echo "Entre 25,0 e 29,9   Sobrepeso" .PHP_EOL;
echo "Entre 30,0 e 34,9   Obesidade grau 1" .PHP_EOL;
echo "Entre 35,0 e 39,9   Obesidade grau 2" .PHP_EOL;
echo "Mais do que  40,0   Obesidade grau 3" .PHP_EOL;
1 resposta

Nelson boa tarde! Estava reparando no seu codigo e nesse trecho aqui:

} elseif ($imc >= 18.5 && $imc <= 24.9) {
    echo "NORMAL" .PHP_EOL;
} elseif ($imc >= 25.5 && $imc <= 29.9) {

se a pessoa tiver seu IMC entre 25.0 e 25.4 ela vai cair no else e vai retornar obesidade grau 3. Para que fique correto, deveria ser assim:

} elseif ($imc >= 18.5 && $imc <= 24.9) {
    echo "NORMAL" .PHP_EOL;
} elseif ($imc >= 25.0 && $imc <= 29.9) {