| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 679 人关注过本帖
标题:恳请高手帮忙修改一下 .
只看楼主 加入收藏
alienfish
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-5-17
收藏
 问题点数:0 回复次数:7 
恳请高手帮忙修改一下 .

这是一个随机出数学题的程序,可是每次运行时,它出的数学题顺序都是一样的,另外就是倒计时结束时,程序不能结束。希望高手能加点东西,使程序结束时,弹出一个对话框,说明正确率,并能在每次从新运行时出的数学题不一样。还有就是让"出题"和"确定"按钮响应键盘的回车键!谢谢

Dim a, b, c, d, e, f, g As Integer

Private Sub Command2_Click() Timer1.Enabled = True If Command2.Caption = "出题" Then Command2.Caption = "确定" g = Int(Rnd * 5) Select Case g Case 1

a = Int(Rnd * 100) b = Int(Rnd * 100) Label1.Caption = Str(a) + "+" + Str(b) c = a + b Case 2 a = Int(Rnd * 100) b = Int(Rnd * 100) Do While a < b a = Int(Rnd * 100) b = Int(Rnd * 100) Loop Label1.Caption = Str(a) + "-" + Str(b) c = a - b Case 3 a = Int(Rnd * 100) b = Int(Rnd * 100) Do While a > 10 Or b > 10 Or a < 0 Or b < 0 a = Int(Rnd * 100) b = Int(Rnd * 100) Loop Label1.Caption = Str(a) + "*" + Str(b) c = a * b Case 4 a = Int(Rnd * 100) b = Int(Rnd * 100) Do While a < b Or (a Mod b <> 0) Or a < 0 Or a = 0 Or b <= 0 a = Int(Rnd * 100) b = Int(Rnd * 100) Loop Label1.Caption = Str(a) + "/" + Str(b) c = a / b End Select Text1.SetFocus Else If Text1.Text = c Then d = d + 1 End If Label4.Caption = "你答对了" + Str(d) + "道" If Text1.Text <> c Then e = e + 1 End If Label5.Caption = "你答错了" + Str(e) + "道" Text1.Text = "" Command2.Caption = "出题" End If End Sub

Private Sub Command3_Click() Unload Me End Sub

Private Sub Form_Load() f = 100 Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer() If f > 0 Then f = f - 1 Else MsgBox "你一共答对了" + Str(d) + "道" End If

Label2.Caption = f End Sub

IYzRYsV6.rar (2.56 KB) 恳请高手帮忙修改一下 .

[此贴子已经被作者于2005-5-22 12:26:41编辑过]

搜索更多相关主题的帖子: 键盘 数学题 对话框 
2005-05-22 12:25
anycall628
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2005-2-18
收藏
得分:0 
呵呵,有意思,每次出题都是10*10
在g = Int(Rnd * 5)  的上一行加入 Randomize 就可以解决这个问题了

爱生活,爱编程。
2005-05-22 12:56
anycall628
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2005-2-18
收藏
得分:0 
command2的default 属性改为true可以解决响应回车键的问题

爱生活,爱编程。
2005-05-22 13:00
alienfish
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-5-17
收藏
得分:0 
谢谢指点了~

我要好好的学习编程
2005-05-22 13:02
anycall628
Rank: 1
等 级:新手上路
帖 子:222
专家分:0
注 册:2005-2-18
收藏
得分:0 
Private Sub Timer1_Timer()
Dim t As Integer
If f &gt; 0 Then
f = f - 1
Else
Timer1.Enabled = False
t= 100 * d / (d + e)
MsgBox "你一共答对了" + Str(d) + " 道题" + Chr(10) + Chr(13) + "正确率为" + ":" + Str(h) + "%"
End IfLabel2.Caption = f
End Sub

爱生活,爱编程。
2005-05-22 13:35
alienfish
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-5-17
收藏
得分:0 
还有两个问题存在: 1、当循环到Do While a < b Or (a Mod b <> 0) Or a < 0 Or a = 0 Or b <= 0 a = Int(Rnd * 100) b = Int(Rnd * 100) Loop Label1.Caption = Str(a) + "/" + Str(b) c = a / b End Select 有时候就显示除数为0的错误 2、在运行过程中怎么防止一道数学题前后连续出现

我要好好的学习编程
2005-05-22 14:33
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 
记录最后一次出的题,然后出题时候判断一下,如果重复则重新生成一个题目

天津网站建设 http://www./
2005-05-22 14:58
Cheney
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-5-24
收藏
得分:0 
……

男,22岁,品貌端正,风趣幽默,单身—ing ^_^ 各位MM欲购从速哦~QQ:16953875 ┼─────────┼ │ ˊ , │ │\' . ˊ ˋ﹫. │ │ ╭⌒╮ `ˊ │ │ˊ( .\' ) \' │ │ ﹏_)(﹏. │ │``~﹊`︸~﹊︸~`~ \'│
2005-05-24 10:45
快速回复:恳请高手帮忙修改一下 .
数据加载中...
 
   



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

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