用vb编写一个测试算术的小程序

这是一个小程序,要求如下:
1)这个一个随机出算术题的程序,比如随机出45 x64,然后输入答案后自动进入下一道题。(注意是输入答案如果答案正确即自动进入下一道题,无需按回车确认)
2)这个小程序要包括简单的计时,即要记录每一道题所需要的时间。
3)最好用vc来做,但如果是其它语言的话我不知道能不能用(因我只懂小小的vb),要编译成exe给我测试。当然,如果能用vba来实现的话,那更好。(有可以用flash来实现的)
4)最好有比较完整的源码,如果没有的话,说出解题思路也可。

谢谢各位关注。
谢谢各位:

不好意思,我没有补充完整。xxlxxl的程序很好,但发现了一个问题,就是第一道题的时间是从form1.load开始的,这样可能计时就不准确(还没有准备好第一道题的时间就跳到了几十秒)。可不可以实现这样的功能:在text1里面输入1的时候才开始计时并做题呢?当然并不是每道题都要按1开始,按了1开始了就是连续出题了。

希望这样清楚。

to:Zxlxxl,
你修改后的程序运行后还是自动开始计时了。请改正之。

第1个回答  2008-05-10
这样可以了吗:

呵呵,挣这100分真不容易啊

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Dim k As Integer
Dim iTime As Long
Dim iStar As Boolean
Private Function getIssue() As Integer
'************加减乘除四则运算************************************************************************
Dim a As Integer, b As Integer, OP As String, m As String
OP = "+-×÷"
Randomize

a = Int(Rnd * 101)
b = Int(Rnd * 101)
For i = 1 To 1
m = Mid(OP, Int(Rnd * 2) + 1, 1) '在调试时,这里的4改成3,2,1等表示去掉对应的运算符
If m = "÷" And b = 0 Then i = i - 1
Next

Label1.Caption = a & " " & m & " " & b & " = "
Text1.Text = ""
Select Case m
Case "+"
getIssue = a + b
Case "-"
getIssue = a - b
Case "×"
getIssue = a * b
Case "÷"
getIssue = Round(a / b, 2) '四舍五入保留两位小数
End Select
'**************************************************************************************************

End Function

Private Sub Form_Activate()
iStar = False
Text1.Text = "按1键开始"
Text1.SetFocus
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If Not iStar Then
If KeyCode = 49 Then
iStar = True
k = getIssue()
iTime = timeGetTime()
End If
Else
If Val(Trim(Text1.Text)) = k Then
List1.AddItem Label1.Caption & k & " : " & Format((timeGetTime() - iTime) / 1000, " 0.00") & "秒"
k = getIssue()
iTime = timeGetTime
End If
End If
End Sub本回答被提问者采纳
第2个回答  2008-05-09
看“我的消息”。
第3个回答  2008-05-09
e.......

用vb编写一个测试算术的小程序(续)
iTime = timeGetTime()List1.Clear End If Else If Val(Trim(Text1.Text)) = k Then List1.AddItem Label1.Caption & k & " : " & Format((timeGetTime() - iTime) \/ 1000, " 0.0") & "秒"cCount = cCount + 1 If cCount <= 5 Then '此处修改你一次要测试的题目数 k ...

用vb编写一个测试算术的小程序
For i = 1 To 1 m = Mid(OP, Int(Rnd * 2) + 1, 1) '在调试时,这里的4改成3,2,1等表示去掉对应的运算符 If m = "÷" And b = 0 Then i = i - 1 Next Label1.Caption = a & " " & m & " " & b & " = "Text1.Text = ""Select Case m Case "+"getI...

VB编写小程序
代码改为:Private Sub Form_Click()Dim a, b, c, d As StringDim sum, aver As Longa = Val(InputBox("请输入第一个数"))b = InputBox("请输入第二个数")c = InputBox("请输入第三个数")d = InputBox("请输入第四个数")sum = a + b + c + d aver = sum \/ 4 Print ...

用VB 或excel来实现一个能计算公式结果的小程序
添加button 用于计算 Private Sub Command1_Click()Dim n, Fa As Single n = CInt(Text1.Text)Fa = 3.77 * 150 \/ n + 11.25 Text2.Text = Fa End Sub

用vb编写个小程序 计算百分比 输入总数 输出三个值 a b c a=10% b...
Private Sub Command1_Click()Dim s As Double s = Val(Trim(InputBox("请输入总数", "提示!")))MsgBox "a=" & CStr(s * 0.1) & " b=" & CStr(s * 0.3) & " c=" & CStr(s * 0.6)End Sub

vb环境下编制一小程序
你好,你想问的是如何使用VB编写一个简单的小程序吧?在桌面上,鼠标左键双击程序,在打开的VB6主界面上,左边是工具菜单栏,单击标签按钮,在Form1窗口上,绘制出一Label1,然后在其属性窗口上改个名字,如Caption为第一数。接着,用同样的方法,在Form1窗口上绘制出第二数,并且在左边工具菜单栏,...

帮忙用VB平台做一个倒计时的小程序。。。就是距离国庆节还有xx天xx...
Private Sub Form_Load()Timer1.Interval = 1000 Timer1.Enabled = True Label1.AutoSize = True Timer1_Timer End Sub Private Sub Timer1_Timer()d = "2011-10-1"Label1.Caption = "距离国庆节〔" & Format(d, "yyyy年m月d日") & "〕还有" & DateDiff("n", Now, d) \\ 1440 &...

用VB制作小程序
) Static n As Integer n = n + 1 If n = 60 Then '一秒一次,累加到60此即60秒 n = 0 Randomize Label1.Caption = Int((Rnd * (999999 - 100000 + 1)) + 100000) End IfEnd Sub 有问题请追问,满意请采纳,加油!

帮忙写个VB小程序,几句话,很短!用Do while...loop语句。
Option Explicit Private Sub Form_Load()Dim i As Integer, x As Integer, Num Randomize (Timer)Num = Val(InputBox("请输入1~100之间的某个数:"))Do While i < 100 If Int(Rnd * 99 + 1) > Num Then x = x + 1 i = i + 1 Loop MsgBox "大于" & Num & "的个数为" ...

用VB写一个小程序.
vb6代码如下,添加模块,工程--属性--启动对象选择sub main Sub main()Open "c:\\temp\\25.txt" For Input As #1 Clipboard.Clear Clipboard.SetText StrConv(InputB(LOF(1), 1), vbUnicode)End Sub

相似回答