VB实验: 输入三角形的三条边a,b和c(设三条边都大于0),判断是否能构成三角形并输

作者&投稿:孙肿 (若有异议请与网页底部的电邮联系)
VB编程。输入三角形三条边a,b,c的值判断能否构成三角形。~

我来用自然语言先说一下吧。
你可以创建三个文本框,用它来输入三条边的值。
创建一个标签,用来作回答提示。
用一个按钮来进行判别请求。

先来说说文本框,它只能输入数字,因此,要在文本框的key_press事件中写入输入条件,保证只能输入数字。

判别是否为三角形的进程在按钮单击事件中处理
首先要判断三个文本框是否为空或'0',如果有,则中断此进程,并使不满足条件的文本框得到焦点。

如果满足上面条件,则开始进行三角形判定。
用三个变量,分别从文本框中取值,然后将它们排序
判断两小边之和是否大于大边(比作三次比较合算)

如果不是,提示标签显示“不是三角形”

如果是,计算一下(两小边的平方和)与(大边的平方)的差。

差为正,锐角
差为零,直角
差为负,钝角

用提示标签表示出来
完了

要源码吗?写个补充提问,带上你的qq

Dim a, b, c, s, p As Single
a = Val(InputBox("请输入三角形边长a"))
b = Val(InputBox("请输入三角形边长b"))
c = Val(InputBox("请输入三角形边长c"))
If a + b <= c Or b + c <= a Or c + a <= b Then
MsgBox("这样的三角形不存在")
Else
If a = b Or b = c Or c = a Then
MsgBox("这是一个等腰三角形")
End If
If a = b = c Then
MsgBox("这是一个等边三角形")
End If
If a ^ 2 + b ^ 2 = c ^ 2 Or b ^ 2 + c ^ 2 = a ^ 2 Or c ^ 2 + a ^ 2 = b ^ 2 Then
MsgBox("这是一个直角三角形")
End If
p = (a + b + c) / 2
s = Math.Sqrt(p * (p - a) * (p - b) * (p - c))
MsgBox("这个三角形的面积是" & s)
End If
End Sub

窗体上添加一个按钮:

Option Explicit

Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = Val(InputBox("输入边长a:"))
b = Val(InputBox("输入边长b:"))
c = Val(InputBox("输入边长c:"))

If a > 0 And b > 0 And c > 0 And a + b > c And b + c > a And c + a > b Then
   MsgBox "可以构成一个三角形!"
Else
   MsgBox "不能构成一个三角形!"
End If

End Sub


就是两边的和大于第三边,把3种情况的比较都列出,就是:
a+b>c
a+c>b
b+c>a
如果都不成立就不能构成,其中一条成立了就可以构成了。
学好编程的前提就是数学基础,越是高端的工作数学越重要

Private Sub Command1_Click()
If a+b>c And Abs(a-b<c) Then
Print ”能构成三角形。”
Else
Print ”不能构成三角形。”
End If
End Sub