Vous êtes sur la page 1sur 3

Matière : Atelier de programmation II

Classes : L _BD_1, L_GLSI_1 ET L_IMM_1


Enseignants responsables: Mr ben Rkaya Moez & Mr Mohamed Gaieth Abidi

DS

Atelier Programmation II
NB : Attention, un scan anti-plagiat sera effectué après les remis de travaux. Tous les travaux similaires
seront éliminés, par conséquent un zéro est affecté.

ENONCE1

On souhaite stocker des informations sur l’ensemble des avions d’un aéroport X dans une
liste simplement chaînée. Un avion est caractérisé par son code (chaîne de caractères), sa
capacité de stockage (numérique), son état (‘D’ s’il a décollé, ‘A’ s’il a atterrit, ‘M’ s’il est
en maintenance technique), sa date de fabrication, et le nombre de vols assurés.
On vous demande de :
1) Remplir la liste des avions. Le contrôle de saisie est obligatoire.
2) Vérifier si un avion AV est dans l’aéroport. On affiche son code si AV est trouvé et -1 sinon.
3) Supprimer les avions âgés de plus de 20 ans et qui sont actuellement en maintenance
technique. Afficher le résultat.
4) Trier la liste des avions par ordre croissant des capacités de stockage. Afficher la nouvelle
liste.
5) A un instant t, afficher le nombre d’avions décollés et le nombre d’avions atterrit.
6) Afficher les avions qui ont assuré le nombre maximal de vols et âgés de moins de 10 ans.
7) Afficher les avions qui ont assuré le nombre minimal de vols et âgés de moins de 10 ans.
8) Scinder la liste en 3 : une pour les avions décollés, une pour les avions atterrit et une pour
les avions en maintenance. Afficher les nouvelles listes.
9) Afficher les avions atterris (traitement récursif).

ENONCE2

L'objectif de cet exercice est de créer un programme en langage C pour gérer le parc de
voitures d'une agence de location. Une voiture est caractérisée par les éléments suivants :
 le modèle de la voiture,
 son n° d’immatriculation,
 son kilométrage,

Page 1 sur 3
Matière : Atelier de programmation II
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignants responsables: Mr ben Rkaya Moez & Mr Mohamed Gaieth Abidi

 son état (disponible ou en cours de location).

Écrire un programme présentant le menu ci-dessous :


------------------------------------ MENU --------------------------------
1 : Louer une voiture
2 : Retour d'une voiture
3 : Etat d'une voiture
4 : Etat du parc de voitures
5 : Sauvegarder l’état du parc
6 : Fin du programme

Choix 1 : Le programme demande le n° d’immatriculation de la voiture à louer. Si la voiture


n'existe pas, le programme signale une erreur ; s'elle est déjà loué, le programme indique
qu'elle est déjà en location sinon la voiture est marquée comme étant en location.
Choix 2 : Le programme demande le n° d’immatriculation de la voiture à retourner. Si la voiture
n'existe pas, le programme signale une erreur ; si la voiture n'était pas marquée comme étant
en location, le programme le stipule sinon le programme demande le nombre de kilomètres
effectués et les rajoute au kilométrage de la voiture. La voiture est alors marquée comme étant
disponible.
Choix 3 : Le programme demande le n° d'immatriculation de la voiture dont on désire connaitre
l'état. Si la voiture n'existe pas dans le parc, une erreur est signalée sinon son modèle, son n°
d'immatriculation, son kilométrage et son état de location sont affichés.
Choix 4 : Le programme affiche un état résumé de l'ensemble du parc de voitures, c'est-à-dire
:
 le nombre total de voitures,
 le nombre de voitures en location et leur n° d'immatriculation,
 le nombre de voitures disponible et leur n° d'immatriculation,
 le kilométrage moyen de l'ensemble des voitures.

Choix 5 : Le programme stocke l’état de parc de voitures affichées dans le choix 4 dans un
fichier binaire, le nom de fichier sera lu au clavier.

Après l'exécution d'une de ces options, le programme réaffiche le menu.

Page 2 sur 3
Matière : Atelier de programmation II
Classes : L _BD_1, L_GLSI_1 ET L_IMM_1
Enseignants responsables: Mr ben Rkaya Moez & Mr Mohamed Gaieth Abidi

Chaque option du menu devra être implémentée sous la forme d'une fonction séparée de
façon à faciliter l'écriture du programme (Vous pouvez changer les prototypes proposés ci-
dessous).
1. Définir la structure Voiture.
2. Créer une fonction permettant de créer le parc de n voitures, par la suite cette fonction
sera appelée au début de programme : void init (Voiture * voitures, int n)
3. Créer une fonction permettant de louer une voiture (Voir Choix 1) : int louer (char *
matricule, Voiture *voitures, int n)
4. Créer une fonction permettant le retour d’une voiture (Voir Choix 2) : int retour (char *
matricule, Voiture* voitures, int n)
5. Créer une fonction permettant de renvoyer l’état d’une voiture (Voir choix 3) : int etat
(char * matricule, Voiture* voitures, int n)
6. Créer une fonction permettant d’afficher l’état de parc de voitures (Voir choix 4) : void
etatParc (Voiture* voitures, int n)
7. Créer une fonction permettant de sauvegarder l’état de parc de voitures dans un fichier
binaire (Voir choix 5) : void save (char * fichier, Voiture* voitures, int n)
8. Créer le programme principal (main).

Page 3 sur 3

Vous aimerez peut-être aussi