求助 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 用边长求三角形面积
哪位大侠帮忙看看代码哪里错了,里面要用余弦定理~
运行提示 无效的调用过程或参数
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)