M2103-TP1-Exo-2

Création du projet

Créez le projet ModuleProf (avec QT Creator).

Etape 1

Dans l’espace de noms anonyme du fichier TestModuleProf.cpp, déclarer les classes Module et Prof définie par le
diagramme UML
:

, qui possède les caractéristiques suivantes :

  • Les références aux modules enseignés par un professeur seront rangés dans un
    vector <Module *>.

  • Le constructeur de la classe Prof aura en paramètre uniquement son nom.

  • Les références aux professeurs dispensant un module seront rangés dans un
    vector <Prof *>.

  • Le constructeur de la classe Module aura en paramètre uniquement son nom.

  • La fonction addModule() de la classe Prof ajoute au vector <Module *> le module passé en paramètre.
    Ce paramètre est un pointeur sur un Module (non représentable en UML).

  • La fonction addProf() de la classe Module ajoute au vector <Prof *> le module passé en paramètre.
    Ce paramètre est un pointeur sur un Prof (non représentable en UML).

  • La fonction display() de la classe Prof affiche les noms de chacun des modules qu’il dispense, à raison d’un par ligne.

  • La fonction display() de la classe Module affiche les noms de chacun des professeurs qui le dispense,
    à raison d’un par ligne.

Dans l’espace de nom anonyme écrire la fonction TestModuleProf() qui :

  • crée, un vector <Module *> (4 ou 5 suffiront), en saisissant les noms des modules au clavier (ne pas oublier d’allouer de la place).

  • crée, un vector <Prof *> (4 ou 5 suffiront), en saisissant les noms des professeurs au clavier (ne pas oublier d’allouer de la place).

  • Ajoute à chaque professeur 1 ou 2 modules qu’il dispense.

  • Ajoute à chaque module 1 ou 2 professeurs qui l’enseigne.

  • Affiche le nom de chaque professeur suivi de la liste de tous les modules dans lesquels il intervient.

  • Affiche le nom de chaque module suivi de la liste de tous les professeurs qui le dispensent.

  • Restitue l’espace alloué dans chacun des 2 vectors.

N’oubliez pas de sauvegarder tous vos fichiers sources sur github.