VB编程语言
PrivateSubCommand1_Click()Dima,b,c,p,sAsSinglea=InputBox("请输入边长""a=")b=InputBox("请输入边...
Private Sub Command1_Click()
Dim a, b, c, p, s As Single
a = InputBox("请输入边长""a=")
b = InputBox("请输入边长""b=")
c = InputBox("请输入边长""c=")
If a + b > c And b + c > a And c + a > b Then
p = (a + b + c) / 2
area = Sqr(p * (p - a) * (p - b) * (p - c))
Label4.Caption = "三角形面积为:" & s
Else
Label4.Caption = "不构成三角形"
End If
End Sub
请高手看看有没有问题?
求三角形面积 展开
Dim a, b, c, p, s As Single
a = InputBox("请输入边长""a=")
b = InputBox("请输入边长""b=")
c = InputBox("请输入边长""c=")
If a + b > c And b + c > a And c + a > b Then
p = (a + b + c) / 2
area = Sqr(p * (p - a) * (p - b) * (p - c))
Label4.Caption = "三角形面积为:" & s
Else
Label4.Caption = "不构成三角形"
End If
End Sub
请高手看看有没有问题?
求三角形面积 展开
2个回答
展开全部
经过我的测试,“热心网友”的回答有两点是必要的。
1,不是s吧,应该是area 。2,InputBox中输入的数字并非是数字,而是字符串
改正这两点之后,如果输入正确,就可以得出面积了。
但是还是提醒,Dim a, b, c, p, s As Single,这实际上只定义了s,其他都是Variant类型。
为了验证输入,可以用在条件判断中加入And IsNumeric(a) And IsNumeric(b) And IsNumeric(c) And a > 0 And b > 0 And c > 0
另外既然你要求精确,何不用Double类型?
另外你可以把计算的公式做成一个函数,返回面积,和判断语句分开,就显得更模块化一些了。
1,不是s吧,应该是area 。2,InputBox中输入的数字并非是数字,而是字符串
改正这两点之后,如果输入正确,就可以得出面积了。
但是还是提醒,Dim a, b, c, p, s As Single,这实际上只定义了s,其他都是Variant类型。
为了验证输入,可以用在条件判断中加入And IsNumeric(a) And IsNumeric(b) And IsNumeric(c) And a > 0 And b > 0 And c > 0
另外既然你要求精确,何不用Double类型?
另外你可以把计算的公式做成一个函数,返回面积,和判断语句分开,就显得更模块化一些了。
2011-09-17
展开全部
有很多问题
1.Label4.Caption = "三角形面积为:" & s
不是s吧,应该是area 吧,漏了s=area
2.思路是没错,但是InputBox中输入的数字并非是数字,而是字符串,所以要经过转换才能进行运算.
用Val()转换
a = val( InputBox("请输入边长""a="))
b =val( InputBox("请输入边长""b="))
c =val( InputBox("请输入边长""c="))
3.a,b,c输入负数怎么办,single并不代表正数!
记得给我加分哈~
1.Label4.Caption = "三角形面积为:" & s
不是s吧,应该是area 吧,漏了s=area
2.思路是没错,但是InputBox中输入的数字并非是数字,而是字符串,所以要经过转换才能进行运算.
用Val()转换
a = val( InputBox("请输入边长""a="))
b =val( InputBox("请输入边长""b="))
c =val( InputBox("请输入边长""c="))
3.a,b,c输入负数怎么办,single并不代表正数!
记得给我加分哈~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询