Bonjour à tous,
Je suis sur une partie de mon programme, où j'aimerai pouvoir sur un nombre X, séparer les unités, les dizaines, les centaines, les milliers, etc...
je vous mets le bout du programme qui me pose soucis. Voilà par exemple, si je rentre 123, mon programme fonctionne !!!, mais si je rentre 873 (ca plante)...
J'ai remarqué avec le déboggeur que lors de ma première division, le 8 passe en 9, ce qui va me faire fausser mon calcul par la suite et va tourner à l'infini dans ma 2ème boucle...
Voici mes questions : Y a-t-il un algorithme ou je puisse m'inspirer ? La division en programmation est-elle justicieuse, ou y a-t-il d'autres procédés ?
Est-ce qu'il y a un tuto parlant de ces principes de divisions ou des calculs entres float et entier...
Si il y a des erreurs grossières dites-le moi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim Val_CC as Long Dim Val_Int As Integer Dim Indice_Barre As Integer Val_Int = Val_CC / Val_Div Do While Val_Int > 9 Or Val_Int < 1 If Val_Int = 0 Then Val_Div = Val_Div / 10 Val_Int = Val_CC / Val_Div Else Val_Div = Val_Div * 10 Val_Int = Val_CC / Val_Div End If Loop Indice_Barre = 1 Code_couleur Val_Int, Indice_Barre Val_CC = Val_CC - (Val_Int * Val_Div) Val_Div = Val_Div / 10 Val_Int = Val_CC / Val_Div Do While Val_Int > 9 Or Val_Int < 1 If Val_Int = 0 Then Val_Div = Val_Div / 10 Val_Int = Val_CC / Val_Div Else Val_Div = Val_Div * 10 Val_Int = Val_CC / Val_Div End If Loop Indice_Barre = 2 Code_couleur Val_Int, Indice_Barre Val_CC = Val_CC - (Val_Int * Val_Div) Val_Div = Val_Div / 10 Val_Int = Val_CC / Val_Div Do While Val_Int > 9 Or Val_Int < 1 If Val_Int = 0 Then Val_Div = Val_Div / 10 Val_Int = Val_CC / Val_Div Else Val_Div = Val_Div * 10 Val_Int = Val_CC / Val_Div End If Loop Indice_Barre = 3 Code_couleur Val_Int, Indice_Barre
Je vous remercie pour m'avoir lu...
Amicalement Philou
Partager