Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours programmation » Cours visual basic » Exercices VB »

Articles similaires

    Documents similaires

    • Application Excel sur la gestion des prix de revient

    • Application Excel sur la gestion des ventes et de stock

    • Gestion des notes d'une classe application en langage C

    • Application Excel sur gestion de stock avancé

    • Document Visual Basic 6

    • Application Excel sur la gestion de stock et caisse

    • Code source mini projet de compilateur basic en langage C

    • Introduction au Visual Basic cours générale

    Exercice Visual Basic : Mini application de gestion de petit commerce

    Rédigé par GC Team, Publié le 06 Janvier 2012, Mise à jour le Mardi, 30 Novembre 1999 00:00
    Participez au vote ☆☆☆☆☆★★★★★

    On désire programmer une mini application de gestion de petit commerce.

    Pour cela, on va écrire une classe Produit et une classe Magasin. Dans notre commerce, chaque produit est caractérisé par son N° de référence, son nom, son prix d'achat, son prix de vente, le nombre d'exemplaires en stock, et sa description.

    A la création du produit, on fixe son nom, son prix d'achat et son prix de vente, c'est à dire que ces données son fournies en argument au constructeur de la classe.

    Par défaut, la description du produit est \Pas de description", et la quantité de produits en stock est nulle.

    La classe Produit dispose d'un certain nombre de méthodes, qui lui permettent d'afficher la description du produit, de l'éditer, d'augmenter ou de diminuer le nombre d'exemplaires en stock, ainsi que d'obtenir les valeurs des différents attributs.

    1: Ecrivez la classe Produit(2pts)

    Un magasin se caractérise par son solde et par son stock de produits. Le stock de produit est représenté par un tableau d'objets \Produit".

    Avant de pouvoir acheter ou vendre un produit, il faut l'avoir ajouté dans le stock. Pour cela, la classe Magasin dispose d'une méthode:

    public void ajouterProduit(String nom, float prixAchat, float prixVente)

    L'indice de la case du tableau dans laquelle on a stocké le produit devient alors la référence de ce produit. Pour acheter ou vendre ce produit, on utilise alors la référence comme argument des méthodes:

    public void acheterProduit(int referenceProduit,int nombreExemplaires)

    public void vendreProduit(int referenceProduit,int nombreExemplaires)

    La classe Magasin dispose également des méthodes habituelles d'accès à ses attributs, et d'une méthode Bilan qui permet d'afficher un bilan du magasin.

    2: Ecrivez la classe Magasin. Testez-la. 

    Jusque là, les produits disposent d'une description qui est une simple chaîne de caractère. Cela Peut être insuffisant dans certains cas.

    Par exemple, on aimerait avoir une classe Livre qui ait le même comportement que la classe Produit, mais qui dispose d'un attribut auteur et d'un attribut éditeur.

    3: Ecrivez la classe Livre qui hérite de la classe Produit. Certaines méthodes doivent être surchargée (c'est-à-dire récrites) 

    De même, un cd se caractérise par son auteur, son interprète, et l'ensemble des titres de ses pistes.

    4: Ecrivez la classe Cd qui hérite de la classe Produit. 

    Il va maintenant falloir faire les modifications nécessaires dans la classe Magasin, mais elles sont minimes. En effet, Livre étant une sous-classe de Produit, les objets de type Livre sont également de type Produit, donc le tableau de produits peut également contenir des livres ou des CDs.

    C'est à la création des objets que les choses changent. En plus de la méthode ajouterProduit, la classe Magasin doit également contenir une méthode ajouterLivre et une méthode ajouterCd.

    5: Modifier la classe Magasin pour tenir compte des nouveaux objets. 

    Pour utiliser pleinement votre classe Magasin, vous avez maintenant besoin d'une méthode d'interaction permettant de proposer à  l'utilisateur d'ajouter un livre, un cd ou un produit standard, d'acheter, de vendre, d'obtenir ou d'éditer la description d'un produit déjà existant, d'afficher un bilan général.

    Exemple d’interaction :

    Que voulez-vous faire?

    1) Acheter un produit

    2) Vendre un produit

    3) Ajouter un produit

    4) Décrire un produit

    5) Voir la description d'un produit

    6) Afficher un bilan

    7) Modifier le prix de vente d’un produit

    8) Ttrier les produits par prix de vente

    9) Afficher le montant global des prix d’achat des livres et CDs

    Programmer ces fonctionalités?

    6: Faire un programme permettant sauvegarder les produits par catégorie (Livre, CDs …) dans un fichier nomme Produit.dat 


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    
    Public Class Livre
        Inherits Produit
        Private Auteur, Editeur As String
        Property _Auteur()
            Get
                Return Auteur
            End Get
            Set(ByVal Value)
                Auteur = Value
            End Set
        End Property
        Property _Editeur()
            Get
                Return Editeur
            End Get
            Set(ByVal Value)
                Editeur = Value
            End Set
        End Property
    End Class
     
    -----------------------------------------------------------------------------
     
    Public Class Magasin
        Private solde As Double
        Const x As Integer = 100
        Private stock(x) As Produit
        Public i As Integer
        Property _solde()
            Get
                Return solde
            End Get
            Set(ByVal Value)
                solde = Value
            End Set
        End Property
        Public Sub ajouterProduit(ByVal nom As String, ByVal prixAchat As Double, ByVal prixVente As Double)
            Dim a As New Produit(nom, prixAchat, prixVente)
            a._N_produit = i
            stock(i) = a
            i += 1
        End Sub
        Public Sub acheterProduit(ByVal referenceProduit As Integer, ByVal nombreExemplaires As Integer)
            stock(referenceProduit).augmenter(nombreExemplaires)
        End Sub
        Public Sub vendreProduit(ByVal referenceProduit As Integer, ByVal nombreExemplaires As Integer)
            stock(referenceProduit).diminuer(nombreExemplaires)
        End Sub
        Public Sub New()
        End Sub
        Public Sub New(ByVal S As Double)
            _solde = S
        End Sub
        Public Sub bilan()
            For i = 0 To stock.GetUpperBound(0) - 1
                stock(i).afficher()
            Next
        End Sub
    End Class
     
    -----------------------------------------------------------------------------
     
    Public Class Produit
        Private N_produit As Integer
        Private NB_exemplaire As Integer = 0
        Private Nom As String
        Private Prix_achat, Prix_vente As Double
        Private Description As String = "Pas de description"
        Property _N_produit()
            Get
                Return N_produit
            End Get
            Set(ByVal Value)
                N_produit = Value
            End Set
        End Property
        Property _NB_exemplaire()
            Get
                Return NB_exemplaire
            End Get
            Set(ByVal Value)
                NB_exemplaire = Value
            End Set
        End Property
        Property _Nom()
            Get
                Return Nom
            End Get
            Set(ByVal Value)
                Nom = Value
            End Set
        End Property
        Property _Description()
            Get
                Return Description
            End Get
            Set(ByVal Value)
                Description = Value
            End Set
        End Property
        Property _Prix_achat()
            Get
                Return Prix_achat
            End Get
            Set(ByVal Value)
                Prix_achat = Value
            End Set
        End Property
        Property _Prix_vente()
            Get
                Return Prix_vente
            End Get
            Set(ByVal Value)
                Prix_vente = Value
            End Set
        End Property
        Public Sub New()
        End Sub
        Public Sub New(ByVal N As String, ByVal PA As Double, ByVal PV As Double)
            _Nom = N
            _Prix_achat = PA
            _Prix_vente = PV
        End Sub
        Public Sub afficher()
            Console.WriteLine(_N_produit & vbTab & _Nom & vbTab & _Prix_achat & vbTab & _Prix_vente & vbTab & _NB_exemplaire & vbTab & Description)
        End Sub
        Public Sub description_produit()
            Console.WriteLine(_Description)
        End Sub
        Public Sub augmenter(ByVal a As Integer)
            NB_exemplaire += a
        End Sub
        Public Sub diminuer(ByVal a As Integer)
            NB_exemplaire -= a
        End Sub
    End Class
    • Contactez-nous
    • A propos de nous
    • On recrute
    • Rechercher dans le site
    • Politique de confidentialité
    • Droit d'auteur/Copyright
    • Conditions générales d'utilisation
    • Plan du site
    • Accueil
    • Blog
    • Finance et compta.
    • Formations Pro.
    • Logiciels & Apps
    • Organisation
    • Cours informatique
    • Aide à la rédaction
    • Etudes et Metiers
    • Science et Tech
    • Titans de la Tech
    id 11354 02