?php
declare (strict_types=1);
//variable qui sert à ajouter les contributions de chaque joueurs
(int)$additioncontribution = 0;
//déclarer les variables (age, nom, prénom, temps de course, catégorie d'age)
const DON_PAR_MINUTE = 0.1;
// define("DON", 0.1); A bannir !!!!!
//liste participant stock infoparticipants
(array) $ListeParticipants = [
];
// Variable qui determine si la course est en cours (true = en cours / false = fin de le course)
(bool) $courseActive = true;
while ($courseActive):
(array) $infoparticipant = [
"prenom" => "",
"nom" => "",
"age" => 0,
"heure" => 0,
"minute" => 0,
"seconde" => 0,
"tempstotal" => 0.0,
"contribution" => 0.0
];
(string) $saisieTexte="";
//demander/stocker le prénom
while(!$saisieTexte):
print("Bonjour quel est votre prénom ? ");
$saisieTexte = trim(strval(fgets(STDIN)));
endwhile;
$infoparticipant["prenom"] = $saisieTexte;
//demander/stocker le nom
(string) $saisieNom="";
while(!$saisieNom):
print("Quel est votre nom ? ");
$saisieNom= trim(strval(fgets(STDIN)));
endwhile;
$infoparticipant["nom"] = $saisieNom;
//demander/stocker l'age
(int) $saisieAge= 0;
while(!$saisieAge):
print("Quel est votre age ? ");
$saisieAge = intval(trim(strval(fgets(STDIN))));
endwhile;
$infoparticipant["age"] = $saisieAge;
// on verifie que la durée de la course n'est pas 00:00:00
while ($infoparticipant["heure"] == 0 && $infoparticipant["minute"] == 0 && $infoparticipant["seconde"] == 0):
// Saisie et Stockage des données temps
(int) $saisieHeure = -1;
while ($saisieHeure < 0):
print('saisir heure ? ');
$saisieHeure = intval(trim(strval(fgets(STDIN))));
endwhile;
// Pour stocker la valeur de la variable saisieHeure dans le tableau listeTemps
$infoparticipant ["heure"]= $saisieHeure;
(int) $saisieMinute= -1;
while (!($saisieMinute >=0 && $saisieMinute <= 59)):
print('saisir minute ? ');
$saisieMinute = intval(trim(strval(fgets(STDIN))));
endwhile;
// Pour stocker la valeur de la variable saisieMinute dans le tableau listeTemps
$infoparticipant ["minute"]= $saisieMinute;
(int) $saisieSeconde= -1;
while (!($saisieSeconde >=0 && $saisieSeconde <= 59)):
print('saisir seconde ? ');
$saisieSeconde = intval(trim(strval(fgets(STDIN))));
endwhile;
// Pour stocker la valeur de la variable saisieSeconde dans le tableau listeTemps
$infoparticipant ["seconde"]= $saisieSeconde;
endwhile;
// Conversion heure et seconde en minute + envoie a key(tempstotal)
$infoparticipant["tempstotal"] = $infoparticipant["heure"]*60 + $infoparticipant["minute"] + $infoparticipant["seconde"]/60;
$infoparticipant["contribution"] = $infoparticipant["tempstotal"]*DON_PAR_MINUTE;
printf(" Le participant %s %s contribue de: %g euros". PHP_EOL ,$infoparticipant["nom"] ,$infoparticipant["prenom"] , $infoparticipant["contribution"]);
$additioncontribution = $additioncontribution + $infoparticipant["contribution"];
printf("La contribution totale est actuellement de %g euros". PHP_EOL ,$additioncontribution);
// Stock les données saisies par l'utilisateur dans le tableau $ListeParticipants[]
$ListeParticipants[]= $infoparticipant;
print_r($ListeParticipants);
//il faut une liste classée par tranche d'age et par le temps décroissant
// TRANCHES D'AGES
switch ($infoparticipant["age"]) :
case ($infoparticipant ["age"] < 8) : //equivalent à case ($infoparticipant["age"] == ($infoparticipant["age"] < 8))
print('Vous êtes dans la tranche d\'âge 8 ans ou moins.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 10) :
print('Vous êtes dans la tranche d\'âge 8 - 10 ans.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 14) :
print('Vous êtes dans la tranche d\'âge 10 - 14 ans.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 17) :
print('Vous êtes dans la tranche d\'âge 14 - 18 ans.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 25) :
print('Vous êtes dans la tranche d\'âge 18 - 25 ans.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 45) :
print('Vous êtes dans la tranche d\'âge 25 - 45 ans.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 60) :
print('Vous êtes dans la tranche d\'âge 45 - 60 ans.'). PHP_EOL;
break;
case ($infoparticipant ["age"] < 70) :
print('Vous êtes dans la tranche d\'âge 60 - 70 ans.'). PHP_EOL;
break;
default :
print('Vous êtes dans la tranche d\'âge 70 ans et plus.'). PHP_EOL;
endswitch;
(array) $SPONSORS = [
"Super U" => 0.15,
"Garage Moulin" => 0.045,
"Bijouterie Excelior" => 0.045,
"Boucherie Sanzos" => 0.025,
"Carrefour Market" => 0.075,
"Boulangerie Giraud" => 0.02,
"Cabinet comptable AGC" => 0.045,
"Lambert et Colin avocats associés" => 0.055,
"Chez Romain (épicerie)" => 0.05,
"Le café de la gare (bar-restaurant)" => 0.05,
"Cinéma Le Plaza" => 0.04,
"Lions Club" => 0.125,
"Relai H" => 0.055,
"Mc Donalds (SARL Bernard)" => 0.095,
"Starbuck café" => 0.08,
"La page blanche (libraire-papeterie)" => 0.045
];
(array)$partsponsor = [
"Super U" => $SPONSORS[ "Super U"]*$additioncontribution,
"Garage Moulin" => $SPONSORS["Garage Moulin"]*$additioncontribution,
"Bijouterie Excelior" => $SPONSORS["Bijouterie Excelior"]*$additioncontribution,
"Boucherie Sanzos" => $SPONSORS["Boucherie Sanzos"]*$additioncontribution,
"Carrefour Market" => $SPONSORS["Carrefour Market"]*$additioncontribution,
"Boulangerie Giraud" => $SPONSORS["Boulangerie Giraud"]*$additioncontribution,
"Cabinet comptable AGC" => $SPONSORS["Cabinet comptable AGC"]*$additioncontribution,
"Lambert et Colin avocats associés" => $SPONSORS["Lambert et Colin avocats associés"]*$additioncontribution,
"Chez Romain (épicerie)" => $SPONSORS["Chez Romain (épicerie)"]*$additioncontribution,
"Le café de la gare (bar-restaurant)" => $SPONSORS["Le café de la gare (bar-restaurant)"]*$additioncontribution,
"Cinéma Le Plaza" => $SPONSORS["Cinéma Le Plaza"]*$additioncontribution,
"Lions Club" => $SPONSORS["Lions Club"]*$additioncontribution,
"Relai H" => $SPONSORS["Relai H"]*$additioncontribution ,
"Mc Donalds (SARL Bernard)" => $SPONSORS["Mc Donalds (SARL Bernard)"]*$additioncontribution,
"Starbuck café" => $SPONSORS["Starbuck café"]*$additioncontribution,
"La page blanche (libraire-papeterie)" => $SPONSORS["La page blanche (libraire-papeterie)"]*$additioncontribution
];
print_r($partsponsor);
$odre = [
];
foreach ( $ListeParticipants as $participant ) {
$participant = $participant["tempstotal"] .$participant["nom"];
$odre[] = $participant;
}
arsort ($odre);
print_r ($odre);
(string) $choixFin = '';
while ( $choixFin != 'n' && $choixFin != 'y'):
print('Voulez vous continuer la course (y / n) ?');
$choixFin = trim(strval(fgets(STDIN)));
endwhile;
$courseActive = ($choixFin == 'y');
// Version sans forme ternaire
// if ($choixFin == 'n') {
// $courseActive = true;
// } else {
// $courseActive = false;
// }
endwhile;