Vous êtes sur la page 1sur 2

Documents: Non Autorisés

Test: Atelier de programmation C


Internet : Non Autorisés
Groupes: 1A Durée: 2H00

Gestion d'un cabinet médical

On se propose de modéliser la gestion des patients dans un cabinet médical. Un patient est
caractérisé par: le nom, le prénom et un champ rdv (pour rendez-vous) de type entier qui indique si
le patient a un rendez-vous ou non: 0 si le patient est sans rendez-vous, 1 si le patient a un rendez-
vous.

Avant d’avoir une consultation avec le médecin, les patients doivent attendre dans une salle
d’attente qui sera modélisée par un tableau de patients (au maximum 30 patients). Une secrétaire
fait entrer les patients ayant un rdv=1 selon leur ordre d’arrivée, ensuite elle fait entrer les autres
patients (ceux dont le rdv=0) selon leur ordre d’arrivée aussi.

1 Ère partie (10 points, à remettre après 1h)

Définir le couple (patient.h / patient.c), un patient est identifié par une structure défini dans le
fichier patient.h.

1. Ajouter la structure patient dans le fichier patient.h

2. Ajouter les prototypes des fonctions suivantes dans patient.h

void saisie_patient(patient *p);

void affiche_patient(patient p);

3. Implémenter ces fonctions dans patient.c

4. Ajouter l'appel des fonctions saisie_patient et affiche_patient dans main.c.

5. Compiler les fichiers patient.c et main.c séparément avec les options -c du compilateur gcc.

6. Éditer les liens en créant l’exécutable gestion_cabinet avec l'option -o du compilateur gcc.

Remarque: N'oublier pas d'inclure le fichier patient.h dans les fichiers patient.c et main.c.

1
2ème Partie (10 points, à remettre après 1h)

Définir le couple (cabinet.h / cabinet.c), un cabinet est identifié par une structure défini dans le
fichier cabinet.h:

1. Ajouter la structure cabinet dans le fichier cabinet.h

2. Ajouter les prototypes des fonctions dans cabinet.h

void ajouter_patient(cabinet *c, patient p);

void affiche_ cabinet (cabinet c);

void supprimer_patient(cabinet*c,patient p) ;

void RendezVous (cabinet c, int *rdv, int *sansRdv ) /* qui compte et retourne le

nombre de patients ayant des rendez-vous, et le nombre de patients sans rendez-vous*/.

3. Implémenter ces fonctions dans cabinet.c

4. Ajouter l'appel de ces fonctions dans main.c.

5. Compiler les fichiers cabinet.c et main.c séparément avec les options –c du compilateur

6. Éditer les liens en créant l'exécutable gestion_ cabinet avec l'option -o du compilateur

gcc.

Bon travail

Vous aimerez peut-être aussi