
Vous allez reprendre le sujet du TP précédent en tenant compte des modifications apportées avec notamment les deux classes abstraites Document et Multimédia dont je rappelle les différentes descriptions.

Vous allez mettre en oeuvre un programme qui permet de gérer un ensemble de documents stockés dans une bibliothèque. Vous allez construire l'ensemble des classes présentées dans le diagramme UML ci-contre afin de respecter le fonctionnement désiré.
La fonction principale s'occupe uniquement d'afficher un menu et ensuite, suivant le choix proposé par l'utilisateur, doit faire appel à la méthode correspondante de l'objet représentant la classe Bibliothèque.
Toutes les actions d'affichage ou de saisie ne doivent pas être implémentées à l'intérieur d'un document. C'est la classe Bibliothèque qui s'occupe de ce genre de problème.
Pour vous aidez dans votre démarche, je vous propose les scénarii suivants.




Lorsque la bibliothèque demande la liste des documents, elle fait appel à la méthode intitulé du document concerné.
Lorsque nous demandons une description d'un document, une liste est automatiquement transmise afin de choisir le bon numéro qui correspond au document que nous souhaitons consulter.
Il existe une classe ostringstream qui permet de faire du formatage de texte pour passer d'une valeur numérique vers la chaîne de caractères correspondante. L'opérateur << a justement été redéfini pour supporter tous les types primitifs, comme les entiers, les réels, etc. Par ailleurs, cette classe dispose d'une méthode str() qui retourne la chaîne ainsi créée en format string.

![]()
Corrections : Cliquez sur le fichier source à visualiser