gestion de paiement des
employés
Acceuil Mode console Classe main Mode graphique
2009/2010. 4éme Année Encadrant EMSI.
Mr: M.Mansouri.
Ingénieurie Automatismes
et Informatique Industrielle.
La classe employe.
public class employer {
String
nom,prenom;
int
date_e[][];
static
int matricule=0;
int
salaire,memo[],abs_ret_t[],jr_hr_t[];
public employer(String n,String p,int jour,int
mois,int an,int s)
{
nom=n;prenom=p;
salaire=s;
memo=new int[2];
memo[0]=0;memo[1]=0;
abs_ret_t=new
int[2];
abs_ret_t[0]=0;abs_ret_t[1]=0;
jr_hr_t=new
int[2];
jr_hr_t[0]=0;jr_hr_t[1]=0;
matricule++;
date_e=new
int [1][3];
date_e[0][0]=jour;date_e[0][1]=mois;date_e[0][2]=an;
}
public
void payer()
{
System.out.println("Il
vas recevoire :"+salaire+"DH");
}
public
void jours_travail(int jour,int mois,int an){
int
j=jour-date_e[1][0];
int
m=mois-date_e[1][1];
int a=an-date_e[1][2];
int
somme=j+(20*m)+(240*a);
jr_hr_t[0]=somme-abs_ret_t[0];
jr_hr_t[1]=8*(somme-abs_ret_t[1]);
}
public
void absenses(){
memo[0]++;
abs_ret_t[0]++;
}
public
void retards(int h){
memo[1]+=h;
abs_ret_t[1]+=h;
}
public
void check_absensses(){
if(memo[0]>=3){
salaire=(int)
(salaire-(0.1*salaire));
System.out.println("Avertissement!! "+memo[0]+" absense(s) !!");
memo[0]=0;
salaire=(int)
(salaire+(0.1*salaire));
}
else
System.out.println("Avertissement!!
"+memo[0]+"
absense(s)");
}
public void check_retars()
{
if(memo[1]>=5){
salaire=(int)
(salaire-(0.05*salaire));
System.out.println("Avertissement!! "+memo[1]+" retard(s) !!");
memo[1]=0;
salaire=(int)
(salaire+(0.05*salaire));
}
else
System.out.println("Avertissement!!
"+memo[1]+"
retard(s)");
}
public void conge_payer(){
if((jr_hr_t[0]>=240)||(jr_hr_t[1]>=1920))
System.out.println("Bon
vacance! le montant est :"+0.85*salaire);
else
System.out.println("Vous n'avez pas le droit de conge payer !!");
}
public
void promotion(int pro){
salaire+=pro;
System.out.println("Salaire
augmenter !");
}
public
void prime(){
System.out.println("la
prime :"+0.5*salaire);
}
}
Explication et
fonctionnalités.
Dans cette classe les attributs nécessaires pour créer un employé
sont : le nom, le prénom, le matricule, la date d’embauche, le salaire, le
nombre d’absences et le nombre de retards.
On définit les méthodes suivantes :
Le constructeur : On initialise toutes les variables et les
tableaux.
Void payer() : Afficher le
salaire de l’employé.
Void jours_travail (int jour,int
mois,int an) : On demande à l’utilisateur d’entrer la date actuelle afin
de calculer la somme des jours
travaillés par l’employé.
Void absences() : Incrémenter le nombre d’absences mensuel et
annuel pendant chaque appel.
Void
retards(int h) : Incrémenter le nombre de retards mensuel et annuel pendant chaque appel.
Void
check_absensses() : Tester, si les absences dépassent 3, on enlève 10% du
salaire de l’employé, sinon on lui donne un avertissement et on affiche le
nombre d’absence dans les deux cas .
Void
check_retards() : Tester, si les absences dépassent 5, on enlève 5% du
salaire de l’employé, sinon on lui donne un avertissement et on affiche le
nombre de retards dans les deux
cas .
Vvoid
conge_payer() : Tester si l’employé a travaillé 240 jours ou 1920 heures par an et lui affecter un
montant de 85% de son salaire pendant le congé, sinon pas de congé payé .
Void
promotion(int pro) : Ajouter une somme au salaire de l’employé.
Void prime(int
pri) : Afficher la prime donnée et qui est égale à 5% du salaire.
La classe ingénieur().
class ingenieur extends employer{
public
ingenieur(String n,String p,int jour,int mois,int an,int s)
{
super(n,p,jour,mois,an,s);
System.out.println("votre
ingenieur est ajoute !");
}
public
void affiche_un(int mat){
System.out.println("N° "+mat);
System.out.println();
System.out.println("Niveau : Ingenieur ");
System.out.println("NOM
:"+nom+" PRENOM
:"+prenom);
System.out.println("DATE
D'embauche le
:"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);
System.out.println("Le
salaire :"+salaire);
System.out.println("
L'absence mensuel
:"+memo[0]+" Retard
mensuel :"+memo[1]);
System.out.println("L'absence
totale :"+ abs_ret_t[0]+"
Jours Retard totale :"+abs_ret_t[1]+" Heurs");
System.out.println("
Jour Travaillé :"+jr_hr_t[0]+"
jours Heurs travailler
:"+jr_hr_t[1]+" Heurs");
}
public
void payer()
{
System.out.println("Il
vas recevoire :"+salaire+"DH");
}
public
void jours_travail(int jour,int mois,int an){
super.jours_travail(jour,
mois, an);
}
public
void absenses(){
super.absenses();
}
public
void retards(int h){
super.retards(h);
}
public
void check_absensses(){
super.check_absensses();
}
public void check_retars()
{
super.check_retars();
}
public void conge_payer(){
super.conge_payer();
}
public void promotion(int pro){
super.promotion(pro);
}
public void prime(){
super.prime();
}
}
Explication et
fonctionnalités.
Cette classe ingénieur qui est un type
spécifique d’employés hérite les attributs et certaines méthodes de la classe
employe
On définit les méthodes suivantes :
Le constructeur : Hérite les attributs de la classe employe, en
utilisant le mot super.
Void
affiche_un(int mat) : Afficher le numéro de matricule de l’ingénieur, son
nom, son prénom, la date d’embauche, le salaire, les jours travaillés et le
nombre d’absences et de retards s’ils existent.
Void
payer(int mat) : Afficher le salaire de l’ingénieur qu’il va recevoir.
Void
jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void
check_absensses(), void check_retards(), void conge_payer(), void promotion(int
pro), void prime(int pri) : hériter
ses méthodes qui sont déjà prédéfinies dans la classe mère employe.
La classe commercial().
public class commercial extends employer {
String tab[][];
public commercial(String n,String
p,int jour,int mois,int an,int s)
{
super(n,p,jour,mois,an,s);
System.out.println("votre
Commercial est ajoute !");
}
public
void affiche_un(int mat){
System.out.println("N° "+mat);
System.out.println();
System.out.println("Niveau : Commercial ");
System.out.println("NOM
:"+nom+" PRENOM
:"+prenom);
System.out.println("DATE
D'embauche le
:"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);
System.out.println("Le
salaire :"+salaire);
System.out.println("
L'absence mensuel
:"+memo[0]+"Retard mensuel
:"+memo[1]);
System.out.println("L'absence
totale :"+ abs_ret_t[0]+"
Jours Retard totale :"+abs_ret_t[1]+" Heurs");
System.out.println("
Jour Travaillé :"+jr_hr_t[0]+"
jours Heurs travailler
:"+jr_hr_t[1]+" Heurs");
}
public
void payer()
{
System.out.println("Il
vas recevoire :"+salaire+"DH");
}
public
void jours_travail(int jour,int mois,int an){
super.jours_travail(jour,
mois, an);
}
public
void absenses(){
super.absenses();
}
public
void retards(int h){
super.retards(h);
}
public void
check_absensses(){
super.check_absensses();
}
public void check_retars()
{
super.check_retars();
}
public void conge_payer(){
super.conge_payer();
}
public void promotion(int pro){
super.promotion(pro);
}
public void prime(){
super.prime();
}
}
Explication et
fonctionnalité.
Cette classe commercial qui est un type
spécifique d’employés hérite les attributs et certaines méthodes de la classe
employe
On définit les méthodes suivantes :
Le constructeur :Hérite les attributs de la classe employe, en
utilisant le mot super.
Void affiche_un(int mat) : Afficher le numéro de matricule du commerçant,
son nom, son prénom, la date d’embauche, le salaire, les jours travaillés par an et le nombre
d’absences, le nombre de retards.
Void
payer(int mat) : Afficher le salaire du commerçant qu’il va recevoir.
void jours_travail(int jour,int mois,int an), void absences(),void
retards(int h), void check_absensses(), void check_retards(), void conge_payer(),
void promotion(int pro), void prime(int
pri) : Hériter ses méthodes qui sont déjà prédéfinies dans la classe mère employe.
La classe technicien().
class technicien extends employer{
String
tab[][];
public
technicien(String n,String p,int jour,int mois,int an,int s)
{
super(n,p,jour,mois,an,s);
System.out.println("votre
technicien est ajoute !");
}
public
void affiche_un(int mat){
System.out.println("N° "+mat);
System.out.println();
System.out.println("Niveau : Technicien ");
System.out.println("NOM
:"+nom+" PRENOM
:"+prenom);
System.out.println("DATE
D'embauche le
:"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);
System.out.println("Le
salaire :"+salaire);
System.out.println("
L'absence mensuel :"+memo[0]+" Retard mensuel :"+memo[1]);
System.out.println("L'absence
totale :"+ abs_ret_t[0]+"
Jours Retard totale :"+abs_ret_t[1]+" Heurs");
System.out.println("
Jour Travaillé :"+jr_hr_t[0]+"
jours Heurs travailler
:"+jr_hr_t[1]+" Heurs");
}
public
void payer()
{
System.out.println("Il
vas recevoire :"+salaire+"DH");
}
public
void jours_travail(int jour,int mois,int an){
super.jours_travail(jour,
mois, an);
}
public
void absenses(){
super.absenses();
}
public
void retards(int h){
super.retards(h);
}
public
void check_absensses(){
super.check_absensses();
}
public void check_retars()
{
super.check_retars();
}
public
void conge_payer(){
super.conge_payer();
}
}
Explication et
fonctionnalité.
Cette classe technicien qui est un type
spécifique d’employés hérite les attributs et certaines méthodes de la classe
employe
On définit les méthodes suivantes :
Le constructeur : Hérite les attributs de la classe employe ,en
utilisant le mot super.
Void
affiche_un(int mat) : Afficher le numéro de matricule du technicien, son
nom, son prenom, la date d’embauche, le salaire, les jours travaillés, le nombre d’absences et
le nombre de retards s’ils existent.
Void
payer(int mat) : Afficher le salaire du technicien qu’il va recevoir.
Void
jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void
check_absensses(), void check_retards(), void conge_payer() : Hériter ses
méthodes qui sont déjà définies dans la classe employe.
Pour télécharger le fichier du programme en mode console pour le logiciel eclips
Clique ICI.
La classe manutentionnaire().
public class manutentionnaire extends employer {
String
tab[][];
public
manutentionnaire(String n,String p,int jour,int mois,int an,int s)
{
super(n,p,jour,mois,an,s);
System.out.println("votre
Manutentionnaire est ajoute !");
}
public void
affiche_un(int mat){
System.out.println("N° "+mat);
System.out.println();
System.out.println("Niveau : Manutentionnaire ");
System.out.println("NOM
:"+nom+" PRENOM
:"+prenom);
System.out.println("DATE
D'embauche le
:"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);
System.out.println("Le
salaire :"+salaire);
System.out.println("
L'absence mensuel
:"+memo[0]+" Retard
mensuel :"+memo[1]);
System.out.println("L'absence
totale :"+ abs_ret_t[0]+"
Jours Retard totale :"+abs_ret_t[1]+" Heurs");
System.out.println("
Jour Travaillé :"+jr_hr_t[0]+"
jours Heurs travailler
:"+jr_hr_t[1]+" Heurs");
}
public void jours_travail(int jour,int
mois,int an){
super.jours_travail(jour,
mois, an);
}
public void absenses(){
memo[1]+=8;
abs_ret_t[0]++;
memo[0]++;
}
public
void retards(int h){
memo[1]+=h;
abs_ret_t[1]+=h;
}
public void payer()
{
int h=160-memo[1];
System.out.println("Il
vas recevoire :"+h*salaire+"DH");
}
public
void check_absensses(){
if(memo[0]>10){
System.out.println("Out
of service "+memo[0]);
memo[1]=0;
}
else
System.out.println("Avertissement!!
"+memo[0]+" absense(s)");
}
public void check_retars()
{
if(memo[1]>60){
System.out.println("Out
of service");
memo[0]=0;
}
else
System.out.println("Avertissement!!
"+memo[1]+" retard(s)");
}
}
Explication et
fonctionnalités.
Cette classe manutentionnaire qui est un type
spécifique d’employés hérite les attributs et certaines méthodes de la classe
employe
On définit les méthodes suivantes :
Le constructeur : Hérite les attributs de
la classe employe ,en utilisant le mot super.
Void
affiche_un(int mat) : Afficher le numéro de matricule du manutentionnaire,
son nom, son prenom, la date d’embauche, les jours travaillés, le salaire, le
nombre d’absences et le nombre de retards s’ils existent.
Void
payer(int mat) : Afficher le salaire de l’ouvrier qu’il va recevoir.
void
jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void
check_absensses(), void check_retards(), void: Hériter ses méthodes qui sont
déjà définies dans la classe employe.Pour télécharger le fichier du programme en mode console pour le logiciel eclips
Clique ICI.