Vous êtes sur la page 1sur 6

Correction DEvoir Controle POO 2019/2020

/**** Classe Medecin****/

public class Medecin {

public final int CodeCNAM;

private String NomPrenom;

private String Spécialité;

public float Tarif;

private float Recette;

private int Nb_cons;

public Medecin (int cc ,String NP, String S,float PT) //constructeur

this.CodeCNAM=cc;

this.NomPrenom=NP;

this.Spécialité=S;

this.Tarif=PT;

public int getNbCons() {//0.5pts

return Nb_cons;

public void SetNbCons() {

this.Nb_cons ++;}

public float getRecette() {

return Recette;

public void setRecette(float Recette) {//0.5pts

this.Recette = Recette;

}
public boolean verifier(Medecin M)

if((this.CodeCNAM==M.CodeCNAM)&&(this.NomPrenom.equals(M.NomPrenom)))

return true;

else

return false;

@Override
public String toString()

String CH="\n Code CNAM="+this.CodeCNAM+"\nNom Prenom


="+this.NomPrenom+"\nSpécialité="+this.Spécialité

+"\nPleinTarif="+this.Tarif;

return CH;

/**** Classe Date****/

import java.util.Calendar;

class Date

{private int jour;

private int mois;

private int année;

public Date (int j,int m, int a)

{
this.jour=j;

this.mois=m;

this.année=a;

public static Date getDate() /*** methode Static de la classe Date***/

int j,m,a;

Calendar c=Calendar.getInstance();

/* getInstance() c'est l'équivalent d'un constructeur dans la classe Calendar*/

j =c.get(Calendar.DAY_OF_MONTH); /*DAY_OF_MONTH attribut Static dans calendar*/

m =c.get(Calendar.MONTH)+1; /*MONTH attribut Static dans Calendar Veuillez noter que les mois du

/*calendrier sont indexés à zéro; pour janvier, cette méthode renverra 0*/
a=c.get(Calendar.YEAR); /*Year attribut Static dans calendar*/

Date d=new Date(j,m,a); /**** création d'un objet de type Date****/

return d;

@Override

public String toString()

return " "+Date.getDate().jour+"/"+Date.getDate().mois+"/"+Date.getDate().année;

/**** classe consultation******/

public class consultation

private int CodeCons ;

private String NomPrenomPatient;


private String Spécialité;

private Date DateCons;

private Medecin LeMedecin;

private String RégimeCNAMPatient ;

public consultation(int cp,String NP,String RCP,String Sp) // constructeur

this.CodeCons=cp;

this.NomPrenomPatient=NP;

this.DateCons= Date.getDate();

this.RégimeCNAMPatient=RCP;

this.Spécialité=Sp;

public boolean AffecterMedecin(Medecin M)

float r;

if((M.getNbCons()<10))

LeMedecin=M;

M.SetNbCons();

r=M.getRecette()+CalculerTarifCons();

M.setRecette(r);

return true;

else

return false;}
public float calculerTarifCons()

!
{ if((this.LeMedecin.codeCnam==0)||( this.régimeCnamPatient.equals("Medecin de famille")))
return LeMedecin.tarif;

else return (LeMedecin.tarif/2); }

void afficher()

System.out.println("\nNom&Prenom
:"+this.NomPrenomPatient+"\nLe:"+this.DateCons.toString()+"\nDr:"+

this.LeMedecin.toString() +"\nNet a payer:"+this.CalculerPrixPrestation());

/***** classe TEST*****/

import java.util.Scanner;

public class TestD {

public static void main (String[]args)

Medecin M1=new Medecin(12345,"MohamedGhorbel","Dentaire",40);

Medecin M2=new Medecin(56789,"MohssenTaktak","Cardio",40);

Scanner s = new Scanner(System.in);

String NP,RC,S;

int cc;
System.out.println("introduire le code de la consultation");

cc=s.nextInt();

System.out.println("introduire le nom et le prenom du Patient");

NP=s.next();

System.out.println("introduire son régime CNAM ");

RC=s.next();

System.out.println("introduire la spécialité ");

S=s.next();

consultation c=new consultation(cc,NP,RC,S);

if(c.AffecterMedecin(M1))

c.afficher();

Vous aimerez peut-être aussi