Source de: parite.php

Retour
<?php
//Code servant a afficher le source.
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../css/sga.css\">";
Echo 
"<A href=\"show_source.php?script=parite.php\">Voir source</A><br><br>";

//Code de l'exercice.
$annuaire_stagiaires=array("Madame Durant" => array("21, rue Georges Brassens","94000","Creteil"),
                           
"Mademoiselle Dupré" => array("54, rue Jacques Brel""75000","Paris"),
                           
"Père Alain" => array("13, rue des Saint pères""93000""Saint-Denis"),
                           
"Monsieur Camus" => array("79, rue du scribe""92160","Antony"),
                           
"Jean-Marc Leblanc" => array("rue des blanc manteaux""91000","Montfermeil")
                           );

    
$msg "Nombre de stagiaires ";

    
//On définit la fonction qui déterminera la parité et le nombre hommes/femmes'
    
function ajoute_stagiaire($mode '',$chaine='')
    {
        global 
$msg;
        static 
$nbF 0;
        static 
$nbM 0;


     if(
$mode!='affiche'){

        if(
eregi("Madame",$chaine)){
            
$nbF++; // on incrémente le nombre de stagiaires femme
        
}
        elseif(
eregi("Mademoiselle",$chaine))
        {
            
$nbF++; // on incrémente le nombre de stagiaires femme
        
}
        else
        {
            
$nbM++; // on incrémente le nombre de stagiaires homme
        
}
       }
        
//Si la fonction a été appellée avec le paramètre $mode='affiche'
        //alors on calcul la parité on met en page et on affiche le résultat
        
if($mode == "affiche")
        {
            
$total$nbF $nbM;
            
$resultat  "Calcul de la parité sur un total de $total stagiaires : <br>";
            
$resultat .= $msg."femmes : ".$nbF."<br>"// on affiche le nombre de stagiaires
            
$resultat .= $msg."hommes : ".$nbM."<br>"// on affiche le nombre de stagiaires
            
$resultat .= moyenne_parité($nbF,$nbM); // on calcul la moyenne de la parité
            
echo $resultat// on affiche le résultat
       
}
    }

    
// on calcul la parité et on renvoi le résultat sous forme de chaine
    
function moyenne_parité($nbF=1,$nbM=1)
    {
        
$total$nbF $nbM;
        
$PcentF=round(100/($total/$nbF),2);
        
$PcentM=round(100/($total/$nbM),2);
        return 
"soit $PcentF de femmes et $PcentM d'hommes"// on renvoi le nombre de stagiaires
    
}

    
// on parcour le tableau et pour chaque élément du tableau on éxécute la fonction ajoute_stagiaire
    
foreach ($annuaire_stagiaires as $k => $adresse)
    {
        
ajoute_stagiaire('',$k); // incrémente nb de 1
    
}

    
//on execute la fonction ajoute_stagiaire avec le paramètre $mode='affiche'
    //pour afficher le résultat
    
ajoute_stagiaire("affiche"); // affiche Nombre de stagiaires
?>

Traité le : 26/08/2026 21:51:57