Académique Documents
Professionnel Documents
Culture Documents
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
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.
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