TP 6 : Sujet (finalisation du distributeur ==> projet)
============

1) Stock
   - est_limite() doit e^tre virtuelle pure
     ==> la fonction actuelle passe dans Stock_produits
   - traite_vide() doit e^tre virtuelle
   - les tableaux sont du type ge'ne'rique Tableau_dyn (voir 5)

2) Stock_pieces
   - est_limite()  se de'clenche a` partir d'un seuil  inversement proportionnel  a` la
     valeur de la pie`ce,  c'est-a`-dire : 0 pour la plus grosse, puis 1 ...
   - traite_vide()  doit essayer de rendre la monnaie quand-me^me.
     La situation est :  rendre_monnaie()  e'tait en train  de faire  son travail quand
     elle s'est aperc,u qu'une certaine pie`ce qui lui e'tait ne'cessaire n'e'tait plus
     disponible; traite_vide() peut peut-e^tre y arriver avec les pie`ces restantes.

3) Monnayeur
   - Cre'er une fonction Run() en re'cupe'rant le traitement qui e'tait auparavant dans
     le distributeur
   - cre'er une fonction de connexion a` l'objet distributeur

4) Distributeur
   - Run()  ne doit plus  faire  le  travail  du  monnayeur,  mais  simplement  appeler
     monnayeur.Run() quand on tape 'M'
   - doit donc se connecter a` l'objet monnayeur

5) Tableau_dyn
   - classe ge'ne'rique imple'mentant un tableau alloue' dynamiquement
   - des contro^les sont faits sur l'indice par l'ope'rateur []
   - une fonction agrandit() permet d'augmenter la taille du tableau
     (en pre'servant les informations existantes, e'videmment)

6) Interface Homme-Machine
   - il est possible de simuler  une ve'ritable IHM textuelle  a` l'aide des fichiers :
     MESLABEL.H, MESLABEL.CPP, MESBOUT.H, MESBOUT.CPP, MAJAUGE.H, et MAJAUGE.CPP.
   - imaginer  que les indications  entre [ ]  sont des afficheurs lumineux  qu'il faut
     mettre a` jour a` chaque e've`nement.
   - lorsque la pie`ce ou le produit est choisi  (en tapant un caracte`re),  appeler la
     fonction Clicke() du bouton correspondant.
   - Regarder les exemples dans E:\TS3\PROF\BUREAUD\CPP\PROJET :
     IHMdos pour l'interface textuelle pre'ce'demment de'crite ;
     IHMdsg pour une interface DOS semi-graphique.

7) Rede'finition de << pour les labels (optionnel)

8) - Tester extensivement en ve'rifiant la cohe'rence des affichages.
   - Traiter au moins les exceptions sugge're'es au pre'ce'dent TP.
   - Ve'rifier e'galement la cohe'rence du comportement lorsqu'il n'y a plus de produit
     ou de pie`ces; pre'voir les erreurs de l'utilisateur.
   - Parfaire l'e'criture du code dans chacun des fichiers.
   - Regrouper dans un seul re'pertoire  tous  les  .H,  les .CPP  utiles,  et  le .EXE
     (supprimer  les  e'ventuels  .BAK, .OBJ,  DEBUG,  etc... ),  ainsi  qu'un  fichier
     RAPPORT.TXT de'crivant succintement le projet, les fichiers, les limitations et/ou
     extensions  et/ou particularite's de votre imple'mentation,  notamment le syste`me
     d'exceptions et son test.
   - Envoyer un mail a`  bureaud  pour indiquer le re'pertoire  (chemin complet sur E:)
     au plus tard  le  MARDI 05 DE'CEMBRE 2000  a` 17h  pour  la  version  "textuelle".
     (retard  ==>  points de pe'nalite's;  projet non rendu  ==>  unite' non valide'e).

---> Ne plus  rien  modifier  sur  ce  re'pertoire  avant  d'avoir  rec,u  un  mail  de
     confirmation.
---> La coope'ration entre projets est possible  a`  condition  de  ne  pas  s'inspirer
     inte'gralement des morceaux de code des autres.
---> Le programme doit compiler et tourner sur les PC de l'e'cole;  une  2e`me version,
     graphique,  peut e^tre de'veloppe'e dans un autre environnement  (ce  travail  est
     optionnel, mais pour e^tre pris en compte, il doit e^tre rendu avant le 7/1/2001).


--> Dernière mise à jour :