Soit l’interface utilisateur ci-après sur la facturation d’un cyber café
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).
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
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 :
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.
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
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 :
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