You are on page 1of 5

#include "employe.

h"

void saisir_adresse(adresse& adr)


{
cout<<"Entrer le numero de l'adresse"<<endl;
cin>>adr.numero;
cout<<"Entrer le nom de la rue"<<endl;
cin>>adr.rue;
cout<<"Entrer le code postal"<<endl;
cin>>adr.code_postal;
cout<<"Entrer la localite"<<endl;
cin>>adr.localite;
}

void saisir_employe(employe& emp)


{
char sexe;
int s_m;
do{

cout<<"Entrer le nom de l'employe"<<endl;


cin>>emp.e_nom;
}
while(emp.e_nom.length()>30);

cout<<"Entrer le prenom de l'employe"<<endl;


cin>>emp.e_prenom;

saisir_adresse(emp.e_adresse);

cout<<"Entrer le sexe (M-F)"<<endl;


cin>>sexe;
if(sexe=='M')
{
emp.e_sexe=MASCULIN;
do
{
cout<<"Entrer le numero correspondant la situation militaire"<<endl
<<"1--LIBERE"<<endl<<"2--EXEPMTE"<<endl<<"3--REFORME"<<endl<<"4--
INCORPORABLE"<<endl;
cin>>s_m;
}while(s_m<1 && s_m>4);
switch(s_m)
{
case 1:emp.e_situation=LIBERE;
break;
case 2:emp.e_situation=EXEMPTE;
break;
case 3:emp.e_situation=REFORME;
break;
case 4:emp.e_situation=INCORPORABLE;
break;
}
}
else
{
cout<<"Entrer le nom de jeune fille"<<endl;
cin>>emp.e_jeune_fille;
}
}

void afficher_adresse(adresse& adr)


{
cout<<"Son adresse est:"<<adr.numero<<" "<<adr.rue<<"
"<<adr.code_postal<<" "<<adr.localite<<endl;
}

void afficher_employe(employe& emp)


{
cout<<"L'employe s'appelle "<<emp.e_nom<<" "<<emp.e_prenom<<" de sexe
"<<(emp.e_sexe==MASCULIN?"Masculin":"Feminin")<<"."<<endl;
afficher_adresse(emp.e_adresse);
if(emp.e_sexe==MASCULIN)
{
cout<<"Sa situation militaire est ";
switch(emp.e_situation)
{
case LIBERE:cout<<"LIBERE";
break;
case EXEMPTE:cout<<"EXEMPTE";
break;
case REFORME:cout<<"REFORME";
break;
case INCORPORABLE:cout<<"INCORPORABLE";
break;
}
cout<<endl<<endl;
}
else
cout<<"Son nom de jeune fille est "<<emp.e_jeune_fille<<endl<<endl;
}

bool est_homme(employe& emp)


{
if(emp.e_sexe==MASCULIN)
return true;
else
return false;
}

int nombre_hommes(employe emp[],int taille)


{
int nb=0;
for(int i=0;i<taille;i++)
if(est_homme(emp[i]))
nb++;
return nb;
}
int nombre_femmes(employe emp[],int taille)
{
int nb=0;
for(int i=0;i<taille;i++)
if(!est_homme(emp[i]))
nb++;
return nb;
}

int nombre_selon_sexe(employe emp[],int taille,sexe sex)


{
if(sex==MASCULIN)
return nombre_hommes(emp,taille);
else
return nombre_femmes(emp,taille);
}

void classer_employes(employe emp[],int taille)


{
int pos;
employe perm;

for(int i=1;i<taille;i++)
{
perm=emp[i];
pos=i-1;
while(emp[pos].e_nom>perm.e_nom && pos>=0)
{
emp[pos+1]=emp[pos];
pos=pos-1;
}
emp[pos+1]=perm;
}
}

employe.h

#ifndef EMPLOYE_H
#define EMPLOYE_H

#include "iostream"
#include "string.h"
using namespace std;
struct adresse{
int numero;
string rue;
int code_postal;
string localite;
};
enum sexe{MASCULIN,FEMININ};
enum situation{LIBERE,EXEMPTE,REFORME,INCORPORABLE};
struct employe{
string e_nom;
string e_prenom;
adresse e_adresse;
sexe e_sexe;
situation e_situation;
string e_jeune_fille;
};

void saisir_adresse(adresse& adr);

void saisir_employe(employe& emp);

void afficher_adresse(adresse& adr);

void afficher_employe(employe& emp);

bool est_homme(employe& emp);

int nombre_hommes(employe emp[],int taille);

int nombre_femmes(employe emp[],int taille);

int nombre_selon_sexe(employe emp[],int taille,sexe sex=MASCULIN);

void classer_employes(employe emp[],int taille);

#endif // EMPLOYE_H

main.cpp

//#include <QtCore/QCoreApplication>
#include "iostream"
#include "employe.h"

using namespace std;

int main(int argc, char *argv[])


{

int nbEmp;
employe emp[100];
int choix;
cout<<"-----Bienvenue dans le programme de gestion du personnel!-----
"<<endl<<endl;
cout<<"Combien d'employes voulez-vous gerer?"<<endl;
cin>>nbEmp;

for(int i=0;i<nbEmp;i++)
{
cout<<" Employe n"<<i+1<<endl;
saisir_employe(emp[i]);
}

do
{
cout<<"----------Menu----------"<<endl;
cout<<"1--Connaitre le nombre d'employes en fonction du sexe"<<endl;
cout<<"2--Afficher tous les employes"<<endl;
cout<<"3--Classer les employes par ordre alphabetique"<<endl;
cout<<"Entrer 0 pour sortir"<<endl;
cin>>choix;
switch(choix)
{
char sexe;
case 1:cout<<"Veuillez entrer le sexe choisi (M-F)"<<endl;
cin>>sexe;
if(sexe=='M')
cout<<"Le nombre d'hommes est "<<nombre_selon_sexe(emp,nbEmp)<<endl;
else
cout<<"Le nombre de femmes est
"<<nombre_selon_sexe(emp,nbEmp,FEMININ)<<endl;
break;
case 2:cout<<"La liste des employes est:"<<endl;
for(int i=0;i<nbEmp;i++)
{
afficher_employe(emp[i]);
}
break;
case 3:classer_employes(emp,nbEmp);
break;
}
}
while(choix>=1 && choix<=3);

return 0;
}