Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Correction Examen 2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Examen

L’analyse partielle de la gestion des patients, des médecins traitant, et les


médicaments prescrits a permis de concevoir les classes Java : Personne, Medecin,
Patient et Service
(tous les attributs sont privés)

TRAVAIL A FAIRE

Définir la classe Personne ayant la structure suivante :


a. Les attributs (cin : chaine ; anneeNaissance :entier)
1 b. La constante ANNEECOURANTE égale à 2024
c. Le constructeur avec paramètres
d. toString renvoie tous les attributs séparés par un (-)
e. La méthode age renvoie l’âge de la personne

Définir la classe Medecin qui hérite de la classe Personne ayant


la structure suivante :
2 a. L’attribut Specialite :chaine
b. L’attribut no attribué automatiquement ;
c. Le compteur cptMedecins qui compte le nombre des
medecins crées.
b. Le constructeur avec paramètres
c. toString renvoie tous les attributs séparés par un (-)

Définir la class Patient qui hérite de la classe Personne


a. L’attribut no :Numéro d’ordre attribué automatiquement
b. L’attribut nb :Nombre d’instances de la classe Patient
c. L’ attribut cause :chaine
3 e. Le constructeur avec parametres
f. Le setter de l’attribut cause
g. Le getter de l’attribut cause
i. toString pour renvoyer les données du patient

Définir la classe Service qui comporte :


a) L’attribut intitule (chaine)
b) L’attribut constante maxMedecins (fixé à 2)
c) L’attribut constante maxPateints(fixé à 20)
d) Une liste dynamique des Personne pour stocker les
personnes de ce service
e) Un constructeur pour initialiser l’intitulé
f) Une méthode ajouterMedecin() pour ajouter un Medecin
g) Une méthode ajouterPatient() pour ajouter un Patient
h) Une méthode lister() pour lister tous les personnes du
Service
Définir la classe TestService pour gérer un Service d’un Hopital
a) créer un service svc d’intitulé saisie au clavier
b) Saisir au clavier dans le Service svc :
• Un nombre de Medecins selon le besoin de
l’utilisateur
• Des Patients selon les besoins de l’utiliasateur
c) Lister tous les personnes de ce Service

Correction
La classe Personne
public class Personne {
private String cin , nom;
private int anneeNaissance;
private static final int ANNEECOURANTE=2024;
public Personne(String cin , String nom , int anneeNaissance) {
this.cin=cin;
this.nom=nom;
this.anneeNaissance=anneeNaissance;
}
public String toString() {
return nom+" - "+cin+" - "+anneeNaissance;
}
public int age() {
return ANNEECOURANTE-anneeNaissance;
}
}

La classe Medecin
public class Medecin extends Personne{
private String specialite;
private int no;
private static int cptMedecin=0;
public Medecin(String cin , String nom , int anneeNaissance ,
String specialite) {
super(cin , nom , anneeNaissance);
this.specialite=specialite;
cptMedecin++ ;
no=cptMedecin ;
}
public String toString() {
return "Medecin:("+super.toString()+"-
Specilite("+specialite+"))\n";
}
}

La classe Patient
import java.util.Scanner;
import java.util.ArrayList;
public class Patient extends Personne{
private int no;
public static int nb=0;
private String cause;
//private Medecin medecin;
ArrayList <String> Medicaments=new ArrayList <String>();
public Patient(String cin , String nom ,int anneeNaissance, String cause) {
super(cin , nom ,anneeNaissance);
nb++;
this.no=nb;
this.cause=cause;
//this.medecin=medecin;
}
public void setCause(String cause) {
this.cause=cause;
}
public String getCause() {
return cause;
}
public void ajouterMed(String med) {
if(!Medicaments.contains(med))
Medicaments.add(med);
}
public String toString() {
String ch="";
ch+="Patient:"+super.toString()+" No:"+no+" Cause:"+cause+"\n" ;
//ch+=medecin.toString()+"\n"+"Medicaments:\n";
//for(String M:Medicaments)
//ch+=M+"\n";
return ch;
}
}
La classe Service
import java.util.ArrayList;
public class Service {
private String intitule;
private final int maxMedecin=2;
private final int maxPatient=20;
private ArrayList <Personne> listePersonnes = new ArrayList
<Personne>();
public Service (String intitule) {
this.intitule=intitule;
}

public void ajouterMedecin(Medecin medecin) {


if(listePersonnes.size()<maxMedecin)
listePersonnes.add(medecin);
else
System.out.println("nombre max des medecins est
atteint");
}
public void ajouterPatient(Patient patient) {
if(listePersonnes.size()<maxPatient)
listePersonnes.add(patient);
else
System.out.println("nombre max des patients est
atteint");
}

public String lister() {


String ch="";
for(Personne P:listePersonnes)
ch+=P.toString()+"\n";
return ch;
}

La classe Test_Service
import java.util.Scanner;
public class Test_Service {

public static void main(String[] args) {


Scanner clavier=new Scanner(System.in);
String nom , cin , specialite , cause , intitule , choix
, reponse;
int naissance;
System.out.println("Donner l intituler du service");
intitule=clavier.nextLine();
Service svc=new Service(intitule);
char c;
do {
System.out.println(" Donne le cin du personne");
cin=clavier.nextLine();
System.out.println(" Donne le nom du personne");
nom=clavier.nextLine();
System.out.println(" Donne annee de naissance");
naissance=clavier.nextInt();
clavier.nextLine();
System.out.println("cette Personne est un Medecin
ou Patient ?");
reponse=clavier.nextLine();
if(reponse.charAt(0)=='M') {
System.out.println(" Donne specialite");
specialite=clavier.nextLine();
Medecin M=new Medecin(cin , nom ,
naissance , specialite);
svc.ajouterMedecin(M);
}
else if(reponse.charAt(0)=='P') {
System.out.println(" Donne la cause");
cause=clavier.nextLine();
Patient P=new Patient(cin , nom ,
naissance , cause);
svc.ajouterPatient(P);
}
System.out.println("Vous voulez ajouter une
Personne Oui ou Non");
choix=clavier.nextLine();
c=choix.charAt(0);
}
while(c!='N');
System.out.println(svc.lister()); ;
}}

Vous aimerez peut-être aussi