Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rusti Stein

Script Peso Ideal

Recommended Posts

Seguinte pessoal, fiz esse script de uma forma e funcionou perfeitamente. Agora to tentando fazer de outra forma, apenas para exercitar. Nessa maneira de fazer quero que o script tenha 'function', funcione com "return" e gere uma saída Booleana. O fato é que esse script não está gerando nenhuma saída.



//////////////////////////////////

<body>

9. Escreva um algoritmo que receba a altura e o sexo de uma pessoa, calcule e imprima o seu peso ideal, utilizando as seguintes fórmulas: • para homens: (72.7 * H) – 58 • para mulheres: (62.1 * H) – 44. - RETORNO BOOLEANO <br><br>


<form action="index.php" method="post">


<legend> TESTE DO PESO IDEAL </legend>

<br>

Informe seu sexo: <br>

<input type="radio" name="sexo" value="femi"/>Feminimo <br>

<input type="radio" name="sexo" value="masc"/>Masculino <br><br>


Informe o valor aproximado de sua altura:

<select name="altura">

<option value="1.4"> 1.40 </option>

<option value="1.45"> 1.45 </option>

<option value="1.5"> 1.50 </option>

<option value="1.55"> 1.55 </option>

<option value="1.6"> 1.60 </option>

<option value="1.65"> 1.65 </option>

<option value="1.7"> 1.70 </option>

<option value="1.75"> 1.75 </option>

<option value="1.8"> 1.80 </option>

<option value="1.85"> 1.85 </option>

<option value="1.9"> 1.90 </option>

<option value="1.95"> 1.95 </option>

<option value="2.0"> 2.00 </option>

</select>

<br>

Informe seu peso:

<input type="number" name="peso"/> <br><br>

<input type="submit" value="Enviar os 3 Valores"/>

</form>


<?php


if(isset($_POST['sexo'&&'altura'&&'peso']))

$sex = $_POST['sexo'];

$alt = $_POST['altura'];

$pes = $_POST['peso'];


function pesoIdeal($sex, $alt, $pes){

if ($sex == 'femi'){

$a = $alt * 62.1 - 44;

$b = $a * 0.9;

if($pes <= $a && $pes >= $b )

return true;

else

return false;

}

else

$a = $alt * 72.7 - 58;

$b = $a * 0.9;

if($pes >= $a && $pes <= $b )

return true;

else

return false;

}


if(isset($_POST['sexo'&&'altura'&&'peso'])){

echo "Retorno Booleano: <br />";

echo pesoIdeal($sex, $alt, $pes);

}


?>


</body>


</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está aqui:

if(isset($_POST['sexo'&&'altura'&&'peso']))

O correto seria:

if(isset($_POST['sexo']) && isset($_POST['altura']) && isset($_POST['peso']))

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, altere os valores do seu retorno, return false claramente não irá retornar nada. Apenas true (que irá retornar 1).

<html>
<head><title>Peso</title>
</head>
<body>
9. Escreva um algoritmo que receba a altura e o sexo de uma pessoa, calcule e imprima o seu peso ideal, utilizando as seguintes fórmulas: • para homens: (72.7 * H) – 58 • para mulheres: (62.1 * H) – 44. - RETORNO BOOLEANO <br><br>
 
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
 
<legend> TESTE DO PESO IDEAL </legend>
<br>
Informe seu sexo: <br>
<input type="radio" name="sexo" value="femi"/>Feminimo <br>
<input type="radio" name="sexo" value="masc"/>Masculino <br><br>
 
Informe o valor aproximado de sua altura:
<select name="altura">
<option value="1.4"> 1.40 </option>
    <option value="1.45"> 1.45 </option>
<option value="1.5"> 1.50 </option>
    <option value="1.55"> 1.55 </option>
    <option value="1.6"> 1.60 </option>
    <option value="1.65"> 1.65 </option>
    <option value="1.7"> 1.70 </option>    
    <option value="1.75"> 1.75 </option>
    <option value="1.8"> 1.80 </option>
    <option value="1.85"> 1.85 </option>
    <option value="1.9"> 1.90 </option>
    <option value="1.95"> 1.95 </option>
    <option value="2.0"> 2.00 </option>
</select>
<br>
Informe seu peso:
<input type="number" name="peso"/> <br><br>
<input type="submit" value="Enviar os 3 Valores"/>
</form>
 
<?php
 
if(isset($_POST['sexo']) && isset($_POST['altura']) && isset($_POST['peso'])){
$sex = $_POST['sexo'];
$alt = $_POST['altura'];
$pes = $_POST['peso'];
 
function pesoIdeal($sex, $alt, $pes){
if ($sex == 'femi'){
$a = $alt * 62.1 - 44;
$b = $a * 0.9;
if($pes <= $a && $pes >= $b ){
return 'verdade';
}else{
return 'falso';
}
}else{
$a = $alt * 72.7 - 58;
$b = $a * 0.9;
if($pes >= $a && $pes <= $b ){
return 'verdade';
}else{
return 'falso';
}
}
}
}
 
if(isset($_POST['sexo']) && isset($_POST['altura']) && isset($_POST['peso'])){
echo "Retorno Booleano: <br />";
   echo pesoIdeal($sex, $alt, $pes);
}
 
?>
 
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.