Aller au contenu principal

Défi — Objets et classes : Compte de fidélité

Avant de commencer

Tu peux commencer ce défi si…
  • tu sais instancier un objet avec new;
  • tu sais appeler un constructeur;
  • tu sais utiliser les propriétés et les méthodes d'un objet.

Si une notion te manque, révise le cours Introduction à la programmation orientée objet.

Contexte

Une boutique veut offrir un programme de fidélité. Le projet de départ contient déjà la classe CompteFidelite, qui représente un compte et protège son solde de points. Ton travail consiste à créer et à utiliser un objet de cette classe dans une application console.

Télécharger le projet de départ

Télécharge le projet, extrais-le, puis ouvre CompteFidelite.sln dans Visual Studio. La classe est complète; ne la modifie pas.

Besoins

Complète le programme afin de :

  • créer un seul objet CompteFidelite au nom de Maya;
  • afficher le nom et le nombre de points de l'objet;
  • présenter un menu permettant d'ajouter des points, d'échanger des points ou de quitter;
  • lire et valider le nombre de points demandé;
  • appeler la méthode appropriée sur l'objet;
  • afficher le résultat de chaque action et le nouveau solde de points;
  • répéter le menu jusqu'à ce que l'utilisateur choisisse de quitter.

Valeurs et classe fournies

La classe expose exactement les membres suivants :

  • le constructeur CompteFidelite(string nom);
  • les propriétés en lecture Nom et Points;
  • AjouterPoints(int nombrePoints), qui retourne true seulement lorsque le nombre est supérieur à 0;
  • EchangerPoints(int nombrePoints), qui retourne true seulement lorsque le nombre est supérieur à 0 et ne dépasse pas le solde.

Le solde initial est toujours 0 et il ne peut pas être modifié directement depuis le programme principal.

Notions à utiliser

  • instanciation avec new;
  • constructeur, propriétés et méthodes d'un objet;
  • objet conservé dans une variable locale;
  • switch, boucle while ou do while et TryParse.

Contraintes

  • Ne modifie pas la classe CompteFidelite.
  • Ne reproduis pas les règles de points dans le programme principal : utilise les valeurs retournées par les méthodes de l'objet.
  • Si la saisie n'est pas un entier, affiche Entrez un nombre entier de points..
  • Après un ajout, affiche Ajout effectué. ou Ajout refusé..
  • Après un échange, affiche Échange effectué. ou Échange refusé..
  • Après chaque action, le solde affiché doit correspondre à la propriété Points de l'objet.

Exemple de résultat

Compte : Maya
Points disponibles : 0

1 - Ajouter des points
2 - Échanger des points
3 - Quitter
Choix : 1
Nombre de points : 100
Ajout effectué.
Points disponibles : 100

1 - Ajouter des points
2 - Échanger des points
3 - Quitter
Choix : 2
Nombre de points : 30
Échange effectué.
Points disponibles : 70

Critères de réussite

  • Un seul objet CompteFidelite est créé et conservé pendant toute l'exécution.
  • Le programme utilise le constructeur, les propriétés et les méthodes fournis.
  • Le menu reste disponible jusqu'au choix 3 - Quitter.
  • L'affichage demeure synchronisé avec l'état réel de l'objet.

Tests manuels et résultats attendus

Effectue les tests dans l'ordre, à partir d'une nouvelle exécution de l'application.

Action et valeur à saisirRésultat attendu
Démarrer l'applicationCompte : Maya, puis Points disponibles : 0 et le menu.
Choisir 1, puis saisir 100Ajout effectué. et Points disponibles : 100.
Choisir 2, puis saisir 30Échange effectué. et Points disponibles : 70.
Choisir 2, puis saisir 80Échange refusé. et Points disponibles : 70.
Choisir 1, puis saisir -10Ajout refusé. et Points disponibles : 70.
Choisir 1, puis saisir bonjourEntrez un nombre entier de points. et Points disponibles : 70.
Choisir 9Choix invalide. et le menu est affiché de nouveau.
Choisir 3Au revoir!, puis l'application se termine.