Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Resposta das atividades

Utilizei o switch case tinha esquecido do match poderia ter deixado meu código menor depois que parei pra pensar :3

<?php

echo "Informe o primero número: \n";
$numberOne = (float) fgets(STDIN);
echo "Informe o segundo número: \n";
$numberTwo = (float) fgets(STDIN);

echo "Operações matématicas disponíveis\n".
"[1] - Soma\n
[2] - Multiplicação\n
[3] - Divisão\n
[4] - Subtração\n
Informe o número da opção desejada:\n";

$operationMath = (int) fgets(STDIN);

function calculteNumbers(float $a , float $b , int $op):float{
    switch ($op){
        case $op === 1:
            $result = $a + $b;
            break;
        case $op === 2: 
            $result = $a * $b;
            break;
        case $op === 3:
            $result = $a/$b;
            break;
        default :
            $result = $a - $b;
            break;
    }
    return $result;
}

echo " \nResultado :" .calculteNumbers($numberOne, $numberTwo, $operationMath).PHP_EOL;``
<?php

echo "Informe o seu peso:\n";
$weight = (float) fgets(STDIN);
echo "Informe a sua altura:\n";
$height = (float) fgets(STDIN);

function calculateImc(float $weight, float $height):float{
    $result = $weight/ pow($height, 2);
    return $result;
}

$imc= calculateImc($weight, $height);
echo "\nSeu IMC é = " . number_format($imc , 2) .PHP_EOL;
<?php

echo "Informe o valor em ºCelsius que deseja converter:\n";
$celsius = (float) fgets(STDIN);

function celsiusToFahrenheit(float $c): float {
    return ($c * 9/5) + 32; 
}

$fahrenheit = celsiusToFahrenheit($celsius);

echo "O valor º$celsius celsius convertido para Fahrenheit é igual a $fahrenheit \n";
3 respostas
solução!

Oi, Maria! Tudo bem?

Que legal ver você explorando diferentes formas de escrever o código! Realmente, o match pode ser uma alternativa interessante ao switch, especialmente quando queremos deixar o código mais conciso, a parte do código que utiliza o switch ficaria da seguinte forma utilizando o match:

function calculteNumbers(float $a, float $b, int $op): float {
    $result = match ($op) {
        1 => $a + $b,
        2 => $a * $b,
        3 => $a / $b,
        default => $a - $b,
    };
    return $result;
}

Como você pode ver, o match permite associar diretamente a expressão ao valor de retorno, tornando o código mais limpo e fácil de ler. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!

Nossa que massa vou utilizar deixa mais limpinho <3

Mas no caso da divisão, se é necessário validar que o dividendo seja diferente de 0. Poderia continuar usando o match?