VB“鸡兔同笼”问题?

来源:百度知道 编辑:UC知道 时间:2024/05/10 09:35:52
“鸡兔同笼”问题,在同一个笼子里装有鸡和兔子共x只,鸡和兔子的脚共y只,分别计算鸡和兔子各有多少只?
要求:
(1)使用“InputBox函数”分别输入鸡和兔子的头数和脚数。
(2)由于鸡和兔子的头和脚数必须为整数,且脚数必须为偶数,因此必须对输入数据的有效性进行检测,对非法数据,用MsgBox函数或MsgBox语句显示出错信息“输入数据错误”,并要求重新输入数据。
(3)由于鸡和兔子数必须为整数,若计算的结果为小数,必须用用MsgBox函数或MsgBox语句显示出错信息“计算结果错误”,并要求重新输入数据进行计算。

我是新手,才学VB,编写了段代码,但对IF判断函数还是不太会写,希望高手帮我完善一下:
代码如下:

Private Sub Form_Click()
h = InputBox("请输入鸡和兔的头数")
h = Val(h)
msg$ = "输入数据错误"
Title$ = "Data Check"
x = MsgBox(msg$, 19, Title$)
if x=inte

f = InputBox("请输入鸡和兔的脚数")
f = Val(f)
msg$ = "输入数据错误"
Title$ = "Data Check"
m = MsgBox(msg$, 19, Title$)
if m

y = (f - 2 * h) / 2
x = (4 * h - f) / 2
Print "鸡有"; x; "只,兔"; y; "只"
msg$ = "计算结果错误"
Title$ = "Data Check"
n = MsgBox(msg$, 19, Title$)
if n

给你一个完整的代码,,我自己做的,,而且试过,,没问题,,自己看
Private Sub Command1_Click()
Dim a, b, h, f As Single
h = Val(Text1.Text) '总的头数为
f = Val(Text2.Text) '总的脚数为
If (h * 10 <> Int(h) * 10) Or (f * 10 <> Int(f) * 10) Then
MsgBox "您输入的数据不合理!,请重新输入"
Exit Sub
End If
a = (4 * h - f) / 2 '兔子的数量
b = (f - 2 * h) / 2 ' 鸡的数量
If a < 0 Or b < 0 Then
MsgBox "您输入的数据不合理!,请重新输入"
Exit Sub
End If
If (a * 10 <> Int(a) * 10) Or (b * 10 <> Int(b) * 10) Then
MsgBox "您输入的数据不合理!,请重新输入"
Exit Sub
End If
Text3.Text = a
Text4.Text = b
End Sub

Private Sub Form_Click()
msg1$ = "鸡和兔的总头数h"
msg2$ = "鸡和兔的总腿数f"
msgtitle = "鸡兔同笼问题"
h = Val(InputBox(msg1$, msgtitle))
f = Val(InputBox(msg2$, msgtitle))
Cls
y =(f-2*h)/2
x =(4*h-f