Bon bah voici mon premier code, il résou les équations du second degré, je sais que c'est le Xeme code de ce genre, mais svp regardez le code source pour me donner un avis.
Il est pas super optimisé, par exemple il ne simplifie pas à fond les 2 racines (elles s'affichent sous la forme utilisable en cours de maths, et non pas en décimal tronqué au 28eme chiffre apres la virgule).
Voila à vos commentaires ^^
EDIT: Le code dispo est une MAJ améliorée est definitive
Source / Exemple :
Private Sub Command1_Click()
Dim a, b, c, d, d2, r, r2 As Double
If Not IsNumeric(Text1.Text) Then
GoTo erreur
End If
If Not IsNumeric(Text2.Text) Then
GoTo erreur
End If
If Not IsNumeric(Text2.Text) Then
GoTo erreur
End If
a = Text1.Text
b = Text2.Text
c = Text3.Text
If Text1.Text = "" Then
a = 1
End If
If Text2.Text = "" Then
b = 1
End If
If Text3.Text = "" Then
c = 0
End If
d = (b * b) - 4 * a * c
Label4.Caption = "Discriminant = " & d
Select Case d
Case Is = 0
'd=0
d2 = -(-b / 2 * a)
If d2 = Int(d2) Then
Label5.Caption = "X = " & -b / 2 * a
Else
Label5.Caption = "X = -" & b & " / " & (2 * a)
End If
Case Is < 0
'd inferieur a 0
Label5.Caption = "Pas de solutions"
Case Is > 0
'd superieur a 0
Dim racine As Double
racine = Sqr(d)
'si la racine du discriminant est entière
Select Case racine
Case Is <> Int(racine)
Label5.Caption = "X1 = " & (-b) & "-V(" & d & ") / " & (2 * a)
Label6.Caption = "X2 = " & (-b) & "+V(" & d & ") / " & (2 * a)
Case Is = Int(racine)
r = (-b - racine) / (2 * a)
r2 = (-b + racine) / (2 * a)
If r = Int(r) Then
Label5.Caption = "X1 = " & r
Else
Label5.Caption = "X1 = " & (-b - racine) & " / " & (2 * a)
End If
If r2 = Int(r2) Then
Label6.Caption = "X2 = " & r2
Else
Label6.Caption = "X2 = " & (-b + racine) & " / " & (2 * a)
End If
End Select
End Select
erreur:
End Sub
Conclusion :
Soft MAJ le 26/03/2005
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.