Gestion du personnel en c++
Résolu/Fermé
sony4332
Messages postés
4
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
18 novembre 2014
-
16 nov. 2014 à 23:54
sony4332 Messages postés 4 Date d'inscription dimanche 16 novembre 2014 Statut Membre Dernière intervention 18 novembre 2014 - 18 nov. 2014 à 00:11
sony4332 Messages postés 4 Date d'inscription dimanche 16 novembre 2014 Statut Membre Dernière intervention 18 novembre 2014 - 18 nov. 2014 à 00:11
A voir également:
- Gestion du personnel en c++
- Fiche de pointage du personnel excel gratuit - Télécharger - Tableur
- Rt.comptable personnel - Télécharger - Banque & Budget
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Gestion autorisation application android - Guide
2 réponses
Bonjour,
Commencer par écrire vos struct, contenant toute les données nécessaire pour ensuite réalisé vos fonctions :
Exemple de struct
#include <iostream>
#include <vector>
struct Date {
int jour, mois, annee;
};
struct Personne {
string nom, prenom;
Date ddn; // date de naissance
};
Commencer par écrire vos struct, contenant toute les données nécessaire pour ensuite réalisé vos fonctions :
Exemple de struct
#include <iostream>
#include <vector>
struct Date {
int jour, mois, annee;
};
struct Personne {
string nom, prenom;
Date ddn; // date de naissance
};
sony4332
Messages postés
4
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
18 novembre 2014
18 nov. 2014 à 00:10
18 nov. 2014 à 00:10
Apres concertation avec mes camarades de classe voila la solution que nous avons trouvez:
j'utilise codeblocks comme compilateur
employe.cpp
#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;
}
j'utilise codeblocks comme compilateur
employe.cpp
#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;
}
sony4332
Messages postés
4
Date d'inscription
dimanche 16 novembre 2014
Statut
Membre
Dernière intervention
18 novembre 2014
18 nov. 2014 à 00:11
18 nov. 2014 à 00:11
Toute suggestion pour l'amélioration de ce code sera la bienvenu!
17 nov. 2014 à 23:57