[premier code] resoudre equation du second degré

Description

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

Codes Sources

A voir également

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.

Du même auteur (cs_skript)