Vous êtes sur la page 1sur 2

Université Sidi Mohamed Ben Abdellah

Faculté des Sciences et Techniques


Département d’Informatique

TP N°3 —POO
LST GInfo

Objectif— Classes et objets, droits d'accès, constructeurs et membres dynamiques

Enoncé— L’agence MarocTour désire réaliser un programme en langage C++ pour gérer ses
produits touristiques. L’agence propose à ses clients plusieurs circuits pour découvrir le
Maroc. Un circuit touristique est défini par un certain nombre de villes touristiques à
visiter. Quarante (40) villes uniquement intéressent l’agence, chacune est caractérisée
par un code (entier entre 1 et 40), un nom (chaîne de caractères) et le nombre de jours
que les touristes vont passer dans cette ville (entier).

Travail à faire
1. Création d'un projet agence :
2. Définition de la classe Ville avec, un constructeur à trois paramètres, une fonction d’affichage
et une fonction qui permet la saisie d’une ville.
3. Ajout d'une fonction membre permettant de comparer deux villes selon le code. La fonction
retourne 0, 1 ou -1.
4. Test de la classe ville, écrivez le programme principal qui réalise le scénario suivant :
• Déclaration de deux villes v1 et v2,
• Lecture de v1 et v2,
• Comparaison de v1 à v2,
• Affichage d’un message si v1 et v2 sont égales, v1 si le code de v1 est le plus grand et
v2 sinon.

5. Définition de la classe Circuit avec les membres suivants :


• Le nom du circuit,
• Le nombre de villes dans le circuit,
• Un tableau de villes (7 villes au maximum),
• Les constructeurs nécessaires,
• La fonction qui vérifie si une ville existe dans le circuit,
• La fonction qui ajoute une ville au circuit, il ne faut pas dépasser le nombre de villes
autorisées (7) et rejeter une ville qui existe déjà.

__________________________________________________________________________
LST- Génie Informatique 2020-2021
Université Sidi Mohamed Ben Abdellah
Faculté des Sciences et Techniques
Département d’Informatique

• Une fonction qui retourne la durée totale du circuit.


• La fonction qui retire une ville donnée du circuit, afficher un message d’erreur si la
ville ne fait pas partie du circuit,
• La fonction qui permet d’afficher un circuit (le nom du circuit et la liste des villes ;
pour chaque ville affichez le nom et le nombre de jours).

6. Ajout d'une fonction membre à la classe circuit qui retourne le sous circuit commun avec le
circuit en paramètre : Circuit commun (Circuit&).
7. Etant donné un tableau de n circuits, écrivez une fonction ordinaire qui retourne une
référence sur l’objet qui correspond au circuit le plus court relativement à la durée.
8. Programme principal qui réalise le scénario suivant :
• Création d’un tableau de 4 circuits,
• Affichage du circuit le plus court,
• Retirez la dernière ville de ce circuit,
• Affichez le sous-circuit commun entre ce et le premier circuit du tableau.

__________________________________________________________________________
LST- Génie Informatique 2020-2021

Vous aimerez peut-être aussi