Auteur Auteur

EXERCICES RESOLUS EN VISUAL BASIC

EXERCICES RESOLUS EN VISUAL BASIC

EXERCICE 38

EXERCICE 38

Soit l’interface utilisateur ci-après sur la facturation d’un cyber café

exercices résolus en VB

Proposez des codes associés aux trois boutons de commande, tels qu’en cliquant sur « Net à payer », le programme calcule et affiche le net à payer qui est constitué du cout de navigation (le cout de navigation par minute est 10Fc pour la catégorie «Etudiant » et 15Fc pour la catégorie « Autres» et du cout d’impression (L’impression d’une page vaut 50Fc). En cliquant sur « Annuler», le programme est réinitialisé et en cliquant sur « Fermer », le programme s’arrête. (Indication : nommer les objets concernés par les initiales de leurs noms).

Solution

Solution


Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ComboCat.Items.Add("Etudiant")
        ComboCat.Items.Add("Autre")
        ComboNbre.Items.Add("1")
        ComboNbre.Items.Add("2")
        ComboNbre.Items.Add("3")
        ComboNbre.Items.Add("4")
        ComboNbre.Items.Add("5")
        ComboNbre.Items.Add("6")
        ComboNbre.Items.Add("7")
        ComboNbre.Items.Add("8")
        ComboNbre.Items.Add("9")
        ComboNbre.Items.Add("10")
        ComboNbre.Items.Add("11")
        ComboNbre.Items.Add("12")
        ComboNbre.Items.Add("13")
        ComboNbre.Items.Add("14")
        ComboNbre.Items.Add("15")
        TxtNp.ReadOnly = True
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim cat As String
        Dim temps, nbre, np As Integer
        'recuperation des informations 
        cat = ComboCat.SelectedItem
        temps = TxtTemps.Text
        nbre = ComboNbre.Text
        'calcul du net à payer 
        If cat = "Etudiant" Then
            np = 10 * temps + nbre * 50
        ElseIf cat = "Autre" Then
            np = 15 * temps + nbre * 50
        End If
        TxtNp.Text = np.ToString
    End Sub

    Private Sub BtnAnnuler_Click(sender As Object, e As EventArgs) Handles BtnAnnuler.Click
        ComboCat.Text = ""
        ComboNbre.Text = ""
        TxtNp.Text = ""
        TxtTemps.Text = ""
    End Sub

    Private Sub BtnFermer_Click(sender As Object, e As EventArgs) Handles BtnFermer.Click
        Dim i As Integer
        i = MsgBox("voulez vous réellemnt quitter?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "CYBER CAFE")
        If i = 6 Then
            End
        End If
    End Sub
End Class

EXERCICE 39

EXERCICE 39

L’hôtel HB vous confie la conception du calcul du montant à payer par ses clients et vous informe que ce montant est constitué des rubriques suivantes : logement, restauration, transport et buanderie. Ses clients sont organisés en catégories suivantes : Clergé, agent de l’état et autres. Le cout du logement est fonction du type de chambre et la tarification est donnée par le tableau ci-après :

Type de chambre Coût de logement par jour (en $)
Chambre ordinaire 30
Chambre V.I.P 80
Appartement 4 pièces 90
Appartement 6 pièces 100

Le cout de logement journalier connait une réduction qui tienne compte du nombre de jours telle :

  • Pour les gens des catégories « Clergé » et « Agent de l’état », à partir du 6e jour ce cout de logement journalier connait une réduction de 20%.
  • Pour les gens de la catégorie « Autres », à partir du 11e jour ce cout connait une réduction de 15%.

Proposez un programme en Visual Basic.Net (Interface et code) qui permette de calculer et afficher le montant à payer pour un client quelconque à la fin de son séjour.

Attention : L’utilisateur sélectionnera dans des ListBox la catégorie et le type de chambre. Après sélection du type de chambre, le cout de logement journalier apparait automatiquement dans la zone de texte associée qui est seulement en lecture.

Si le type de chambre est Chambre ordinaire ou Chambre V.I.P, la case à cocher « Accompagner d’un enfant» sera activée pour autoriser si nécessaire sa coche. Les couts de restauration, transport et buanderie peuvent être saisis ou sélectionnés à travers des ComboBox correspondants.

En cas d’accompagnement par un enfant, le complément de 50% est effectué sur le cout de logement.

Après un clic sur le bouton «Calcul », le programme calculera et affichera le montant à payer ainsi que le montant total de logement.

Solution

Solution

exercices résolus en VB


Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'chargement des listes 
        ListTypeChambre.Items.Add("Chambre ordinaire")
        ListTypeChambre.Items.Add("Chambre V.I.P")
        ListTypeChambre.Items.Add("Appartement 4 pièces")
        ListTypeChambre.Items.Add("Appartement 6 pièces")
        ListCat.Items.Add("Clergé")
        ListCat.Items.Add("Agent de l'état")
        ListCat.Items.Add("Autres")
        TxtCoutLogJr.ReadOnly = True
        TxtNp.ReadOnly = True
        TxtCoutlog.ReadOnly = True
        CheckAcc.Enabled = False
    End Sub

    Private Sub ListTypeChambre_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListTypeChambre.SelectedIndexChanged
        Dim type As String
        type = ListTypeChambre.SelectedItem
        If type = "Chambre ordinaire" Then
            TxtCoutLogJr.Text = 30
            CheckAcc.Enabled = True
        ElseIf type = "Chambre V.I.P" Then
            TxtCoutLogJr.Text = 80
            CheckAcc.Enabled = True
        ElseIf type = "Appartement 4 pièces" Then
            TxtCoutLogJr.Text = 90
        ElseIf type = "Appartement 6 pièces" Then
            TxtCoutLogJr.Text = 100
        End If
    End Sub

    Private Sub BtnCalcul_Click(sender As Object, e As EventArgs) Handles BtnCalcul.Click
        Dim logementTotal, restauration, trans, buand, nbreJr, logJ, np As Integer
        Dim cat As String
        If ComboBuanderie.Text = "" Or TxtCoutLogJr.Text = "" Or TxtNbreJrs.Text = "" Or ComboRestauration.Text = "" Or ComboTransport.Text = "" Or TxtCoutLogJr.Text = "" Or ListCat.SelectedItem = "" Or ListTypeChambre.SelectedItem = "" Then
            MsgBox("veuillez remplir tous les champs", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "HOTEL HB")
        Else
            'recuperation des informations 
            cat = ListCat.SelectedItem
            restauration = Val(ComboRestauration.Text)
            buand = Val(ComboBuanderie.Text)
            trans = Val(ComboTransport.Text)
            nbreJr = Val(TxtNbreJrs.Text)
            logJ = Val(TxtCoutLogJr.Text)
            'calcul du cout de logement total 
            If cat = "Clergé" Or cat = "Agent de l'état" Then
                Select Case (nbreJr)
                    Case 0 To 5
                        logementTotal = logJ * nbreJr
                    Case Is >= 6
                        logementTotal = 5 * logJ + (logJ * (1 - 0.2)) * (nbreJr - 5)
                End Select
            Else
                Select Case (nbreJr)
                    Case 0 To 10
                        logementTotal = logJ * nbreJr
                    Case Is >= 11
                        logementTotal = 10 * logJ + (logJ * (1 -0.15)) * (nbreJr - 10)
                End Select
            End If
            If CheckAcc.Checked = True Then
                logementTotal = logementTotal * (1 + 0.5)
            End If
            'on affiche le cout de logement total 
            txtCoutlog.Text = logementTotal.ToString
            'on calcule le Net à payer 
            np = buand + logementTotal + restauration + trans
            TxtNp.Text = np.ToString
        End If
    End Sub

    Private Sub BtnAnnuler_Click(sender As Object, e As EventArgs) Handles BtnAnnuler.Click
        ComboBuanderie.Text = ""
        TxtCoutLogJr.Text = ""
        TxtNbreJrs.Text = ""
        ComboRestauration.Text = ""
        ComboTransport.Text = ""
        TxtCoutLogJr.Text = ""
        ListCat.SelectedItem = ""
        ListTypeChambre.SelectedItem = ""
        TxtNp.Text = ""
        TxtCoutlog.Text = ""
        CheckAcc.Checked = False
    End Sub

    Private Sub BtnFermer_Click(sender As Object, e As EventArgs) Handles BtnFermer.Click
        Dim i As Integer
        i = MsgBox("Vous voulez réellement quitter?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "HOTEL HB")
        If i = 6 Then
            End
        End If
    End Sub
End Class

EXERCICE 40

EXERCICE 40

Concevoir un programme en VB de statistique qui calcule la moyenne (arithmétique, géométrique et harmonique), la variance, l’écart-type et l’écart-moyen, en suivant les indications suivantes :

  • Définir une interface qui permette de : lire le titre du tableau (zone de texte), lire ou sélectionner le nombre de variables (liste combinée), cocher les paramètres à calculer (case à cocher), lancer la suite du programme ou arrêter l’exécution (Boutons de commande).
  • Les autres données sont ensuite lues à travers une boite d’entrée (InputBox).
  • Après calcul, le résultat s’affiche dans une boite de message.

Solution

Solution

exercices résolus en VB


Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ComboBox1.Items.Add(5)
        ComboBox1.Items.Add(10)
        ComboBox1.Items.Add(15)
        ComboBox1.Items.Add(20)
        ComboBox1.Items.Add(25)
        ComboBox1.Items.Add(30)
        ComboBox1.Items.Add(35)
    End Sub

    Private Sub BtnSuivant_Click(sender As Object, e As EventArgs) Handles BtnSuivant.Click
        Dim n As Integer
        Dim somme, produit, inverse, diff1, diff2 As Long
        Dim m, g, h, var, s, ecartMoyen As Single
        n = Val(ComboBox1.Text)
        If Val(ComboBox1.Text) = 0 Or n <= 0 Then
            MsgBox("nombre d'observation incorrect")
        Else
            Dim A(n - 1) As Integer
            For i As Integer = 0 To n - 1
                A(i) = Val(InputBox("entrez la " & i + 1 & " e observation", "LECTURE DES DONNEES"))
            Next
            'calcul de la somme  et produit et la somme des inverses 
            somme = 0
            produit = 1
            inverse = 0
            For i As Integer = 0 To n - 1
                somme += A(i)
                produit *= A(i)
                inverse += 1 / A(i)
            Next
            m = somme / n
            g = produit * (1 / n)
            h = n / inverse
            'calcul de la   variance, ecart type et ecart moyen 
            diff1 = 0
            diff2 = 0
            For i As Integer = 0 To n - 1
                diff1 += (A(i) - m) ^ 2
                diff2 += Math.Abs((A(i) - m))
            Next
            var = diff1 / n
            s = var * (1 / 2)
            ecartMoyen = diff2 / n
            If ChecEcartType.Checked = True Then
                MsgBox("L'ecart type vaut " & s, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "RESULTAT")
            End If
            If CheckEcartMoyen.Checked = True Then
                MsgBox("L'ecart moyen vaut " & ecartMoyen, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "RESULTAT")
            End If
            If CheckMoyenneA.Checked = True Then
                MsgBox("La moyenne arithmetique  vaut " & m, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "RESULTAT")
            End If
            If CheckMoyenneG.Checked = True Then
                MsgBox("La moyenne geometrique vaut " & g, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "RESULTAT")
            End If
            If CheckMoyenneH.Checked = True Then
                MsgBox("La moyenne harmonique vaut " & h, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "RESULTAT")
            End If
            If CheckVariance.Checked = True Then
                MsgBox("La variance  vaut " & var, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "RESULTAT")
            End If
        End If
    End Sub

    Private Sub BtnQuitter_Click(sender As Object, e As EventArgs) Handles BtnQuitter.Click
        End
    End Sub
End Class


pdf Retrouvez ce cours en version pdf
Télécharger