注册 登录
编程论坛 VB6论坛

关于VB判定三角形的问题

a192161647 发布于 2017-02-04 20:59, 3297 次点击
程序代码:
Option Explicit

Private Sub Command1_Click()
Dim a, b, c As Integer
a = Text1
b = Text2
c = Text3
If a + b > c And a + c > b And b + c > a Then
If a = b = c Then
L5 = "等边三角形"
ElseIf (a = b And b <> c) Or (a = c And c <> b) Or (b = c And b <> a) Then
L5 = "等腰三角形"
End If
Else
L5 = "不构成三角形"
End If
End Sub

问一下大神们,为什么我输入这样的代码以后,当T1=T2=T3=5的时候,L5显示的是不构成三角形
4 回复
#2
a1921616472017-02-04 21:17
找到原因了“If a = b = c Then”应该改为“if a=b or b =c or c=a then”
#3
zbjzbj2017-02-05 13:17
回复 2楼 a192161647
or改为and,a=b and b=c.就够了

[此贴子已经被作者于2017-2-5 13:19编辑过]

#4
renxiaoyao362017-02-05 15:29
VB可以直接写连等式么?a = b = c可以么?不知道哎……
#5
ZHRXJR2017-02-06 10:04
回复 楼主 a192161647
三角形不仅仅是"等边三角形"、"等腰三角形",下面是以前做的一个判断是否可以构成三角形的程序:
程序代码:

Private Sub Command1_Click()
Label2.Caption = ""
Dim a As Single, b As Single, c As Single    '各变量均应该定义数据类型
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)    '文本框的数据必须转换为数字类型
If a + b > c And a + c > b And b + c > a Then     '构成三角形的必须条件,二边之和必须大于第三边
    If a ^ 2 = b ^ 2 + c ^ 2 Or b ^ 2 = a ^ 2 + c ^ 2 Or c ^ 2 = b ^ 2 + a ^ 2 Then    '构成直角三角形的必须条件,一边的平方应该等于另外二边的平方和,直角三角形可以是等腰直角三角形
        If a = b Or b = c Or a = c Then
            Label2.Caption = "a、b、c构成的是等腰直角三角形!"
        Else
            Label2.Caption = "a、b、c构成的是一般直角三角形!"
        End If
    ElseIf a ^ 2 > b ^ 2 + c ^ 2 Or b ^ 2 > a ^ 2 + c ^ 2 Or c ^ 2 > b ^ 2 + a ^ 2 Then     '构成钝角三角形的必须条件,一边的平方应该大于另外二边的平方和,可以是等腰钝角三角形
        If a = b Or b = c Or a = c Then
            Label2.Caption = "a、b、c构成的是等腰钝角三角形!"
        Else
            Label2.Caption = "a、b、c构成的是一般钝角三角形!"
        End If
    ElseIf a ^ 2 < b ^ 2 + c ^ 2 And b ^ 2 < a ^ 2 + c ^ 2 And c ^ 2 < b ^ 2 + a ^ 2 Then      '构成锐角三角形的必须条件,一边的平方应该小于另外二边的平方和,可以是等腰锐角三角形,也可以是等边锐角三角形
        If a = b And b = c Then
            Label2.Caption = "a、b、c构成的是等边锐角三角形!"
        ElseIf a = b Or b = c Or a = c Then
            Label2.Caption = "a、b、c构成的是等腰锐角三角形!"
        Else
            Label2.Caption = "a、b、c构成的是一般锐角三角形!"
        End If
    End If
Else
    Label2 = "不构成任何三角形,不符合三角形条件!"
End If
End Sub

只有本站会员才能查看附件,请 登录
1