Exercice Visual Basic : Ligne Article
Une ligne article est décrite par les données suivantes
ATTRIBUTS | Type | Visibilite |
NumArticle | Entier | Private |
Designation | Caractere | Private |
PrixUnitaire | Reel double | Private |
QuantiteEn Stock | Entier | Private |
QuantiteCommandee | Entier | Private |
NumCommande | Entier | Private |
On peut connaitre le prix de vente article par la fonction MontantLigneQ.
On peut connaitre le total facture par la fonction TotalFactureQ. On peut connaitre le reste en stock par la fonction RestStockQ.
1- Ecrire la classe LigneArticle avec ses donnees, ses methodes et ses constructeurs :
• la methode MontantLigneQ renvoie le calcul du total ligne (PrixUnitaire * QuantiteCommandee)
• la methode TotalFactureQ renvoie le calcul du total facture (somme(MontantLigne))
• la methode RestStockQ renvoie le reste en stock lorsque un article est vendu
(QuantiteEn Stock - QuantiteCommandee )
• la methode AffichageQ affiche les lignes commande
2- Les objets de la classe LigneArticle sont a stocke dans un vecteur dynamique.
a) Creer une methode SaisieArticleQ permettant de saisir les objets de la classe LigneArticle
Exemple d'objets de la classe LigneArticle
NumArticle | Designation | PrixUnitaire | QuantiteEnStoc k | QuantiteCommandee | NumCommande |
01 | Ecran | 350 | 30 | 10 | 1 |
02 | Souris | 30 | 100 | 30 | 1 |
01 | Ecran | 350 | 20 | 5 | 2 |
03 | Imprimante | 1000 | 10 | 2 | 1 |
02 | Souris | 30 | 70 | 5 | 2 |
b) Ecrire un programme permettant de realiser le menu suivant:
1. Remplissage du vecteur .
2. Ajout d'une ligne article et affichage du reste en stock pour Particle commande.
3. Insérer une ligne article a un emplacement précis.
4. Suppression d'un ligne article.
5. Afficher les lignes articles.
6. Afficher les lignes articles d'une même commande.
7. Trier les lignes articles par numéro d'article.
3 - On désire stocker dans un fichier séquentiel les lignes articles dont la quantité en stock est supérieur a 50.
Ecrire un programme permettant de :
a) Créer le fichier séquentiel a partir des informations contenues dans le vecteur
b) Afficher 1'ensemble des enregistrements
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | Public Class ligne_article Private NumArticle As Integer Private Designation As Char Private PrixUnitaire As Double Private QuantiteEn_Stock As Integer Private QuantiteCommandee As Integer Private NumCommande As Integer Dim a As Double Property _numart() Get Return NumArticle End Get Set(ByVal value) NumArticle = value End Set End Property Property _des() Get Return Designation End Get Set(ByVal value) Designation = value End Set End Property Property _prix() Get Return PrixUnitaire End Get Set(ByVal value) PrixUnitaire = value End Set End Property Property _qtstock() Get Return QuantiteEn_Stock End Get Set(ByVal value) QuantiteEn_Stock = value End Set End Property Property _qtcom() Get Return QuantiteCommandee End Get Set(ByVal value) QuantiteCommandee = value End Set End Property Property _numcom() Get Return NumCommande End Get Set(ByVal value) NumCommande = value End Set End Property Public Function montantligne() As Double Return (PrixUnitaire * QuantiteCommandee) End Function Public Function TotalFactureQ() As Double a += montantligne() Return a End Function Public Function RestStockQ() As Double Return (QuantiteEn_Stock - QuantiteCommandee) End Function Public Sub AffichageQ() Console.WriteLine(NumCommande & vbTab & QuantiteCommandee) End SubEnd Class---------------------------------------------------------------------------------------------Module Module1 Public al As New Collections.ArrayList Sub Main() End Sub Public Sub SaisieArticleQ() Dim s As New ligne_article Console.WriteLine("Entrez le numero d'article") s._numart = Console.ReadLine Console.WriteLine("Entrez le designation") s._des = Console.ReadLine Console.WriteLine("Entrez le prix unitaire") s._prix = Console.ReadLine Console.WriteLine("Entrez la qt en stock ") s._qtstock = Console.ReadLine Console.WriteLine("Entrez le qt commandé") s._qtcom = Console.ReadLine Console.WriteLine("Entrez le numero de commande") s._numcom = Console.ReadLine al.Add(s) End SubEnd Module |