第1个回答 2011-06-01
Option Explicit
Private Sub Command1_Click()
Dim p As Single
If (Val(Text1.Text) + Val(Text2.Text)) > Val(Text3.Text) And _
(Val(Text1.Text) + Val(Text3.Text)) > Val(Text2.Text) And _
(Val(Text3.Text) + Val(Text2.Text)) > Val(Text1.Text) Then
p = (Val(Text1.Text) + Val(Text2.Text) + Val(Text3.Text)) / 2
Text4.Text = Int(Sqr(p * (p - Val(Text1.Text)) * (p - Val(Text2.Text)) * _
(p - Val(Text3.Text))))
Else
MsgBox "这三条边不能构成三角形!请重新输入三条边!"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End If
End Sub
'p = (a+b+c)/2
's = [ p * (p-a) * (p-b) * (p-c) ] ^ (1 / 2)
's为面积,a,b,c为三角形三条边
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
第2个回答 2011-06-05
Private Sub Command1_Click()
Dim a, b, z, s As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
If a <= 0 Or b <= 0 Or c <= 0 Then
MsgBox ("边长要大于0,请重新输入")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
Else
p = (a + b + c) / 2
If a + b > c And a - b < c Then
s = Sqr((p) * (p - a) * (p - b) * (p - c))
Text4.Text = s
Else
MsgBox ("这三条边长不能构成三角形,请重新输入")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End If
End If
End Sub