Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Document 1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

Série d’exercices N 2 C++

Exercice 1 : Gestion de facture


Vous devez créer deux classes en C++ pour gérer une facture. La première classe
s'appelle Product et représente un produit. La deuxième classe s'appelle Invoice et
représente une facture.
La classe Product
La classe Product doit contenir les attributs suivants :
• name : le nom du produit (une chaîne de caractères)
• price : le prix du produit (un nombre décimal)
• quantity : la quantité de produits (un nombre entier)
La classe Product doit également avoir une méthode appelée getSubtotal() qui
retourne le sous-total du produit en multipliant le prix par la quantité.
La classe Invoice
La classe Invoice doit contenir les attributs suivants :
• productList : une liste de produits (une liste de Product)
La classe Invoice doit avoir les méthodes suivantes :
• addProduct() : prend en paramètre un produit (Product) et ajoute ce produit à
la liste de produits de la facture (productList).
• getTotal() : retourne le total de la facture en appelant la méthode
getSubtotal() pour chaque produit dans productList.
• printInvoice() : affiche la facture avec le nom du produit, le prix, la quantité et
le sous-total de chaque produit, ainsi que le total de la facture.
Instructions
• Créez la classe Product avec les attributs et la méthode décrits ci-dessus.
• Créez la classe Invoice avec la liste de produits et les méthodes décrits ci-
dessus.
• Écrivez une fonction main() qui crée une facture, ajoute plusieurs produits à
la facture, puis affiche la facture avec la méthode printInvoice().
• Testez votre programme avec différents produits et quantités pour vous
assurer qu'il fonctionne correctement.
Contraintes
• Vous devez utiliser les classes Product et Invoice pour gérer la facture.
• Vous devez utiliser une liste (list) de produits pour stocker les produits de la
facture.
• Les prix et quantités de produits doivent être des nombres décimaux et
entiers, respectivement.
• Le total de la facture et les sous-totaux de chaque produit doivent être
calculés en utilisant des nombres décimaux.
Exercice 2: parentheses_equilibrated
Écrire une fonction en C++ qui prend en entrée une expression mathématique sous
forme de chaîne de caractères et provisoirement si les parenthèses de l'expression
sont bien équilibrées. Autrement dit, pour chaque parenthèse ouvrante dans
l'expression, il doit y avoir une parenthèse fermante correspondante plus tard dans
l'expression, et dans le bon ordre.
La fonction doit renvoyer true si les parenthèses de l'expression sont bien
équilibrées et false sinon.
Par exemple, l'expression ((2+3)*4)/(1-5) est bien parenthésée, tandis que
l'expression ((2+3)*4)/(1-5 ne l'est pas, car il manque une parenthèse fermée.
Vous pouvez supposer que l'expression ne contient que :{,(,[, ),],}, des chiffres et des
opérateurs arithmétiques (+, -, *, /).
Voici un exemple de signature de fonction pour cette tâche
bool parentheses_equilibrated(const string& expr);
La fonction prend en paramètre une chaîne de caractères contenant l'expression
mathématique à évaluer et renvoyer true si les parenthèses de l'expression sont bien
équilibrées et false sinon.

Vous aimerez peut-être aussi