求助 vb 三角形面积计算

来源:百度知道 编辑:UC知道 时间:2024/05/20 11:31:00
Private Sub Command1_Click()

Dim a As Single, b As Single, c As Single

Dim d As Single

Dim e As Single, f As Single

a = Text1.Text

b = Text2.Text

c = Text3.Text

d = (a * a + b * b - c * c) / 2 * a * b

If (a + b) <= c Or (a + c) <= b Or (b + c) <= a Then

MsgBox "三个边构不成三角形!", 48

Else

e = Sqr(1 - d * d)

f = a * b * e * 0.5

Text4.Text = Str(f)

End If

End Sub

刚刚学vb 用边长求三角形面积
哪位大侠帮忙看看代码哪里错了,里面要用余弦定理~
运行提示 无效的调用过程或参数

余弦定理用错:d = (a * a + b * b - c * c) / 2 * a * b
改为:d = (a * a + b * b - c * c) / (2 * a * b)
或d = (a * a + b * b - c * c) / 2 / a / b

a = Text1.Text

b = Text2.Text

c = Text3.Text
这里定义错了,应该是
a = val(Text1.Text)

b = val(Text2.Text)

c = val(Text3.Text)

干嘛一定要用余弦定理呢,用那个简单的公式不好吗?
三边长分别为a,b,c,则令l=(a+b+c)/2,即可得到三角形面积S=sqr((l-a)*(l-b)*(l-c)*l)