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

请高手看看有没有问题?
求三角形面积
展开
 我来答
leiyangbdwk
2011-09-18 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4382万
展开全部
经过我的测试,“热心网友”的回答有两点是必要的。
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并不代表正数!

记得给我加分哈~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式