Vous êtes sur la page 1sur 3

ISET Djerba Année universitaire 2022-2023

TP 10
Les magasins KinderSharp désirent écrire une application en C# pour la gestion des ventes de
leurs produits.
Les magasins offrent plusieurs produits. Chaque produit est caractérisé par un nom et un prix.

Une vente peut être une Facture ou une Livraison. On peut enregistrer plusieurs articles dans
une Vente sous forme de ligneVente. Une LigneVente définit en plus de l’article, la quantité
achetée et une remise en pourcentage.

La propriété Prix de LigneVente doit retourner le prix de l’article après remise.

La méthode Equals() de la classe LigneVente retourne true si deux articles ont le même nom
et la même remise.

Partie I :

En se basant sur ce diagramme de classe :


Q1. Donnez l’implémentation en C# de la classe Produit et LigneVente.

Partie II :

La classe Vente est identifiée par un numéro entier (nombre de ventes crées+1), un client
(String) et une remise (Decimal) et gère une liste de LigneVente

La classe Vente implémente l’interface IVente qui définit la méthode GetTotal(). Elle
retourne le total d’une vente (Decimal) sachant que le total d’une vente est le total de ses
LigneVente(s).

La méthode AjouterLigne() ajoute une nouvelle LigneVente à la liste. En cas où une Ligne
avec le même article existe déjà, elle ajoute la nouvelle quantité à la LigneVente existante.
Une vente peut être une Facture qui ajoute une taxe (pourcentage), ou une Livraison à
laquelle on ajoute un frais de transport (montant) au total.

Atelier de programmation objet – L2 DSI 1


ISET Djerba Année universitaire 2022-2023

NB : La méthode Afficher pour une Facture doit fournir une sortie à l’écran selon ce modèle :

Facture
Numero : 0 - Client : TOTO
Remise : 5 %
-------------------
Produit : chupachupa - Prix : 0,85 Remise 0 % - Qte 4 - Total 3,40
Produit : kindersurprise - Prix : 3,8 Remise 5 % - Qte 1 - Total 3,610
--------------------
Taxe : 19 %
Total Facture : 8,342

En se basant sur le diagramme de classe suivant :

Q3. Donnez l’implémentation de l’interface IVente et les classes Vente et Facture.

Partie III :

Chaque magasin gère un carnet de ventes où on enregistre les factures et les livraisons ainsi
que le nom du magasin.

La classe CarnetDeVente définit la méthode TotalFactures() qui permet de calculer le Total


des ventes de type Facture uniquement.

La méthode CompareTo() permet de comparer le total de ventes de type facture de deux


CarnetDeVente. Elle retourne 0 en cas d’égalité, 1 en cas où le premier est supérieur au
deuxième et -1 dans le cas contraire.

Atelier de programmation objet – L2 DSI 2


ISET Djerba Année universitaire 2022-2023

Q6. Donnez l’implémentation des deux méthodes TotalFactures() et CompareTo() de la


classe CarnetDeVente ;

Q7. Ecrire une méthode Main dans laquelle vous déclarez une liste de CarnetDeVente et
l’afficher trier selon le total des ventes.

Atelier de programmation objet – L2 DSI 3

Vous aimerez peut-être aussi