Share your opinion
Library
-
Gambas Literature
|
Money - How much
How much ?
This small tools will decompose your price into cash billet and coins.
In programming ,it uses 2 main functions who are MOD and DIV
Here code of application :
Public Sub bok_Click()
Dim lasomme As Integer
Dim lecombien As Integer
Dim lereste As Integer
Dim lesdecimales As Float
lasomme = vsomme.Value
lecombien = lasomme Div 200
l1.Text = lecombien
lereste = lasomme Mod 200
lasomme = lereste
lesdecimales = vsomme.Value - (lecombien * 200)
lecombien = lasomme Div 100
l2.Text = lecombien
lereste = lasomme Mod 100
lasomme = lereste
lesdecimales = lesdecimales - (lecombien * 100)
lecombien = lasomme Div 50
l3.Text = lecombien
lereste = lasomme Mod 50
lasomme = lereste
lesdecimales = lesdecimales - (lecombien * 50)
lecombien = lasomme Div 20
l4.Text = lecombien
lereste = lasomme Mod 20
lasomme = lereste
lesdecimales = lesdecimales - (lecombien * 20)
lecombien = lasomme Div 10
l5.Text = lecombien
lereste = lasomme Mod 10
lasomme = lereste
lesdecimales = lesdecimales - (lecombien * 10)
lecombien = lasomme Div 5
l6.Text = lecombien
lereste = lasomme Mod 5
lasomme = lereste
lesdecimales = lesdecimales - (lecombien * 5)
lecombien = lasomme Div 2
l7.Text = lecombien
lereste = lasomme Mod 2
lasomme = lereste
lesdecimales = lesdecimales - (lecombien * 2)
lecombien = lasomme Div 1
l8.Text = lecombien
lereste = lasomme Mod 1
lasomme = lereste
lesdecimales = lesdecimales - lecombien
lasomme = lesdecimales * 100
lecombien = lasomme Div 50
l9.Text = lecombien
lereste = lasomme Mod 50
lasomme = lereste
lecombien = lasomme Div 20
l10.Text = lecombien
lereste = lasomme Mod 20
lasomme = lereste
lecombien = lasomme Div 10
l11.Text = lecombien
lereste = lasomme Mod 10
lasomme = lereste
lecombien = lasomme Div 5
l12.Text = lecombien
lereste = lasomme Mod 5
lasomme = lereste
lecombien = lasomme Div 2
l13.Text = lecombien
lereste = lasomme Mod 2
lasomme = lereste
lecombien = lasomme Div 1
l14.Text = lecombien
lereste = lasomme Mod 1
lasomme = lereste
End
Creation date : 07/02/2022 @ 19:39
Last update : 07/02/2022 @ 19:39
Category : Money
Page read 1436 times
Print the article
Reactions to this article
Reaction #2 |
by valaquarus 12/06/2022 @ 17:12 |
Bonjour Spheris,j'ai relevé ton défi et voici le code : Public Sub Calculs() '<----------------------------------------------------- valable uniquement pour des sommes <= 20 000 000,00€
Dim xDiv As Integer[] = [200, 100, 50, 20, 10, 5, 2, 1] Dim i As Integer Dim iText As New Integer[] Dim lasomme As Integer Dim lecombien As Integer Dim lereste As Integer Dim lesdecimales As Float
For i = 0 To 13 '<----------------------------------------------------------- on s'assure que le tableau est vide iText.Clear Next
lasomme = CInt(vsomme.Value) '<--------------------------------------------- partie entière de la somme affichée
lecombien = lasomme \ xDiv[0] '<------------------------------------------- la partie entière de billets de 200€ lereste = lasomme Mod xDiv[0] '<--------------------------------------------- calcul du premier reste lasomme = lereste '<------------------------------------------------------- bascule de variables lesdecimales = vsomme.Value - (lecombien * xDiv[0]) '<----------------------- uniquement les décimales iText.Add(lecombien, 0) '<--------------------------------------------------- on commence à remplir le tableau des valeurs à afficher
For i = 1 To 7 '<----------------------------------------------------------- de 100€ à 1€ lecombien = lasomme \ xDiv[i] lereste = lasomme Mod xDiv[i] lasomme = lereste '<------------------------------------------------------- bascule de variables lesdecimales -= (lecombien * xDiv[i]) iText.Add(lecombien, i) Next
' lasomme = lesdecimales * xDiv[1] '<----------------------------------------- génère un bug sur certaines valeurs à cause de l'arrondi
lasomme = CInt(vsomme.Value * xDiv[1]) '<----------------------------------- on repart avec un nombre entier comprenant les décimales lecombien = lasomme \ xDiv[1] lereste = lasomme Mod xDiv[1] lasomme = lereste '<------------------------------------------------------- bascule de variables lesdecimales = vsomme.Value - (lecombien * xDiv[1]) '<----------------------- on ne garde que les décimales pour les calculs suivants
For i = 2 To 7 '<----------------------------------------------------------- de 50 cts à 1 cts lecombien = lasomme \ xDiv[i] lereste = lasomme Mod xDiv[i] lasomme = lereste '<------------------------------------------------------- bascule de variables iText.Add(lecombien, i + 6) Next
'------ affichage des valeurs ------ l1.Text = iText[0] l2.Text = iText[1] l3.Text = iText[2] l4.Text = iText[3] l5.Text = iText[4] l6.Text = iText[5] l7.Text = iText[6] l8.Text = iText[7] l9.Text = iText[8] l10.Text = iText[9] l11.Text = iText[10] l12.Text = iText[11] l13.Text = iText[12] l14.Text = iText[13]
End
Public Sub Form_KeyPress()
If Key.code = Key.Enter Then Calculs() If Key.code = Key.Esc Then Me.Close
End
Public Sub vsomme_Change()
Calculs()
If vsomme.Value = 0 Or vsomme.value > 20000000.00 Then l1.Text = "" &nb
|
| QUICK MENU
SEARCH
Where, who?
VISITS
|