| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1042 人关注过本帖
标题:[求助]一道vb程序设计题
只看楼主 加入收藏
photoshopcs
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-3-21
收藏
 问题点数:0 回复次数:9 
[求助]一道vb程序设计题
输入三角形的3条边长,判断能否构成三角形。若可以,判断它是等边三角形、等腰三角形、直角三角形还是任意三角形,并计算出该三角形的面积。
问题补充:
写出具体的程序编码,复制就能运行的那种
搜索更多相关主题的帖子: 程序设计 
2007-04-05 23:57
xinghe989
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-4-5
收藏
得分:0 
``````我有一个地方还不够完善````在想``等下告诉你答案``

  没有做不到`````     `````` 只有想不出!
2007-04-06 02:42
xinghe989
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-4-5
收藏
得分:0 

三个文本框,二个label,一个按钮的单击事件.
Private Sub Command1_Click()
Dim a, b, c As Single
a = Text1.Text
b = Text2.Text
c = Text3.Text
If a = b And b = c Then
Label1.Caption = "等边三角形"
ElseIf a ^ 2 + b ^ 2 = c ^ 2 Or a ^ 2 + c ^ 2 = b ^ 2 Or c ^ 2 + b ^ 2 = a ^ 2 Then
Label1.Caption = "直角三角形"
ElseIf a = b Or a = c Or b = c Then
Label1.Caption = "等腰三角形"
Else
Label1.Caption = "任意三角形"
End If
1:
If a > b Then
o = b
b = a
a = o
GoTo 1
ElseIf b > c Then
o = c
c = b
b = o
GoTo 1
End If

Label2.Caption = ((Sqr(b ^ 2 - ((b ^ 2 - a ^ 2 + c ^ 2) / (2 * c)) ^ 2)) * c) / 2

End Sub


不够完善,文本框内不能输入文字,不能输入不成三角形的三条边长度.

希望有高手可以改一下.


  没有做不到`````     `````` 只有想不出!
2007-04-06 10:13
xinghe989
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-4-5
收藏
得分:0 

``还好我还记得算```三角形的高```真是费了我一点时间啊`````

看来要学好这个```数学还是要好啊`````


  没有做不到`````     `````` 只有想不出!
2007-04-06 10:17
photoshopcs
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-3-21
收藏
得分:0 
感激
2007-04-06 11:53
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
这是数学问题...
解决了数学问题...程序就没问题了!

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-04-06 11:55
atomhdp
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2005-10-2
收藏
得分:0 
数学问题: 我喜欢.
'窗体一个按钮(command1),五个文本框,三个表示边长,一个表示三角形形状,一个表示面积;

private sub command1_click()
dim a as single,b as single,c as single,temp as single,s as single,i as single
a=val(text1(0).text)
b=val(text1(1).text)
c=val(text1(2).text)

'三个数排序
if b < a then
temp = b
b = a
a = temp
end if
if c < b then
temp =c
c = b
b = temp
end if

if a + b < c then
text2.text = "不能构成三角形"
exit sub
end if

if a = b or b = c then
text2.text = "等腰三角形"
if a = c then
text2.text = "等边三角形"
end if
end if

if a * a + b * b = c * c then
text2.text = "直角三角形"
if a = b then
text2.text = "等腰直角三角形"
end if
end if
'计算面积
i = ( a + b + c ) / 2

s = sqr( i * ( i - a ) * ( i - b ) * ( i - c ) )

text3.text = "三角形面积为:" & s
end sub

'解决文本框只能输入数字问题
private sub text1_keypress(index as integer,keyascii as integer)
if keyascii >=asc(0) and keyascii <= asc(9) then exit sub
if keyascii = vbkeyback then exit sub
if keyascii = &h2e then '小数点
if (instr(text1(index).text,".") = 0 ) then
if text1(index).text= "" then exit sub
if text1(index).sellength <> len(text1(index).text) then exit sub
end if
end if
keyascii = 0
end sub




上班无聊, 来做这么简单的程序.

[此贴子已经被作者于2007-4-6 13:32:38编辑过]


2007-04-06 13:31
wenber0598
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2007-2-27
收藏
得分:0 
以下是引用xinghe989在2007-4-6 10:13:32的发言:

三个文本框,二个label,一个按钮的单击事件.
Private Sub Command1_Click()
Dim a, b, c As Single
a = Text1.Text
b = Text2.Text
c = Text3.Text
If a = b And b = c Then
Label1.Caption = "等边三角形"
ElseIf a ^ 2 + b ^ 2 = c ^ 2 Or a ^ 2 + c ^ 2 = b ^ 2 Or c ^ 2 + b ^ 2 = a ^ 2 Then
Label1.Caption = "直角三角形"
ElseIf a = b Or a = c Or b = c Then
Label1.Caption = "等腰三角形"
Else
Label1.Caption = "任意三角形"
End If
1:
If a > b Then
o = b
b = a
a = o
GoTo 1
ElseIf b > c Then
o = c
c = b
b = o
GoTo 1
End If

Label2.Caption = ((Sqr(b ^ 2 - ((b ^ 2 - a ^ 2 + c ^ 2) / (2 * c)) ^ 2)) * c) / 2

End Sub


不够完善,文本框内不能输入文字,不能输入不成三角形的三条边长度.

希望有高手可以改一下.

Private Sub Command1_Click()
Dim a, b, c As Single
a = Text1.Text
b = Text2.Text
c = Text3.Text
If a = b And b = c Then
Label1.Caption = "等边三角形"
ElseIf a ^ 2 + b ^ 2 = c ^ 2 Or a ^ 2 + c ^ 2 = b ^ 2 Or c ^ 2 + b ^ 2 = a ^ 2 Then
Label1.Caption = "直角三角形"
ElseIf a = b Or a = c Or b = c Then
Label1.Caption = "等腰三角形"
Else
Label1.Caption = "任意三角形"
End If
1:
If a > b Then
o = b
b = a
a = o
GoTo 1
ElseIf b > c Then
o = c
c = b
b = o
GoTo 1
End If
Label2.Caption = " 面积为 " & ((Sqr(b ^ 2 - ((b ^ 2 - a ^ 2 + c ^ 2) / (2 * c)) ^ 2)) * c) / 2
If ((Sqr(b ^ 2 - ((b ^ 2 - a ^ 2 + c ^ 2) / (2 * c)) ^ 2)) * c) / 2 = 0 Then Label1.Caption = "直线"
End Sub

加多这一是否好一点呢


三人行必有我师
2007-04-07 02:12
xinghe989
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-4-5
收藏
得分:0 
private sub text1_keypress(index as integer,keyascii as integer)
if keyascii >=asc(0) and keyascii <= asc(9) then exit sub
if keyascii = vbkeyback then exit sub
if keyascii = &h2e then '小数点
if (instr(text1(index).text,".") = 0 ) then
if text1(index).text= "" then exit sub
if text1(index).sellength <> len(text1(index).text) then exit sub
end if
end if
keyascii = 0
end sub


``这个我都看不太懂,````既然说是一个简单的程序,``唉````看来我还得去深造一下```再来这个论坛.````嘻嘻`````

不过你这个程序还有一个问题,如果我不输入数值进去,就会出现"等腰直角三角形"面积为"0"````嘿嘿````我想这个是难不倒你啦``

  没有做不到`````     `````` 只有想不出!
2007-04-09 11:28
xinghe989
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-4-5
收藏
得分:0 

我现在已经编出了完美的了```

三个文本框分别为text1,text2,text3,二个分别为label1,label2,
二个按钮分别为command1,command2

Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Label1.Caption = ""
Label2.Caption = ""
End Sub

Private Sub Command1_Click()
Label1.Caption = ""
Label2.Caption = ""
e = Text1.Text
f = Text2.Text
i = Text3.Text
If Not IsNumeric(e) Or Not IsNumeric(f) Or Not IsNumeric(i) Then
MsgBox "请输入正数", , "输入错误"
Exit Sub
End If
a = CCur(e)
b = CCur(f)
c = CCur(i)
If a + b <= c Or a + c <= b Or b + c <= a Then
Label1.Caption = "不能构成三角形"
GoTo 2
ElseIf a = b And b = c Then
Label1.Caption = "等边三角形"
ElseIf a ^ 2 + b ^ 2 = c ^ 2 Or a ^ 2 + c ^ 2 = b ^ 2 Or c ^ 2 + b ^ 2 = a ^ 2 Then
Label1.Caption = "直角三角形"
ElseIf a = b Or a = c Or b = c Then
Label1.Caption = "等腰三角形"
ElseIf a + b > c Or a + c > b Or b + c > a Then
Label1.Caption = "任意三角形"
End If
Label2.Caption = ((Sqr(b ^ 2 - ((b ^ 2 - a ^ 2 + c ^ 2) / (2 * c)) ^ 2)) * c) / 2
2:
End Sub

Private Sub Command2_Click()
End
End Sub


  没有做不到`````     `````` 只有想不出!
2007-04-14 01:02
快速回复:[求助]一道vb程序设计题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017021 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved