Problème Visual basic 6...

Problème Visual basic 6... - Programmation

Marsh Posté le 06-10-2001 à 23:53:10    

Je vien de faire un prog avec Vb 6 et g un pti prob...
Voici le prog: http://s.ludwig.free.fr/Calcul.exe
Le problème c que il me dit comme résultat que 2^24+10^24=10^24...donc c pas juste...qu'elqu'un peut m'éxpliquer ???

Reply

Marsh Posté le 06-10-2001 à 23:53:10   

Reply

Marsh Posté le 07-10-2001 à 09:38:13    

c'est normal, car c'est le résultat
2^24 + 10^24 = 1e24
 
par contre mets les parenthéses

Reply

Marsh Posté le 07-10-2001 à 10:01:06    

desoler de te dire ca mais on comprend pas grand chose a l'interface...

Reply

Marsh Posté le 07-10-2001 à 11:01:24    

Pour l'interface, t'inkiet, c qu'un essaie pour des pôtes et moi...je vais encore la revoir, ce qui m'énerve pour l'instant c pkoi 10^24+2^24=10^24 ou plutôt comment changer ça...ou je doit les mettres les parenthèses???
Voici le code au cas ou...
Private Sub About_Click()
MsgBox "Copyright © 2001 Stéphane Ludwig E-mail: stephane_ludwig@yahoo.fr", 64, "About"
End Sub
 
Private Sub Command1_Click()
a = Text1(0).Text
b = Text1(1).Text
c = Text1(2).Text
d = Text1(3).Text
For n = 3 To d
For x = 2 To a
For y = 2 To b
For z = 2 To c
If (z ^ n) = ((x ^ n) + (y ^ n)) Then GoTo fin
Next z
Next y
Next x
Next n
MsgBox "Rien n'a été trouvé", 16, "Fin de la recherche"
fin: Text1(4).Text = x
Text1(5).Text = y
Text1(6).Text = z
Text1(7).Text = n
End Sub
 
Une idée ???

Reply

Marsh Posté le 07-10-2001 à 11:04:44    

Si vs comprenez pas ce qui faut faire, faut remplir les options et cliquez sur go...d'après un certain théorème, il doit jamais rien me trouver...mais là si je met n juske 100 ou plus par exemple il me marque ((2^24)+(10^24))=(10^24)...ce qui n'est pas juste !

Reply

Marsh Posté le 07-10-2001 à 11:31:38    

10^24+2^24=10^24
sur la calculatrice ca donne ca et c juste.
 
c koi comme type de variable a, b, c, d
ce ke je veux dire c ke j'espere que tu les a declar qq part

 

[edtdd]--Message édité par TheJackal--[/edtdd]

Reply

Marsh Posté le 07-10-2001 à 11:37:43    

Je te conseille de mettre les commentaires et de nous renvoyer le programme, au passage tu peux modifier une chose, bénine...
Si tu veux récupérer la valeur d'un quelquonque bloc texte, je te conseille, de mettre VAL(.....  
 
a = val((text1.text(0)))
b = val((...
c =...
 
ensuite, si tu ne trouve pas, mets des points d'arrêts, (rond rouge) pour voir l'évolution de ton programme, et une liste provioire pour voir ou il "plante"...
 
pour en revenir à ton calacul  
(2^24)+ (10^24) = 1e24 donc...

Reply

Marsh Posté le 07-10-2001 à 11:41:40    

TheJackal==>Non, justement je les ai pas déclaré les variables...je doit ??? A ce moment là je les déclare en Integer ou long ou autre chose???

Reply

Marsh Posté le 07-10-2001 à 11:43:42    

vo mieux les declarer kan meme...
en integer t'aura une limite pour la valeur a 65536 et long je c pu
m'enfin si tu fait une puissance de 65536 deja :ouch:

Reply

Marsh Posté le 07-10-2001 à 11:51:39    

macray==>le "val" ça change quoi par rapport à ma syntaxe (a = Text1(0).Text) ???
Ensuite le programme je l'ai envoyé, le lien est plus haut, je doit mettre quoi comme commentaires ?
Ensuite je suis d'acc que ...+...=1^24 mais j'aimerais savoir comment faire pour kil voit pas ça en puissance mais en nbr entier...

Reply

Marsh Posté le 07-10-2001 à 11:51:39   

Reply

Marsh Posté le 07-10-2001 à 11:52:21    

jvai essayer, à dans 5min...

Reply

Marsh Posté le 07-10-2001 à 11:57:37    

Correction du code mais tjr pareil...
 
Private Sub About_Click()
MsgBox "Copyright © 2001 Stéphane Ludwig E-mail: stephane_ludwig@yahoo.fr", 64, "About"
End Sub
 
Private Sub Command1_Click()
Dim a, b, c, d, n, x, y, z As Integer
a = Text1(0).Text
b = Text1(1).Text
c = Text1(2).Text
d = Text1(3).Text
For n = 3 To d
For x = 2 To a
For y = 2 To b
For z = 2 To c
If (z ^ n) = ((x ^ n) + (y ^ n)) Then GoTo fin
Next z
Next y
Next x
Next n
MsgBox "Rien n'a été trouvé", 16, "Fin de la recherche"
fin: Text1(4).Text = x
Text1(5).Text = y
Text1(6).Text = z
Text1(7).Text = n
End Sub
 
D idées de correction ???

Reply

Marsh Posté le 07-10-2001 à 11:57:41    

1 000 000 000 000 000 000 001 024
 :D  
 
par contre pour kil affiche ca sous vb... aucune idee

Reply

Marsh Posté le 07-10-2001 à 11:58:54    

Bon, jreviens vers 15h les gars, merci de votre aide...

Reply

Marsh Posté le 07-10-2001 à 12:01:40    

La fonction val, converti en nombre les chifres d'une chaîne (la conversion s'arrêtte caractére qui n'est pas un chiffre, ou à 0 s'il n'y a pas de chiffre en tête)
 
val("123" ) = 123
val("123abdcd" )=123
va("abev0" ) = 0
 
ensuite les commentaies permet de comprendre le programme pour une personne tier, expliquer à quoi sert chacune des vraiables ect...
 
Il vaut effectivement déclarer les variables, les plus approprié à ton programme sont ces deux

  • integer = -32768 à +32768
  • currency (nombre entier)= -922337203685477,5808 à +922337203685477,5807

Reply

Marsh Posté le 07-10-2001 à 15:20:28    

integer g essayé ça marche pas...essayons curency...

Reply

Marsh Posté le 07-10-2001 à 15:29:20    

c pas ca qui va resoudre ton prob je pense
au fait, il te sert a koi ce prog?

Reply

Marsh Posté le 07-10-2001 à 15:39:49    

C long à expliquer...c aussi une histoire de fou...mon prof de philo, pour nous montrer kekchose nous a lacher de trouver x, y, z dans x^n+y^n=z^n pour n>2...pour n=2 on trouve 3,4,5.En fait on à découvert que pour n>2 ça marche pas, mais on veut kan même vérifier !(on est un zarb dans la classe...)...on à donc fait un prog sur la graph 100 casio mais elle est un peu lente...donc j'ai dit que j'allait voir sur mon Pc...(tient, jviens d'avoir une idée...)

Reply

Marsh Posté le 07-10-2001 à 15:49:10    

ton PC n'ira pas plus loin que la puissance 14 décimal, au delà il t'affichera 1e14,1e15,1e16...quoique que tu fasse,

Reply

Marsh Posté le 07-10-2001 à 16:03:38    

merde...bon tant pis...merci kan même...

Reply

Marsh Posté le 07-10-2001 à 16:24:40    

:jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed