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 main().
import java.util.Scanner;
public class Main {
static ingenieur i[]=new ingenieur[20];
static technicien t[]=new technicien[20];
static commercial c[]=new commercial[20];
static manutentionnaire ma[]=new manutentionnaire[20];
static int ng=0,tec=0,cm=0,m=0;
public static void main(String[]
args) {
char car;
String ok;
do
{
Scanner n=new
Scanner(System.in);
System.out.println("Choisire
le categorie d'employer :");
System.out.println("|------------------------------------------|");
System.out.println("|-----------Ingenieur-------------N°1
|");
System.out.println("|-----------Technicien------------N°2
|");
System.out.println("|-----------Commercial-----------N°3
|");
System.out.println("|-----------Manutentionnaire---N°4
|");
System.out.println("|------------------------------------------|");
int N=n.nextInt();
if(N==1)
ingenieur();
else if(N==2)
technicien();
else if(N==3)
commercial();
else if(N==4)
manutentionnaire();
Scanner
n11=new Scanner(System.in);
System.out.println("Voullais
vous continuer ? o | n");
ok= n11.nextLine();
car=ok.charAt(0);
}while(car!='n');
}
public static void
ingenieur()
{
Scanner n=new
Scanner(System.in);
System.out.println("VOullais
vous :");
System.out.println("|---------------------------------------|");
System.out.println("|-----------Recherche----------N°1
|");
System.out.println("|-----------Ajouter--------------N°2
|");
System.out.println("|-----------Absenses------------N°3
|");
System.out.println("|-----------Retards--------------N°4
|");
System.out.println("|-----------paiement------------N°5
|");
System.out.println("|-----------Retour---------------N°6
|");
System.out.println("|----------------------------------------|");
int M=n.nextInt();
switch(M){
case 1: Scanner n2=new Scanner(System.in);
System.out.println("Entrée
le matricule :");
int kl=n2.nextInt();
i[kl-1].affiche_un(kl);break;
case 2: Scanner n1=new Scanner(System.in);
System.out.println("Entrée
le Nom :");
String
nom= n1.nextLine();
System.out.println("Entrée
le Prenom :");
String
prenom= n1.nextLine();
System.out.println("Entrée
la date d'embauche : le jour");
int
jour=n1.nextInt();
System.out.println("Entrée
la date d'embauche : le mois");
int
mois=n1.nextInt();
System.out.println("Entrée
la date d'embauche : l'année");
int
an=n1.nextInt();
System.out.println("Entrée
le salaire de debut");
int
salaire=n1.nextInt();
i[ng]=new
ingenieur(nom,prenom,jour,mois,an,salaire);ng++;break;
case
3: Scanner n3=new Scanner(System.in);
System.out.println("Entrée le
matricule :");
int mat=n3.nextInt();
i[mat-1].absenses();break;
case 4: Scanner n4=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
int matt=n4.nextInt();
System.out.println("Les nombres
d'heurs :");
int he=n4.nextInt();
i[matt-1].retards(he);break;
case 5: Scanner n5=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
int f=n5.nextInt();
System.out.println("VOullais vous
:");
System.out.println("|-----------------------------------------|");
System.out.println("|---------Donner
Prime---------N°1 |");
System.out.println("|----------Promotion------------N°2
|");
System.out.println("|----------Congé
payer---------N°3 |");
System.out.println("|------------payer----------------N°4
|");
System.out.println("|------------Retour--------------N°5
|");
System.out.println("|----------------------------------------|");
int
z=n5.nextInt();
switch(z){
case 1: i[f-1].prime();break;
case 2: Scanner n6=new Scanner(System.in);
System.out.println("le salaire vas
augmenter de :");
int w=n6.nextInt();
i[f-1].promotion(w);break;
case 3: Scanner n7=new Scanner(System.in);
System.out.println("Entrée
la date Aujourd’hui : le jour");
int
j=n7.nextInt();
System.out.println("Entrée la
date Aujourd’hui : le mois");
int
m=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : l'année");
int a=n7.nextInt();
i[f-1].jours_travail(j,m,a);
i[f-1].conge_payer();break;
case 4: i[f-1].check_absensses();
i[f-1].check_retars();
i[f-1].payer();break;
case 5: break;
}
case 6: break;
}
}
public static void
technicien()
{
Scanner n=new Scanner(System.in);
System.out.println("VOullais vous
:");
System.out.println("|---------------------------------------|");
System.out.println("|-----------Recherche----------N°1
|");
System.out.println("|-----------Ajouter--------------N°2
|");
System.out.println("|-----------Absenses------------N°3
|");
System.out.println("|-----------Retards--------------N°4
|");
System.out.println("|-----------paiement------------N°5
|");
System.out.println("|-----------Retour---------------N°6
|");
System.out.println("|----------------------------------------|");
int M=n.nextInt();
switch(M){
case 1: Scanner n2=new Scanner(System.in);
System.out.println("Entrée
le matricule :");
int
kl=n2.nextInt();
t[kl-1].affiche_un(kl);
case 2:
Scanner n1=new Scanner(System.in);
System.out.println("Entrée
le Nom :");
String
nom= n1.nextLine();
System.out.println("Entrée
le Prenom :");
String
prenom= n1.nextLine();
System.out.println("Entrée
la date d'embauche : le jour");
int
jour=n1.nextInt();
System.out.println("Entrée
la date d'embauche : le mois");
int
mois=n1.nextInt();
System.out.println("Entrée
la date d'embauche : l'année");
int
an=n1.nextInt();
System.out.println("Entrée
le salaire de debut");
int
salaire=n1.nextInt();
t[tec]=new
technicien(nom,prenom,jour,mois,an,salaire);tec++;break;
case 3:
Scanner n3=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
int mat=n3.nextInt();
t[mat-1].absenses();break;
case 4: Scanner n4=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
mat=n4.nextInt();
t[mat-1].absenses();break;
case 5: Scanner n5=new Scanner(System.in);
System.out.println("VOullais vous
:");
System.out.println("|----------------------------------------|");
System.out.println("|----------Congé
payer---------N°1 |");
System.out.println("|------------payer----------------N°2
|");
System.out.println("|------------Retour--------------N°3
|");
System.out.println("|----------------------------------------|");
int
z=n5.nextInt();
switch(z){
case 1: Scanner n7=new Scanner(System.in);
System.out.println("Entrée
la date Aujourd’hui : le jour");
int
j=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : le mois");
int
m=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : l'année");
int
a=n7.nextInt();
t[tec].jours_travail(j,m,a);
t[tec].conge_payer();break;
case 2: t[tec].check_absensses();
t[tec].check_retars();
t[tec].payer();break;
case 3: break;
}
case 6: break;
}
}
public static void
commercial()
{
Scanner n=new Scanner(System.in);
System.out.println("VOullais vous
:");
System.out.println("|---------------------------------------|");
System.out.println("|-----------Recherche----------N°1
|");
System.out.println("|-----------Ajouter--------------N°2
|");
System.out.println("|-----------Absenses------------N°3
|");
System.out.println("|-----------Retards-------------N°4
|");
System.out.println("|-----------paiement-----------N°5
|");
System.out.println("|-----------Retour--------------N°6
|");
System.out.println("|---------------------------------------|");
int M=n.nextInt();
switch(M){
case 1: Scanner n2=new Scanner(System.in);
System.out.println("Entrée
le matricule :");
int
kl=n2.nextInt();
c[kl-1].affiche_un(kl);
case 2:
Scanner n1=new Scanner(System.in);
System.out.println("Entrée
le Nom :");
String
nom= n1.nextLine();
System.out.println("Entrée
le Prenom :");
String
prenom= n1.nextLine();
System.out.println("Entrée
la date d'embauche : le jour");
int
jour=n1.nextInt();
System.out.println("Entrée
la date d'embauche : le mois");
int
mois=n1.nextInt();
System.out.println("Entrée
la date d'embauche : l'année");
int
an=n1.nextInt();
System.out.println("Entrée
le salaire de debut");
int
salaire=n1.nextInt();
c[cm]=new
commercial(nom,prenom,jour,mois,an,salaire);cm++;break;
case 3:
Scanner n3=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
int mat=n3.nextInt();
c[mat-1].absenses();break;
case 4: Scanner n4=new Scanner(System.in);
System.out.println("Entrée
le matricule :");
mat=n4.nextInt();
c[mat-1].absenses();break;
case 5: Scanner n5=new Scanner(System.in);
System.out.println("VOullais vous
:");
System.out.println("|-----------------------------------------|");
System.out.println("|---------Donner
Prime---------N°1 |");
System.out.println("|----------Promotion------------N°2
|");
System.out.println("|----------Congé
payer---------N°3 |");
System.out.println("|------------payer-------------N°4
|");
System.out.println("|------------Retour------------N°5
|");
System.out.println("|--------------------------------------|");
int
z=n5.nextInt();
switch(z){
case 1: c[cm].prime();break;
case 2: Scanner n6=new Scanner(System.in);
System.out.println("le salaire vas
augmenter de :");
int w=n6.nextInt();
c[cm].promotion(w);break;
case 3: Scanner n7=new Scanner(System.in);
System.out.println("Entrée
la date Aujourd’hui : le jour");
int
j=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : le mois");
int
m=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : l'année");
int
a=n7.nextInt();
c[cm].jours_travail(j,m,a);
c[cm].conge_payer();break;
case 4: c[cm].check_absensses();
c[cm].check_retars();
c[cm].payer();break;
case 5: break;
}
case 6:break;
}
}
public static void
manutentionnaire()
{
Scanner n=new Scanner(System.in);
System.out.println("VOullais vous
:");
System.out.println("|---------------------------------------|");
System.out.println("|-----------Recherche---------N°1
|");
System.out.println("|-----------Ajouter-------------N°2
|");
System.out.println("|-----------Absenses-----------N°3
|");
System.out.println("|-----------Retards-------------N°4
|");
System.out.println("|-----------paiement-----------N°5
|");
System.out.println("|-----------Retour-------------N°6
|");
System.out.println("|--------------------------------------|");
int M=n.nextInt();
switch(M){
case 1: Scanner n2=new Scanner(System.in);
System.out.println("Entrée
le matricule :");
int
kl=n2.nextInt();
ma[kl-1].affiche_un(kl);
case 2:
Scanner n1=new Scanner(System.in);
System.out.println("Entrée
le Nom :");
String
nom= n1.nextLine();
System.out.println("Entrée
le Prenom :");
String
prenom= n1.nextLine();
System.out.println("Entrée
la date d'embauche : le jour");
int
jour=n1.nextInt();
System.out.println("Entrée
la date d'embauche : le mois");
int
mois=n1.nextInt();
System.out.println("Entrée
la date d'embauche : l'année");
int
an=n1.nextInt();
System.out.println("Entrée
le salaire de debut");
int
salaire=n1.nextInt();
ma[m]=new
manutentionnaire(nom,prenom,jour,mois,an,salaire);m++;break;
case 3:
Scanner n3=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
int mat=n3.nextInt();
ma[mat-1].absenses();break;
case 4: Scanner n4=new Scanner(System.in);
System.out.println("Entrée le matricule
:");
mat=n4.nextInt();
ma[mat-1].absenses();break;
case 5: Scanner n5=new Scanner(System.in);
System.out.println("VOullais vous
:");
System.out.println("|--------------------------------------|");
System.out.println("|------------payer-------------N°1
|");
System.out.println("|------------Retour------------N°2
|");
System.out.println("|--------------------------------------|");
int z=n5.nextInt();
switch(z){
case 1: Scanner n7=new Scanner(System.in);
System.out.println("Entrée
la date Aujourd’hui : le jour");
int
j=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : le mois");
int
mo=n7.nextInt();
System.out.println("Entrée
la date Aujourd’hui : l'année");
int
a=n7.nextInt();
ma[m].jours_travail(j,mo,a);
ma[m].check_absensses();
ma[m].check_retars();
ma[m].payer();break;
case 2: break;
}
case 6:
break;
}
}
}
Explication et
fonctionnalités :
* Pour
faire saisir un nombre au cours de l'exécution du programme, il faut faire
appel à une bibliothèque spécialisée de Java. Il s'agit de la bibliothèque java.util.Scanner,
on doit donc ajouter en début de programme l'instruction :
import java.util.Scanner;
import java.util.Scanner;
Scanner
est une classe qu'il faut instancier avec le paramètre System.in
et affecter l'objet résultant à une variable (ici sc) de type Scanner, soit :
Scanner sc = new Scanner(System.in);
Scanner sc = new Scanner(System.in);
A
partir de ce moment l'objet sc surveille le clavier et peut renvoyer toute
saisie faite au clavier et terminée par la touche Entrée.
Pour récupérer la saisie dans le programme, il suffit d'utiliser une des méthodes nextxxxx suivant le type de données voulues. Pour récupérer un entier on utilise la méthode nextInt :
Pour récupérer la saisie dans le programme, il suffit d'utiliser une des méthodes nextxxxx suivant le type de données voulues. Pour récupérer un entier on utilise la méthode nextInt :
Exemple :
N = sc.nextInt();
N = sc.nextInt();
*D’abord créer 4 tableaux pour
ingénieur, commercial, technicien et manutentionnaire .
*Dans une boucle do{…} while on affecte
à une variable N la valeur 1, si on choisit ingénieur, 2 si on choisit
commercial, 3 si on choisit technicien et 4 si on choisit manutentionnaire.
*Si on choisit ingénieur on entre dans
la classe void ingenieur() ou on a utilisé switch pour choisir entre ajouter ingénieur,
rechercher ingénieur, consulter ses absences et ses reterds… .
Cas 1 : si on veut chercher un ingénieur, on le
cherche par matricule et on affiche son matricule et toutes ses information : nom, prenom ,date d’embauche …
Cas 2 : si on veut ajouter un ingénieur, on stocke
toutes ses informations dans un tableaux et on incrémente une variable pour
passer à l’autre case si jamais on veut ajouter un autre.
Cas 3 et
4 : si on veut consulter ses absences et ses retards on entre son matricule
et ils vont être enregistrés.
Cas 5 : on
entre dans une autre liste de choix :
Cas 1 : appeler la méthode prime() déjà prédéfinie.
Cas 2 : afficher le nouveau salaire avec une
augmentation appelée promotion().
Cas 3 : entrer la date d’aujourd’hui et afficher les
jours travaillés puis appeler la méthode conge_payer() déjà prédéfinie.
Cas 4 et 5 : afficher le nombre d’absences et de retards
en appelant les deux méthodes
check_absences et check_retards déjà définies.
*Si on choisit technicien on entre dans la classe void
technicien() ou on a utilisé switch pour choisir entre ajouter technicien,
rechercher technicien, consulter ses absences et ses reterds… .
Cas 1 : si on veut chercher un technicienr, on le
cherche par matricule et on affiche son matricule.
Cas 2 : si on veut ajouter un technicien, on stocke
toutes ses informations dans un tableux et on incrémente une variable pour
passer à l’autre case si jamais on veut ajouter un autre.
Cas 3 et
4 : si on veut consulter ses absences et ses retards on entre son matricule
et ils vont être enregistrés.
Cas 5 :
on entre dans une autre liste de choix :
Cas 4 : entrer la date d’aujourd’hui et afficher les
jours travaillés puis appeler la méthode conge_payer() déjà prédéfinie.
Cas 4 et 5 : afficher le nombre d’absences et de retards
en appelant les deux méthodes
check_absences et check_retards déjà définies.
*Si
on choisit commerçant on entre dans la
classe void commercant() ou on a utilisé switch pour choisir entre ajouter commercant,
rechercher commercant, consulter ses absences et ses reterds… .
Cas 1 : si on veut chercher un commerçant, on le
cherche par matricule et on affiche son matricule.
Cas 2 : si on veut ajouter un commercant, on stocke
toutes ses informations dans un tableaux et on incrémente une variable pour
passer à l’autre case si jamais on veut ajouter un autre.
Cas 3 et
4 : si on veut consulter ses absences et ses retards on entre son matricule
et ils vont être enregistrés.
Cas 5 :
on entre dans une autre liste de choix :
Cas 1 : entrer la date d’aujourd’hui et afficher les
jours travaillés puis appeler la méthode conge_payer() déjà prédéfinie.
Cas 2 et 3 : afficher le nombre d’absences et de retards
en appelant les deux méthodes
check_absences et check_retards déjà prédéfinies.
*Si
on choisit manutentionnaire on entre
dans la classe void mautentionnaire() ou on a utilisé switch pour choisir entre ajouter manutentionnaire,
rechercher manutentionnaire, consulter ses absences et ses reterds… .
Cas 1 : si on veut chercher un manutentionnaire, on
le cherche par matricule et on affiche son matricule.
Cas 2 : si on veut ajouter un manutentionnaire, on
stocke toutes ses informations dans un tableux et on incrémente une variable
pour passer à l’autre case si jamais on veut ajouter un autre.
Cas 3 et
4 : si on veut consulter ses absences et ses retards on entre son matricule
et ils vont être enregistrés.
Cas 5 : entrer le matricule et afficher le salaire.
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.