五笔打字通主页
VB程序题:利用计算机解决古代数学瓿“鸡兔同笼问题”。即已知在同一笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,求鸡和兔各有多少只? VB源码 龚沛曾
提示:
鸡、兔的通过输入的m,n,列出方程可解,但不要求出现荒唐的解,(如为负数,或者为半只鸡)。因此,在Text2_LostFocus事件中要考虑下面两个条件:
1.输入的总脚数n必须是偶数,否则提示数据错误的原因,要求重新输入数据。
2.若求出的只数为负数,提示数据错误的原因,要求重新输入数据。
解题:
先在窗体上画1个标签,它们的Caption属性设置为:输入总头数 输入总脚数 求得鸡数 求得兔数。
再画两个文本框,分别接受输入输入总头数和输入总脚数的数据,再画2个标签控件,label2 和 label3
代码如下:
Private Sub Text2_LostFocus()
If Text1 = "" Or Text2 = "" Then
MsgBox "请输入相关数据"
Exit Sub
End If
Dim M%, N%, y%
M = Val(Text1)
N = Val(Text2)
If N Mod 2 <> 0 Then
MsgBox ("脚数必定为偶数")
Text2 = ""
Text2.SetFocus
Else
y = N / 2 - M
If y < 0 Then
MsgBox ("脚数必须>=2倍的头数,请重新输入数据")
Text2 = ""
Text2.SetFocus
Else
y = N / 2 - M
Label2 = M - y
Label3 = y
End If
End If
If N > 4 * M Or N < 2 * M Then MsgBox ("出现了荒唐解,请重新输入数据")
End Sub
运行程序,分别在文本框输入总头数和总脚数,再用鼠标点击文本框1(或按Tab键),就会发生Text2_LostFocus事件,就会求出鸡数,兔数。
运行程序效果图如下:
Visual Basic程序设计教程(第3版) (龚沛曾等编)课后实验源码
来源:济亨网
本文链接:http://wb86.com/post/67.html