TP4 : Afficheur lumineux


Mise en situation
Le travail de ce TP se déroule seul et en groupe.
Temps alloué : 3h
|
Des bandeaux lumineux existent couramment, par exemple dans le train TER. Ils permettent de faire passer un message (gares de dessertes...) sur une petite surface.

Le nombre de lettres visibles sur le panneau est plus petit que le message que l'on a à communiquer, c'est pour cela que le message défile lettre par lettre.
Faire sur StarUML le diagramme de classes au fur et à mesure
La classe
Afficheur représente l'afficheur physique. Elle a un nombre de caractères "affichable" et un bout de message à afficher.
- Attributs :
- Un entier qui représente le nombre de caractères du panneau.
- Une string qui représente le morceau du message qui sera affiché.
- Méthodes :
- Afficheur(int largeur) qui initialise le nombre de caractères et texte en lui mettant des espaces
- int getLargeur() : retourne la largeur de l'afficheur.
- void raz() : remet à zéro le texte de l'afficheur (espace)
- string getTexte() : retourne le texte de l'afficheur
- char decale(char nouveau) : met nouveau à la fin du texte de l'afficheur et enlève le 1er caractère (le retourne). Utiliser substr
Tester toutes les méthodes de l'afficheur.
- Attributs :
- string message : qui est le message total qui défilera
- Afficheur * ecran : permettra d'avoir un nouvel Afficheur.
- int curseur : qui permet de savoir le prochain caractère du message qui sera affiché sur l'Afficheur
- Méthodes :
- SpotMessage(string nMessage, int taille) surcharge du constructeur pour initialiser l'Afficheur et le message ainsi que curseur.
- setMessage(string nMessage) : initialise le message avec nMessage
- string getMessage() : retourne le texte de l'afficheur
- string top() : décale l'Afficheur avec le caractère pointé par curseur. Incrémente curseur. Retourne le texte de l'afficheur
Tester la classe dans le main.
Comment faire pour que deux messages soient séparés par un certain nombre d'espace?

