<

 
// Addition
function addition($Nbr1,$Nbr2) {

    return  $Nbr1 + $Nbr2;
}

//Soustraction
function soustraction($Nbr1,$Nbr2) {

    return  $Nbr1 - $Nbr2;
}

//Multipication
function multiplication($Nbr1,$Nbr2) {

    return  $Nbr1 * $Nbr2;
}

//Division 
function division($Nbr1,$Nbr2) {

    return  $Nbr1 / $Nbr2;
}

// Saisi des réels
function saisieReel($message) {
    ( float )$ReelSaisie = -1.0;

    do {
        print($message);
        $ReelSaisie = floatval(trim(fgets(STDIN)));
    } while (!is_numeric($ReelSaisie));

    return $ReelSaisie;

}

// Saisi des opérateur 
function saisioperateur($message){
    (string)$operateur= "";
    do {
        print($message);
        $operateur= strval(trim(fgets(STDIN)));
    } while(!is_string ($operateur));
    return $operateur;
}

// Menu avec différentes possibilité
(string) $menu = '';

(bool)$terminer = false ;

while (!$terminer):
    print('Saisir 1 pour des calculs arithmétiques '.PHP_EOL . 'Saisir 2 pour des calculs de surface :'.PHP_EOL);
    $menu = trim(strval(fgets(STDIN)));



// declaration variables
(float) $finale = 0.0 ; 

$valeur1 =  saisieReel('saisir la valeur 1 : '); 
$operateur = saisioperateur('saisir operateur :');
$valeur2 =  saisieReel('saisir la valeur 2 : '); 

switch($operateur) :
    case ("+"):
         $finale = addition($valeur1,$valeur2);
        break ;

    case ("-"):
        $finale = soustraction($valeur1,$valeur2);
        break ;

    case ("*"):
        $finale = multiplication($valeur1,$valeur2);
        break ;

    case ("/"):
        $finale = division($valeur1,$valeur2);
        break ;

    default;
endswitch;


 printf("Le resultat est %.2f".PHP_EOL, $finale);

 // Retour, question de fin 
 print("Avez-vous un autre calcul ? ( oui/non )" );
 $nouvcalc = trim(strval(fgets(STDIN)));


if ($nouvcalc == "non") {
    $terminer = true ;

}
endwhile; 

(float )$calcsurface= 0.0;
while ($calculargeur):
    $calcsurface = saisieReel($calculargeur);
    print("Saisir la largeur");
    $calculargeur = floatval(trim(fgets(STDIN)));
endwhile;


while ($calculongueur):
    $calcsurface = saisieReel($calculongueur);
    print("Saisir la longueur");
    $calculongueur = floatval(trim(fgets(STDIN)));
endwhile;

// resultat de la multiplication
$calcsurface = $calculargeur * $calculongueur ;
printf(' La surface est de %.2f' ,$calcsurface);