1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
   | /* pour le constructeur, utilisons la liste d'initialisation */
Entreprise::Entreprise(const std::string& n):mname(n),salarie(){}
/* le destructeur n'a rien à faire */
Entreprise::~Entreprise(){}
/* L'entreprise doit répondre à la question "quel est ton nom" */
const std::string& Entreprise::name() const { return mname;}
/* L'entreprise doit engager un salarié
 * @ params : n: le nom du salarie
 *            p: le prénom du salarie
 *            s: le sexe du salarie
 *            a: l'age du salarie
*/
void Entreprise::engage(const std::string& n, const std::string& p, char s, 
                    unsigned int a)
{
    /* création du salarié, l'identifiant est calculé sur le nombre 
     * de salariés déja existants
     */
    Salarie toadd={salaries.size()+1,n,p,s,a};
    /* ajout du salarié à la fin de la liste */
    salaries.push_back(toadd);
}
/* l'affichage des salariés à l'écran */
void Entreprise::afficheTous() const
{
     /* parcourrons la liste des salariés */
    for(std::list<Salarie>::const_iterator it= salaries.begin();
       it!=salaries.end();++it)
    {  
        /* et demandons en l'affichage */
        std::cout<<(*it).nom<<" "<<(*it).prenom<<" "<<(*it).age
                 <<" "<<(*it).sexe<<std::endl;
    }
}
/* l'enregistrement des salariés dans un fichier dont le nom est
 * donné en parametre
 */
void Entreprise::enregistre(const std::string& filename) const
{
    /* ouvrons un fichier en lecture seule */
    std::ofstream ofs(filename.c_str());
     /* parcourrons la liste des salariés */
    for(std::list<Salarie>::const_iterator it= salaries.begin();
       it!=salaries.end();++it)
    {  
        /* et demandons l'écriture dans le ficheir */
        ofs<<(*it).nom<<" "<<(*it).prenom<<" "<<(*it).age
                 <<" "<<(*it).sexe<<std::endl;
    }
} | 
Partager