PDA

View Full Version : معادله ی درجه دوم ( Quadratic equation )



WebConsole
شنبه 21 بهمن 1391, 16:21 عصر
سلام خدمت همه دوستان و مدیران محترم یک سوال داشتم ، من برنامه ای نوشته ام که معادله ی درجه دوم رو حساب کنه با سورس کد زیر :
Private Sub()
Dim a As Integer, b As Integer, c As Integer, x1 As Integer, x2 As Integer, delta As Integer, formula As Integer, x As Integer
a = -2
b = 8
c = 1
formula = (a * x ^ 2) + bx + c
delta = (b * b) - 4 * a * c
x1 = -b + Sqr(delta) / 2 * a
x2 = -b - Sqr(delta) / 2 * a
MsgBox (x1)
MsgBox (x2)
End Sub

حالا من میخوام به جای مقدار متغیرهایی که تعریف کردم، خود کاربر بتونه مقدار a,b,c رو وارد کنه ! اخوب این رو هم میدونم که باید به جای مقدار های a ,b ,c یک تکست باکس تعریف میکنم از اون طریق کاربر میتونه کارش رو انجام بده ، سوال اصلی من اینه که مشکلی در کد من وجود داره یا نه !
باتشکر

m.4.r.m
شنبه 21 بهمن 1391, 16:41 عصر
Private Sub Command1_Click()
Dim a As Double, b As Double, c As Double, d As Double
If IsNumeric(Txt1) = False Then
MsgBox "a is not a valid number", vbExclamation
Txt1.SetFocus
ElseIf IsNumeric(Txt2) = False Then
MsgBox "b is not a valid number", vbExclamation
Txt2.SetFocus
ElseIf IsNumeric(Txt3) = False Then
MsgBox "c is not a valid number", vbExclamation
Txt3.SetFocus
Else
a = Val(Txt1)
b = Val(Txt2)
c = Val(Txt3)
d = b ^ 2 - (4 * a * c)
If d < 0 Then
Txt4 = "No Answer"
Txt5 = "No Answer"
ElseIf d = 0 Then
Txt4 = -b / (2 * a)
Txt5 = -b / (2 * a)
ElseIf d > 0 Then
Txt4 = ((-b) + Sqr(d)) / (2 * a)
Txt5 = ((-b) - Sqr(d)) / (2 * a)
End If
End If
End Sub