C++ 1e Bac : Exemple Examen 3 : Le boulier à quatre

Transcription

C++ 1e Bac : Exemple Examen 3 : Le boulier à quatre
C++ 1e Bac : Exemple Examen 3 : Le boulier à quatre
Ce qu’on appelle boulier à quatre, c’est un système de billes suspendues par des fils. Ce système accepte au maximum
quatre billes (un tableau de 4 éléments). Au-delà de quatre, si une bille est ajoutée à droite, la bille de gauche est
retirée. De même, si une bille est ajoutée à gauche, celle de droite est retirée.
Ecrire un programme permettant de représenter cette application. Chaque bille est représentée par
une structure contenant les données suivantes :
string Couleur_Bil;
char Code ;
// couleur de la bille par exemple : vert bouteille // 1 seul caractère et pas un tableau d’un seul caractère Code[1]
Le programme doit gérer en boucle le menu de choix suivant :
1- Saisie et Affichage
2- Ajout Gauche et Affichage
3- Ajout Droite et Affichage
4- Affichage
5- Effacer bille et Affichage + Sauver Fichier
6- Sortir
Exemple d’exécution
1- Saisie et Affichage :
Dans la fonction saisie (Type void), on demandera à l’utilisateur le nombre de billes (NI<=4) pour initialiser le
Tableau.
Exp : Si NI=2
//couleur (Code)
Rouge (E) Vert bouteille (C) ... …
R
V
2- Ajout Gauche et Affichage :
Bleu (T)
B
Bleu (T) Rouge (E) Vert bouteille (C) ...
R
V
3- Ajout Droite et Affichage :
Blanc (S) Bleu (T) Rouge (E) Vert bouteille (C) Blanc (S)
R
B
V
Bc
R
V
2- Ajout Gauche et Affichage :
Jaune (T)
J
Jaune (T) Bleu (T) Rouge (E) Vert bouteille (C)
B
2- Ajout Gauche et Affichage :
Noire (N)
Noire
(N) Jaune (T) Bleu (T) Rouge (E)
N
5- Effacer bille et Affichage + Sauver Fichier
// La bille est choisie par l’utilisateur
Il faut se baser aussi sur le code (Si deux billes de même couleur).
Couleur de la bille : Jaune
Code : T N
Noire (N) Bleu (T) Rouge (E) ...
J
B
B
R
R
Fichier Jaune T
Si la bille à effacer existe, il faut la supprimer du tableau et l’enregistrer dans un fichier ‘’Fich.txt’’ .
Remarques : Utilisez les règles de bonnes pratiques étudiées durant les travaux pratiques telles que l’indentation
syntaxique, la programmation modulaire, …Votre programme utilisera une série de fonctions permettant de séparer les
tâches (Saisie, Affichage, Ajout, Localiser, Sauver…). Il doit empêcher l’utilisateur de se retrouver avec un tableau de
plus que quatre billes ou d’en effacer une alors qu’il est vide. Si la bille à supprimer n’existe pas, n’oubliez pas de le
signaler à l’utilisateur.
M.BENJELLOUN
S. Informatique