VB程序“鸡兔同笼”问题
“鸡兔同笼”问题,在同一个笼子里装有鸡和兔子共x只,鸡和兔子的脚共y只,分别计算鸡和兔子各有多少只?我自己设计的程序有些问题请GGJJ们帮忙修改一下这是程序代码:Priv...
“鸡兔同笼”问题,在同一个笼子里装有鸡和兔子共x只,鸡和兔子的脚共y只,分别计算鸡和兔子各有多少只?
我自己设计的程序有些问题请GGJJ们帮忙修改一下
这是程序代码:
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有", c, "只,鸡有", d, "只。"
End If
Text1.Text = " "
Text2.Text = " "
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
cmd.Caption = "计算结果"
End Sub 展开
我自己设计的程序有些问题请GGJJ们帮忙修改一下
这是程序代码:
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有", c, "只,鸡有", d, "只。"
End If
Text1.Text = " "
Text2.Text = " "
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
cmd.Caption = "计算结果"
End Sub 展开
3个回答
展开全部
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有" & c & "只,鸡有" & d & "只。", , "结果"
End If
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
cmd.Caption = "计算结果"
End Sub
-----------以上是我给你改的代码-----------------------
楼上的回答还有问题的.
楼主的问题里面有2个错误的地方
楼主你写的这个程序,第一个错误的地方是
msgbox函数的格式错误.
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Prompt 必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
Buttons 可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。
Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。
Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。
Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。
第二个错误的地方.是你的cmd的click事件.
你写的是
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有", c, "只,鸡有", d, "只。"
End If
Text1.Text = " "
Text2.Text = " "
End Sub
注意了.你的text1.text = " "和text2.text = " "里面有个空格.
要去掉这个空格.否则,第二次要输入条件,那么就会出错.因为一般人不会知道你多加了个空格.
所以一直会提示"请重新输入结果".
要改成
text1.text = ""
text2.text = ""
而不是楼上的
Exit For '算出来以后就不要再往下循环了,否则总是会等于0的
根本不搭嘎的事情.
因为循环一直上去.但是找不到满足的条件.那么c和d的值是不会变的.哪里来的Exit for退出循环避免一直等于0的提示?
一直提示0的原因就是text1的值发生了改变.多了个空格的原因
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有" & c & "只,鸡有" & d & "只。", , "结果"
End If
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
cmd.Caption = "计算结果"
End Sub
-----------以上是我给你改的代码-----------------------
楼上的回答还有问题的.
楼主的问题里面有2个错误的地方
楼主你写的这个程序,第一个错误的地方是
msgbox函数的格式错误.
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Prompt 必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
Buttons 可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。
Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。
Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。
Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。
第二个错误的地方.是你的cmd的click事件.
你写的是
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有", c, "只,鸡有", d, "只。"
End If
Text1.Text = " "
Text2.Text = " "
End Sub
注意了.你的text1.text = " "和text2.text = " "里面有个空格.
要去掉这个空格.否则,第二次要输入条件,那么就会出错.因为一般人不会知道你多加了个空格.
所以一直会提示"请重新输入结果".
要改成
text1.text = ""
text2.text = ""
而不是楼上的
Exit For '算出来以后就不要再往下循环了,否则总是会等于0的
根本不搭嘎的事情.
因为循环一直上去.但是找不到满足的条件.那么c和d的值是不会变的.哪里来的Exit for退出循环避免一直等于0的提示?
一直提示0的原因就是text1的值发生了改变.多了个空格的原因
展开全部
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Val(Text1.Text)
b = Val(Text1.Text) - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
Exit For '算出来以后就不要再往下循环了,浪费时间
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有" & c & "只,鸡有" & d & "只。"
End If
Text1.Text = "" '(""里不要有空格)
Text2.Text = ""
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
Cmd.Caption = "计算结果"
End Sub
Dim a, b, c, d As Double
For a = 0 To Val(Text1.Text)
b = Val(Text1.Text) - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
Exit For '算出来以后就不要再往下循环了,浪费时间
End If
Next
If c = 0 And d = 0 Then
MsgBox ("其重新输入结果")
Else
MsgBox "兔有" & c & "只,鸡有" & d & "只。"
End If
Text1.Text = "" '(""里不要有空格)
Text2.Text = ""
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
Cmd.Caption = "计算结果"
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
msgbox只能显示一个字符串,不能用","隔开多个字符串,所以要把想输入的字符串依次用&号连接起来,
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("请重新输入结果")
Else
MsgBox "兔有" & c & "只,鸡有" & d & "只。"
End If
Text1.Text = " "
Text2.Text = " "
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
cmd.Caption = "计算结果"
End Sub
Private Sub cmd_Click()
Dim a, b, c, d As Double
For a = 0 To Text1.Text
b = Text1.Text - a
If Text2.Text = 4 * a + 2 * b Then
c = a
d = b
End If
Next
If c = 0 And d = 0 Then
MsgBox ("请重新输入结果")
Else
MsgBox "兔有" & c & "只,鸡有" & d & "只。"
End If
Text1.Text = " "
Text2.Text = " "
End Sub
Private Sub Form_Load()
Label1.Caption = "请输入鸡和兔的脑袋之和"
Label2.Caption = "请输入鸡和兔的下肢之和"
Text1.Text = ""
Text2.Text = ""
cmd.Caption = "计算结果"
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询