Vous êtes sur la page 1sur 11

ESTS

Compte Rendu N :2
TP java

Realier par :Anifag yassine

Encadrer par :M :ABDELLAOUI SAID

21/10/2023
Employee{abstraite}
String :nom
String :prenom
Int :age
String :dateEntree

Employe(String,String,int,String)
Employe()
getNom():String
abstract calculerSalaire()
imprimer():void

TechnARisque
ManutARisque
Producteur Commertial Manutionnaire
Vendueur
#int:nomreUnites #Double:chiffreAffaire #Int:heureTravail

+TechniARisque(String,String,int,String,double) +Vendeur(String,Strig,int,String,double)
++TechnARisque()
Producteur(String,String,int,String,int) Commercial(String,String,int,String,double)
+calculerSalaire():double Manutionnaire(String,String,int,String,int)
ManutARisque(String,String,int,String,double)
++calculerSalaire():double
calculerSalaire():double calculerSalaire():double
+Vendeur() calculerSalaire():double
+ManuARisque()
++calculerSalaire():double
imprimer():void imprimer():void imprimer() :void
+ Producteur() Commercial() Manutionnaire()

Representant

+Representant(String,String,int,String,double)
+Representant()
+calculerSalaire();double

Prime
Int:prime=2000
Correction TD3:

Classe employee:

package net.TD3OCP;

import
java.util.ArrayList;
import
java.util.Scanner;
// Define the abstract class
Employe abstract class Employe {
protected String nom;
protected String
prenom; protected int
age;
protected String dateEntree;

public static Scanner sc=new Scanner(System.in);

public Employe(String nom, String prenom, int age, String dateEntree)


{ this.nom = nom;
this.prenom = prenom;
this.age = age;
this.dateEntree =
dateEntree;
}
public Employe(){}
public abstract double calculerSalaire();

public String getNom() {


return "L'employé " + prenom + " " + nom;
}
public void imprimer(){
System.out.print("donner le
nom:"); nom = sc.nextLine();
System.out.print(" \n donner le prenom :
"); prenom =sc.nextLine();
System.out.print(" \n donner l'age :
"); age =sc.nextInt();sc.nextLine();

Classe Producteur:
package net.TD3OCP;
class Producteur extends Employe
{ protected int
nombreUnites;

public Producteur(String nom, String prenom, int age,


String dateEntree, int nombreUnites) {
super(nom, prenom, age,
dateEntree); this.nombreUnites =
nombreUnites;
}
public Producteur(){}

@Override
public double calculerSalaire()
{ return nombreUnites * 5;
Classe Commercial:

package net.TD3OCP;
Classe Manutentionnaire:
public class Commercial extends
package net.TD3OCP;
Employe{ protected double
chiffreAffaire;
class Manutentionnaire extends Employe
{ protected
public int heuresTravail;
Commercial(String nom, String prenom, int age,
String dateEntree, double chiffreAffaire) {
public Manutentionnaire(String
super(nom, prenom, age, nom, String prenom, int age,
String dateEntree,
dateEntree);int heuresTravail) { =
this.chiffreAffaire
super(nom, prenom, age,
chiffreAffaire;
} dateEntree); this.heuresTravail =
heuresTravail;
@Override
}
public double calculerSalaire()
public Manutentionnaire()
{ return 0.2 *
{} @Override
chiffreAffaire;
public
} void imprimer(){
@Override
public void
imprimer(){
super.imprimer();
System.out.println("\ndonner le chiifre
d'affaire"); chiffreAffaire=sc.nextDouble();

}
}

@Override
public double calculerSalaire()
{ return heuresTravail *
650;
}

Classe Vendeur:

package net.TD3OCP;
Classe Representant:
class Vendeur extends Commercial {
package net.TD3OCP;
Classe public Vendeur(String
Technicien risqué: nom, String prenom, int age, String
class Representant
dateEntree, double extends Commercial
chiffreAffaire) { {
super(nom, prenom, age, dateEntree, chiffreAffaire);
package
} net.TD3OCP;
public Representant(String nom, String prenom, int age,
public Vendeur()
class
String TechnARisque
dateEntree,
{} @Override extends Producteur implements
double chiffreAffaire) { Prime{
public TechnARisque(String
super(nom, prenom, age,
public double calculerSalaire() {nom, String
dateEntree, prenom, int age, String
chiffreAffaire);
} return super.calculerSalaire()+ 4000;
public} Representant(){}
} @Override
public double calculerSalaire() {
return super.calculerSalaire() + 8000;
}
}
dateEntree, int nombreUnites) {
super(nom, prenom, age, dateEntree, nombreUnites);

}
public TechnARisque(){}

@Override
public double calculerSalaire() {
return super.calculerSalaire() + prime;
}
}

Manutentionnaire risqué:

package net.TD3OCP;
Enumeration Prime:
class ManutARisque extends Manutentionnaire implements Prime {
public ManutARisque(String nom, String prenom, int age,
package
Stringnet.TD3OCP;
dateEntree, int heuresTravail) {
Collection Personnel: Prime {
public interface
super(nom, prenom, age, dateEntree, heuresTravail);
}public int prime=2000
package; net.TD3OCP;
public ManutARisque()
import
{} @Override
java.util.ArrayList; class
public double calculerSalaire() {
Personnel {
return super.calculerSalaire() + prime;
private ArrayList<Employe> personnages;
}
public Personnel() {
personnages = new ArrayList<Employe>();
}

public void ajouterEmploye(Employe employe)


{ if(employe != null){
personnages.add(employe);
}
}
if(personnages.isEmpty())System.out.println("il n y a pas des
employes");
for (Employe employe : personnages) {
System.out.println(employe.getNom() + " gagne " +
employe.calculerSalaire() + " Dhs.");
}
}
public void supprimer(String nomaS,String
prenomaS){ for(Employe employe :
personnages){
if(employe.nom.equals(nomaS)
&& employe.prenom.equals(prenomaS)){
personnages.remove(employe);
System.out.println("Employe supprimer avec
success"); return;
}
}
System.out.println("Aucun Employee avec ce nom n'a ete trouver");

}
public double salaireMoyen() {
if (personnages.size() == 0) return
0; double totalSalaire = 0;
for (Employe employe : personnages) {
totalSalaire +=
employe.calculerSalaire();
}
return totalSalaire / personnages.size();
Classe Main:
package net.TD3OCP;
import java.util.Scanner;
public class Main {
public static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {

Personnel p = new Personnel();


int choix;
while(true) {

System.out.println("Menu: ");
System.out.print("1:ajouter un Employee \n2: Afficher Employee \n3:
Supprimer Employee ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix){
case 1-> {

System.out.println("1:ajouter un commercial \n2: ajouter un


producteur \n3: ajouter un Manutention ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix) {
case 1->{
System.out.println("1:ajouter un vendeur \n2:
ajouter un represant
"); System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix){
case 1:
Vendeur vendeur = new Vendeur();
vendeur.imprimer();
p.ajouterEmploye(vendeur);break;
case 2:
Representant representant = new
Representant();
representant.imprimer();
p.ajouterEmploye(representant);break;
default:System.out.println("Entrer un nombre
valide");
}

}
case 2 ->{
System.out.println("1:ajouter un Producteur \n2:
ajouter un TechnARisque ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();
switch (choix) {
case 1-> {
Producteur producteur = new Producteur();
producteur.imprimer();
p.ajouterEmploye(producteur);break;
}
case 2-> {
TechnARisque technARisque = new
TechnARisque();
technARisque.imprimer();
p.ajouterEmploye(technARisque);break;
}
}

}
case 3-> {
System.out.println("1:ajouter un Manutentionnaire
\n2: ajouter un ManutARisque ");
System.out.print("\ntaper votre choix:");
choix = sc.nextInt();

switch (choix) {
case 1-> {
Manutentionnaire manutentionnaire = new
Manutentionnaire();
manutentionnaire.imprimer();
p.ajouterEmploye(manutentionnaire);break;
}
case 2-> {
ManutARisque manutARisque = new
ManutARisque();
manutARisque.imprimer();
p.ajouterEmploye(manutARisque);break;
}}}}}

case 2-> {
p.afficherSalaires();break;
}
case 3->{
String nomAsupprimer;
String prenomAsupprimer;
System.out.println("entre le nom qui tu peux supprimer
:");
sc.nextLine();
nomAsupprimer = sc.nextLine();

System.out.println("entre le prenom qui tu peux


supprimer :");

prenomAsupprimer = sc.nextLine();
//System.out.println(nomAsupprimer);
//System.out.println(prenomAsupprimer);

p.supprimer(nomAsupprimer,prenomAsupprimer);break;

}}}
}
}

Vous aimerez peut-être aussi