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;

  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);

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 :

Exemple :
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.
 
;