vb 帮我看下为什么不行呢??谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/06/18 10:19:32
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = InputBox("a=")
b = InputBox("b=")
c = InputBox("c=")
s = (a + b + c) / 2
If a + b > c Or b + c > a Or a + c > b Or a - b < c Or b - a < c Or b - c < a Or c - b < a Or a - c < b Or c - a < b Then
Area = Sqr(s(s - a)(s - b)(s - c))
Print "面积是Area="; Area
Else
Print "不能构成三角形"
End If
End Sub

If a + b > c Or b + c > a Or a + c > b Or a - b < c Or b - a < c Or b - c < a Or c - b < a Or a - c < b Or c - a < b Then
改为If a + b > c And b + c > a And a + c > b And a - b < c And b - a < c And b - c < a And c - b < a And a - c < b And c - a < b Then

Area = Sqr(s(s - a)(s - b)(s - c))
改为Area = Sqr(s * (s - a) * (s - b) * (s - c))

(1)判断能不能构成三角形,必须同时满足A+B>C等所有条件,所以用And(而且),不用Or(或)。
(2)编程时乘号“*”不能省略

你以为表达式放一起就会自动相乘啊?
首先。Dim Area as double
然后Area = Sqr(s(s - a)(s - b)(s - c))
改为: Area = Sqr(s*(s - a)*(s - b)*(s - c))

Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = InputBox("a=")
b = InputBox("b=")
c = InputBox("c=")
s = (a + b + c) / 2
If (a + b > c And a - b < c) Or (b + c < a And b - c < a) Or (c + a > b And c - a < b) Then
Area = Sqr(s * (s - a) * (s - b