IUP2 TP INFO n° 4

Aujourd'hui, nous allons étudier les imbrications d'objets et tableaux en C++. Nous nous limiterons au fonctionnement de base, afin d'en comprendre les principes, sans chercher à fignoler les détails, ce qui fait que les programmes que vous écrirez ne seront pas nécessairement d'une utilité vitale, ni munis d'une interface homme-machine particulièrement conviviale. Le but est de gérer les adhérents d'un club sportif.

Attention, cette fois vous devez me rendre votre rapport de TP à la fin de la séance, et les programmes que vous aurez créés devront être transférés sur le serveur ftp-ipst.

Pour commencer, vous disposez d'une classe «date», disponible à l'URL ftp://ftp-ipst/tp-iup2/date.cpp (voir TP1) . Une date contient 3 attributs entiers : jour, mois, année.

Cette classe contient bon nombre de méthodes, et plusieurs opérateurs ont été surchargés (<< et >> pour les entrées/sorties, + et – pour ajouter ou soustraire un nombre de jours, et les comparaisons). L'usage de ces opérateurs vous suffira pour ce TP (sauf là où je le signale). Vous ne devriez pas modifier ce fichier.

Maintenant vous allez créer une classe pour définir l'identité d'un adhérent au club. Nous allons nous limiter à trois attributs, son nom, son prénom et sa date de naissance. Evidement il faudrait plus d'attributs, je vous autorise à en rajouter quand vous aurez fini le TP. La date de naissance sera de la classe date, vous pourrez donc utiliser ses méthodes publiques.

Vous pouvez d'ores et déjà récupérer une première ébauche de «identite.cpp » au même endroit. Mais celui là il va falloir le modifier :

Maintenant vous allez créer une classe « adherent ». En déclarant la classe ainsi :

class adherent : public identite 
 {
  définition des attributs et méthodes supplémentaires
 };

cette classe héritera de la classe identité. C'est à dire qu'elle possédera déjà tous les attributs et méthodes d'un objet identité, mais accédera uniquement à ceux déclarés public ou protected, pas aux private (si nécessaire, déclarez protected les attributs d'une identité dont vous avez besoin). Il n'y aura plus qu'a lui rajouter les attributs et méthodes que l'on désire en plus.

Maintenant nous aimerions créer un objet qui gérera tous nos adhérents (nommé « fichier »). Il comporte un tableau d'adhérents (on n'aura pas plus de 200 adhérents), et un entier nb définissant le nombre effectif d'adhérents.

Si vous avez fini, créez un programme contenant deux fichiers : foot et natation. Affichez automatiquement
1) ceux qui pratiquent les deux sports (même nom, prénom et date de naissance)
2) les frères, soeurs et cousins (même nom de famille) mais ne réécrivez pas deux fois ceux qui font 2 sports.


Une solution est disponible ici.


retour sommaire C++ TP3

(c) P. TRAU IPST - ULP