vb課程設(shè)計報告--小學低年級數(shù)學自助練習與測試系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  VB課程設(shè)計報告</b></p><p>  課題:小學低年級數(shù)學自助練習與測試系統(tǒng)的設(shè)計:要求設(shè)計與開發(fā)一個功能較為完善的小學低年級數(shù)學自助練習與測試系統(tǒng)。</p><p><b>  姓名:**</b></p><p><b>  專業(yè):**</b></p>

2、;<p><b>  班級:**</b></p><p><b>  學號:**</b></p><p>  2 0 1 4 年 6 月 7 日</p><p><b>  一、需求分析</b></p><p>  本次可以要解決的問題:設(shè)計與開發(fā)一個功能較為完善

3、的小學低年級數(shù)學自助練習與測試系統(tǒng)。具體要求及限制條件:能夠分為練習與測試兩個版塊。練習:能自由選擇難度及做題時間,隨機產(chǎn)生題目(有加減乘運算),有練習結(jié)果評價。測試:在規(guī)定時間內(nèi)完成,隨機產(chǎn)生題目(有加減乘運算),有測試結(jié)果評價。</p><p><b>  二、總體設(shè)計</b></p><p><b>  開發(fā)平臺介紹</b></p&g

4、t;<p>  Visual Basic是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。</p><p><b>  詳細設(shè)計</b><

5、;/p><p><b>  載入模塊:</b></p><p>  用戶通過輸入規(guī)定詞匯(登陸)登錄系統(tǒng)(進入首頁)。單擊菜單欄的“幫助”,則彈出“使用說明”對話框,單擊“確定”按鈕即可關(guān)閉該對話框。</p><p>  圖1 載入窗口 圖2 幫助窗口</p><p&g

6、t;<b>  首頁模塊:</b></p><p>  用戶可以自由選擇練習、測試或退出,相應(yīng)地只需單擊按鈕“我要練習”、“我要測試”、“退出系統(tǒng)”。單擊“我要練習”則進入練習模塊;單擊“我要測試”則彈出對話框“確定開始測試?”,單擊“確定”按鈕即可進入測試模塊,單擊“取消”按鈕則關(guān)閉該對話框、顯示首頁;單擊“退出系統(tǒng)”,則退出該系統(tǒng)。單擊菜單欄的“幫助”,顯示效果與載入模塊相同。</

7、p><p>  圖3 首頁窗口 圖4 確定測試窗口</p><p><b>  練習模塊:</b></p><p>  進入該模塊,首先,顯示選擇難度與時間的窗口。單擊難度里的“簡單”、“中等”或“較難”,來選擇想要練習的難度(若沒有選擇,則默認為簡單);在時間的文本框中輸入對應(yīng)的分鐘數(shù)、秒數(shù),來

8、確定練習時間(若沒有輸入,則默認為0分鐘0秒)。單擊“返回”按鈕,則進入首頁;單擊“開始”按鈕,進入練習的窗口。</p><p>  在練習窗口,輸入答案,單擊“提交”按鈕,即可反饋結(jié)果;單擊“下一題”按鈕,則出現(xiàn)下一題;單擊“退出練習”按鈕,出現(xiàn)詢問確定退出的對話框,單擊“確定”即可返回選擇難度與時間的窗口。若最終答完10題,則會顯示提示“練習結(jié)束咯!”;若時間到,則會顯示“時間到了!”,并且不能再繼續(xù)答題。&

9、lt;/p><p>  圖5 選擇難度與時間窗口 圖6 練習窗口</p><p>  圖7 反饋結(jié)果 圖8 時間到</p><p><b>  測試模塊:</b></p><p>  進入該模塊,首先,顯示測試的

10、窗口。在該窗口中,輸入答案,單擊“提交”按鈕,即可反饋目前題目的結(jié)果;單擊“下一題”按鈕,則出現(xiàn)下一題;單擊“退出測試”按鈕,出現(xiàn)詢問確定退出的對話框,單擊“確定”即可返回首頁窗口。</p><p>  當最終答完20題,則會顯示提示“恭喜你完成測試!你可選擇:”。單擊“再來一次”按鈕,則會重新開始測試。單擊“查看結(jié)果”按鈕,則進入反饋結(jié)果的窗口。當規(guī)定時間(5分鐘)到,則會顯示“很遺憾!時間到!你可選擇:”,其

11、他設(shè)置與完成測試的一樣。</p><p>  進入反饋結(jié)果的窗口,會顯示本次測試的用時、總分、正確題數(shù)、錯誤題數(shù)及提示。若總分為90-100,則提示為“你真棒!”;若總分為60-90,則提示為“加油哦!”;若總分為0-60,則提示為“你能行!”。單擊“返回”按鈕,即可返回測試窗口。</p><p>  圖9 測試窗口 圖10 反饋目前題目的

12、結(jié)果</p><p>  圖11 完成測試 圖12 反饋結(jié)果窗口</p><p><b>  調(diào)試與測試</b></p><p>  調(diào)試方法:可通過設(shè)立斷點的方法進行調(diào)試</p><p>  測試結(jié)果的分析與討論:運行程序后,出現(xiàn)如上述詳細設(shè)計的各項功能。<

13、/p><p>  測試過程中遇到的主要問題及采取的解決措施:</p><p>  練習窗口中,題目的運算符號及反饋結(jié)果的“√”“×”沒有顯示出來。</p><p>  解決措施:把Label6和Label8拉大。</p><p>  練習窗口中,第一題時,光標沒有放到text1中。</p><p>  解決措施:

14、在Form2的command1的Click事件中加入Form4.Text3.SetFocus。</p><p>  測試窗口中,對于加法的結(jié)果判斷不正確。</p><p>  解決措施:把frmcs中的cstimu函數(shù)的加法部分的n1改為nn1。(變量寫錯)</p><p>  測試窗口中,規(guī)定時間5分鐘的預(yù)定義沒有設(shè)置好地方。</p><p&g

15、t;  解決措施:在Form1的command2的Click事件中的if語句塊里加入frmcs.pretime1 = 300。</p><p><b>  用戶手冊</b></p><p>  載入窗口中,輸入“登陸”,進入首頁。</p><p>  若要練習,則在首頁單擊“我要練習”,進入練習系統(tǒng)。根據(jù)用戶的實際情況,自由選擇難度、輸入時間(

16、默認為簡單、0分鐘0秒)。單擊“開始”,進入練習。在文本框中輸入答案,單擊“提交”,即可顯示對錯。若正確,則單擊“下一題”,繼續(xù)做題;若錯誤,則需繼續(xù)在文本框中輸入答案并提交,直到做對方可單擊“下一題”。在預(yù)定時間內(nèi),若10題練習都做完,則單擊“退出練習”即可返回選擇難度與時間界面;若沒有完成,則無法繼續(xù)答題。</p><p>  若要測試,則在首頁單擊“我要測試”,在彈出的對話框單擊“確定”,進入測試系統(tǒng)。在文

17、本框中輸入答案,單擊“提交”,即可顯示對錯。若正確,則單擊“下一題”,繼續(xù)做題;若錯誤,則會顯示正確答案,單擊“下一題”繼續(xù)。</p><p>  在規(guī)定時間(5分鐘)內(nèi),若20題都做完,則會顯示提示,單擊“查看結(jié)果”,可進入反饋結(jié)果界面,查看用時、總分、正確題數(shù)、錯誤題數(shù),單擊“返回”,即可回到測試界面;單擊“再來一次”,則開始新一輪測試;單擊“退出練習”即首頁。若在規(guī)定時間內(nèi)沒有完成,則會顯示提示并且無法繼續(xù)

18、答題,其他效果與完成的相同。</p><p><b>  七、附錄</b></p><p>  1、載入窗體(Form3)代碼:</p><p>  Private Sub bz_Click()</p><p>  frmAbout.Show</p><p><b>  End Sub&

19、lt;/b></p><p>  Private Sub Form_Load()</p><p>  Form3.Left = Screen.Width / 2 - 5600 '把窗體放在屏幕中間</p><p>  Form3.Top = Screen.Height / 2 - 4600</p><p><b

20、>  End Sub</b></p><p>  Private Sub Text1_Change()</p><p>  If Text1 = "登陸" Then</p><p>  Form1.Show</p><p>  Form3.Hide</p><p><b>

21、;  End If</b></p><p><b>  End Sub</b></p><p>  首頁窗體(Form1)代碼:</p><p>  Private Sub bz_Click()</p><p>  frmAbout.Show</p><p><b>  En

22、d Sub</b></p><p>  Private Sub Command1_Click()</p><p>  Form2.Left = Form1.Left '把Form2放在Form1位置</p><p>  Form2.Top = Form1.Top</p><p>  Form2.Show</p

23、><p>  Form1.Hide</p><p>  Form2.Text1.SetFocus '把光標放到輸入時間的文本框</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  r

24、 = MsgBox("測試:在5分鐘之內(nèi)完成20道題。 確定開始測試?", 33, " 我要測試")</p><p>  If r = 1 Then '確定開始測試</p><p>  Form1.Hide</p><p>  frmcs.Show</p>

25、<p>  frmcs.Text3.SetFocus '測試里的答題文本框聚焦光標</p><p>  frmcs.Timer2.Enabled = True</p><p>  frmcs.pretime1 = 300 '測試時間設(shè)置為5分鐘</p><p><b>  En

26、d If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p>  r = MsgBox(" 確定退出? ", 33, " 退出系統(tǒng) ")</p><p>  If r

27、= 1 Then End</p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  Form1.Left = Screen.Width / 2 - 5600 '把窗體放在屏幕中間</p><p>  Form1.Top

28、= Screen.Height / 2 - 4600</p><p><b>  End Sub</b></p><p>  3、練習選擇難度、時間窗體(Form2)代碼:</p><p>  Public fz, mz, nd As Integer '定義文本框中輸入的分鐘、秒</p><

29、;p>  Private Sub Command1_Click()</p><p>  Form4.Show</p><p>  Form4.Text3.SetFocus '光標聚焦在答題文本框中</p><p><b>  Me.Hide</b></p><p

30、>  fz = Val(Text1)</p><p>  mz = Val(Text2)</p><p>  Form4.Timer1.Enabled = True '練習窗體開始計時</p><p>  Form4.pretime = fz * 60 + mz</p><p><

31、;b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  Form1.Show</p><p>  Form2.Hide</p><p><b>  End Sub</b></p><p>  Privat

32、e Sub Form_Load()</p><p>  Form2.Left = Screen.Width / 2 - 5600 '把窗體放在屏幕中間</p><p>  Form2.Top = Screen.Height / 2 - 4600</p><p><b>  End Sub</b></p&

33、gt;<p>  Private Sub Option1_Click(Index As Integer) '難度</p><p><b>  nd = 1</b></p><p><b>  End Sub</b></p><p>  Private Sub Option2_Clic

34、k()</p><p><b>  nd = 2</b></p><p><b>  End Sub</b></p><p>  Private Sub Option3_Click()</p><p><b>  nd = 3</b></p><p>&

35、lt;b>  End Sub</b></p><p>  練習窗體(Form4)代碼:</p><p>  Public n1, n2, rr As Integer ' 定義第一、二個數(shù)和結(jié)果</p><p>  Public n As Integer '定義總題

36、數(shù)</p><p>  Public pretime As Integer '定義總時間</p><p>  Dim fz1 As Integer, mz1 As Integer '定義分鐘、秒</p><p>  Public Sub timu()</p><p>  Dim N

37、Op, t As Integer, Op As String 'Op為運算符,NOp為運算符對應(yīng)數(shù)字</p><p>  If Form2.nd = 1 Then</p><p>  NOp = Int(2 * Rnd + 1) ' 產(chǎn)生 1 ~ 2 之間的數(shù)</p><p>  n1 = Int(6 * Rnd

38、): n2 = Int(6 * Rnd) ' 難度為簡單時,產(chǎn)生 0 ~ 5 之間的數(shù)</p><p>  Select Case NOp ' 將 1 ~ 3 轉(zhuǎn)換成相應(yīng)的運算符</p><p><b>  Case 1</b></p><p>  Op = " + "<

39、;/p><p>  rr = n1 + n2</p><p><b>  Case 2</b></p><p>  Op = " - "</p><p>  If n1 < n2 Then t = n1: n1 = n2: n2 = t</p><p>  rr = n1 -

40、 n2 ' 保證所得到的數(shù)為大于零的實數(shù)</p><p>  End Select</p><p>  Label11 = n1: Label6 = Op: Label12 = n2: Label7 = "=" ' 將產(chǎn)生的數(shù)和運算組成當前題目</p><p><b>  En

41、d If</b></p><p>  If Form2.nd = 2 Then</p><p>  NOp = Int(2 * Rnd + 1) ' 產(chǎn)生 1 ~ 2 之間的數(shù)</p><p>  n1 = Int(10 * Rnd): n2 = Int(10 * Rnd) ' 難度為中等時,產(chǎn)

42、生 0 ~ 10 之間的數(shù)</p><p>  Select Case NOp ' 將 1 ~ 3 轉(zhuǎn)換成相應(yīng)的運算符</p><p><b>  Case 1</b></p><p>  Op = " + "</p><p>  rr = n1 + n2&l

43、t;/p><p><b>  Case 2</b></p><p>  Op = " - "</p><p>  If n1 < n2 Then t = n1: n1 = n2: n2 = t</p><p>  rr = n1 - n2 ' 保證所得到的數(shù)為

44、大于零的實數(shù)</p><p>  End Select</p><p>  Label11 = n1: Label6 = Op: Label12 = n2: Label7 = "=" ' 將產(chǎn)生的數(shù)和運算組成當前題目</p><p><b>  End If</b></p><p>  If

45、Form2.nd = 3 Then</p><p>  NOp = Int(3 * Rnd + 1) ' 產(chǎn)生 1 ~ 3 之間的數(shù)</p><p>  n1 = Int(50 * Rnd + 1): n2 = Int(50 * Rnd + 1) ' 難度為較難時,產(chǎn)生 1 ~ 50 之間的數(shù)</p><p>  Select C

46、ase NOp ' 將 1 ~ 3 轉(zhuǎn)換成相應(yīng)的運算符</p><p><b>  Case 1</b></p><p>  Op = " + "</p><p>  rr = n1 + n2</p><p><b>  Case 2</b&g

47、t;</p><p>  Op = " - "</p><p>  If n1 < n2 Then t = n1: n1 = n2: n2 = t</p><p>  rr = n1 - n2 ' 保證所得到的數(shù)為大于零的實數(shù)</p><p><b>  Case

48、3</b></p><p>  Op = " × "</p><p>  n1 = Int(n1 / 5): n2 = Int(n2 / 5) ' 將大的乘數(shù)轉(zhuǎn)化為 0 ~ 10 的整數(shù)</p><p>  rr = n1 * n2</p><p>  End S

49、elect</p><p>  Label11 = n1: Label6 = Op: Label12 = n2: Label7 = "=" ' 將產(chǎn)生的數(shù)和運算組成當前題目</p><p><b>  End If</b></p><p><b>  End Sub</b></p>

50、<p>  Private Sub Command1_Click()</p><p>  If Not IsNumeric(Text3) Then ' 判斷是否輸入的是數(shù)字</p><p>  MsgBox " 輸入必須為數(shù)字! ", vbExclamation, " 輸入錯誤 "</

51、p><p>  Text3 = ""</p><p>  Text3.SetFocus</p><p>  ElseIf Val(Text3) = rr Then ' 輸入結(jié)果正確時候的輸出</p><p>  Label8 = " √ "</p>

52、<p>  Label9 = "你真棒!"</p><p><b>  n = n + 1</b></p><p>  Command3.Enabled = True: Command1.Enabled = False '提交不可用</p><p>  Else

53、 ' 輸入結(jié)果錯誤時候的輸出</p><p>  Label8 = " ×"</p><p>  Label9 = "再想想吧"</p><p>  Text3.SetFocus</p><p>  Command3.Enabled

54、= False</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  r = MsgBox(" 確定退出練習? ", 33, &quo

55、t; 退出練習 ")</p><p>  If r = 1 Then</p><p>  Form2.Show</p><p>  Form2.Text1 = ""</p><p>  Form2.Text2 = ""</p><p><b>  Unload

56、 Me</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p>  Text3 = ""</p><

57、p>  Label8 = ""</p><p>  Label9 = ""</p><p>  Label5 = n & ".": Label4 = 10 - n & " 題"</p><p>  Command1.Enabled = True

58、 '按下下一題后,提交可用</p><p>  If n < 11 Then '設(shè)置題數(shù)為 10 道題</p><p>  Text3.SetFocus</p><p><b>  timu</b></p><p>

59、;<b>  End If</b></p><p>  If n > 10 Then</p><p>  Label4 = 0 & " 題" '答完后,剩余題數(shù)為0</p><p>  Label11.Visible = False</p>

60、<p>  Label12.Visible = False</p><p>  Text3.Visible = False '設(shè)置當?shù)?10 道題時 , 輸入答案的文本框不能使用</p><p>  Label5.Visible = False</p><p>  Label6.Visible = Fal

61、se</p><p>  Label7.Visible = False</p><p>  Label8.Visible = False</p><p>  Label9.Visible = False</p><p>  Command1.Enabled = False</p><p>  Command3.Enab

62、led = False</p><p>  Label10.Caption = "練習結(jié)束咯!"</p><p>  Timer1.Enabled = False '停止計時</p><p><b>  End If</b></p><p><b>  E

63、nd Sub</b></p><p>  Private Sub Form_Load()</p><p>  Form4.Left = Screen.Width / 2 - 5600 '把窗體放在屏幕中間</p><p>  Form4.Top = Screen.Height / 2 - 4600</p><p&g

64、t;  Randomize ' 初始化隨機數(shù)</p><p><b>  timu</b></p><p>  Command3.Enabled = False</p><p><b>  n = 1</b></p><p>

65、  Label5 = n & ".": Label4 = 10 - n & " 題" '題目序號為n,剩余題數(shù)為10-n</p><p><b>  End Sub</b></p><p>  Private Sub Text3_Change()</p><

66、;p>  If Text3 = "" Then Command3.Enabled = False</p><p><b>  End Sub</b></p><p>  Public Sub Timer1_Timer()</p><p>  fz1 = pretime \ 60

67、 '計算分鐘</p><p>  mz1 = pretime Mod 60 '計算秒</p><p>  Label1.Caption = Str(fz1) & " 分" & Str(mz1) & " 秒"

68、</p><p>  If fz1 = 0 And mz1 = 0 Then</p><p>  Timer1.Enabled = False</p><p>  Label11.Visible = False</p><p>  Label12.Visible = False</p><p>  Text3.Visi

69、ble = False</p><p>  Label5.Visible = False</p><p>  Label6.Visible = False</p><p>  Label7.Visible = False</p><p>  Label8.Visible = False</p><p>  Label9

70、.Visible = False</p><p>  Command1.Enabled = False</p><p>  Command3.Enabled = False</p><p>  Label10.Caption = "時間到了!"</p><p><b>  End If</b><

71、/p><p>  pretime = pretime - 1 '倒數(shù)時間</p><p><b>  End Sub</b></p><p>  幫助窗體(frmAbout)代碼:</p><p>  Private Sub cmdOK_Click()</p&g

72、t;<p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  frmAbout.Left = Screen.Width / 2 - 2700 '把窗體放在屏幕中

73、間</p><p>  frmAbout.Top = Screen.Height / 2 - 2000</p><p><b>  End Sub</b></p><p>  測試窗體(frmcs)代碼:</p><p>  Public nn1, nn2, rrr As Integer

74、 ' 定義第一、二個數(shù)和結(jié)果</p><p>  Public nz, nc, n As Integer '定義正確、錯誤的題數(shù)、總題數(shù)</p><p>  Public pretime1 As Integer

75、 '定義總時間</p><p>  Dim fz2 As Integer, mz2 As Integer '定義分鐘、秒鐘</p><p>  Private Sub Command5_Click() '再來一次</p>

76、<p>  r = MsgBox(" 確定要再來一次? ", 33, " 再來一次 ")</p><p>  If r = 1 Then</p><p>  n = 1: nz = 0: nc = 0</p><p>  pretime1 = 300</p><p>  Timer2.Ena

77、bled = True</p><p>  Label11.Visible = True: Label11 = ""</p><p>  Label12.Visible = True: Label12 = ""</p><p>  Text3.Visible = True: Text3 = "": Text

78、3.SetFocus</p><p>  Label4 = 20 - n & " 題"</p><p>  Label5.Visible = True: Label5 = n & "."</p><p>  Label6.Visible = True: Label6 = ""</p&g

79、t;<p>  Label7.Visible = True: Label7 = ""</p><p>  Label8.Visible = True: Label8 = ""</p><p>  Label9.Visible = True: Label9 = ""</p><p>  Comm

80、and1.Visible = True</p><p>  Command3.Visible = True: Command3.Enabled = False</p><p>  Command4.Visible = False</p><p>  Command5.Visible = False</p><p>  Label10.Visi

81、ble = False</p><p><b>  cstimu</b></p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Public Sub cstimu()</p><p> 

82、 Dim NOp, t As Integer, Op As String ' Op為運算符,NOp為運算符對應(yīng)數(shù)字</p><p>  NOp = Int(3 * Rnd + 1) ' 產(chǎn)生 1 ~ 3 之間的數(shù)</p><p>  nn1 = Int(50 * Rnd + 1): nn2 =

83、 Int(50 * Rnd + 1) ' 難度為較難時,產(chǎn)生 1 ~ 50 之間的數(shù)</p><p>  Select Case NOp ' 將 1 ~ 3 轉(zhuǎn)換成相應(yīng)的運算符</p><p><b>  Case 1</b></p><p>  Op = &

84、quot; + "</p><p>  rrr = nn1 + nn2</p><p><b>  Case 2</b></p><p>  Op = " - "</p><p>  If nn1 < nn2 Then t = nn1: nn1 = nn2: nn2 = t</p

85、><p>  rrr = nn1 - nn2 ' 保證所得到的數(shù)為大于零的實數(shù)</p><p><b>  Case 3</b></p><p>  Op = " × "</p><p>  nn1 = Int(nn1 /

86、5): nn2 = Int(nn2 / 5) ' 將大的乘數(shù)轉(zhuǎn)化為 0 ~ 10 的整數(shù)</p><p>  rrr = nn1 * nn2</p><p>  End Select</p><p>  Label11 = nn1: Label6 = Op: Label12 = nn2: Label7 = "=" 

87、9; 將產(chǎn)生的數(shù)和運算組成當前題目</p><p><b>  End Sub</b></p><p>  Private Sub Command1_Click()</p><p>  If Not IsNumeric(Text3) Then ' 判斷是否輸入的是數(shù)字</p><p&

88、gt;  MsgBox " 輸入必須為數(shù)字! ", vbExclamation, " 輸入錯誤 "</p><p>  Text3 = ""</p><p>  Text3.SetFocus</p><p>  ElseIf Val(Text3) = rrr Then 

89、9; 輸入結(jié)果正確時候的輸出</p><p>  Label8 = " √ "</p><p>  nz = nz + 1: n = n + 1</p><p>  Command3.Enabled = True: Command1.Enabled = False</p><p>  Else

90、 ' 輸入結(jié)果錯誤時候的輸出</p><p>  Label8 = " ×"</p><p>  Label9 = "正確答案:" & rrr</p><p>  nc = nc + 1: n = n + 1</p><p> 

91、 Command3.Enabled = True: Command1.Enabled = False</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p> 

92、 r = MsgBox(" 退出后將不保留測試成績,確定退出? ", 33, " 退出測試 ")</p><p>  If r = 1 Then</p><p>  Form1.Show</p><p><b>  Unload Me</b></p><p><b>  

93、End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p>  Text3 = ""</p><p>  Label8 = ""</p><p

94、>  Label9 = ""</p><p>  Label5 = n & ".": Label4 = 20 - n & " 題"</p><p>  Command1.Enabled = True</p><p>  If n < 21 Then

95、 ' 設(shè)置題數(shù)為 20 道題</p><p>  Text3.SetFocus</p><p><b>  cstimu</b></p><p><b>  End If</b></p><p>  If n > 20 Then</p><p&g

96、t;  Label4 = 0 & " 題" '答完后,剩余題數(shù)為0</p><p>  Label11.Visible = False</p><p>  Label12.Visible = False</p><p>  Text3.Visible = False &#

97、39;設(shè)置當?shù)?20 道題時 , 輸入答案的文本框不能使用</p><p>  Label5.Visible = False</p><p>  Label6.Visible = False</p><p>  Label7.Visible = False</p><p>  Label8.Visible = False</p>

98、<p>  Label9.Visible = False</p><p>  Command1.Visible = False</p><p>  Command3.Visible = False</p><p>  Command4.Visible = True: Command4.SetFocus</p><p>  Com

99、mand5.Visible = True</p><p>  Label10.Visible = True '保證反饋能顯示</p><p>  Label10.Caption = "恭喜你完成測試!你可選擇:"</p><p>  Timer2.Enabled = False

100、 '停止計時</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click()</p><p>  If nz >= 18 Then

101、 '90分以上反饋的結(jié)果</p><p>  frmjg.Show</p><p>  frmjg.Label1 = "用時:" & Str((300 - pretime1 - 1) \ 60) & "分" & Str((300 - pretime1 - 1) Mod

102、 60) & "秒"</p><p>  frmjg.Label2 = "你真棒!"</p><p>  frmjg.Label3 = "總分:" & nz * 5</p><p>  frmjg.Label4 = "正確:" & nz & "

103、題"</p><p>  frmjg.Label5 = "錯誤:" & nc & " 題"</p><p>  ElseIf nz >= 12 Then '60分以上反饋的結(jié)果</p><p>  frmjg.Show</p>&

104、lt;p>  frmjg.Label1 = "用時:" & Str((300 - pretime1 - 1) \ 60) & "分" & Str((300 - pretime1 - 1) Mod 60) & "秒"</p><p>  frmjg.Label2 = "加油哦!"</p>

105、<p>  frmjg.Label3 = "總分:" & nz * 5</p><p>  frmjg.Label4 = "正確:" & nz & " 題"</p><p>  frmjg.Label5 = "錯誤:" & nc & " 題&quo

106、t;</p><p>  frmjg.Image2.Picture = LoadPicture()</p><p>  Else '60分以下反饋的結(jié)果</p><p>  frmjg.Show</p><p>  frmjg.Label1 = "

107、用時:" & Str((300 - pretime1 - 1) \ 60) & "分" & Str((300 - pretime1 - 1) Mod 60) & "秒"</p><p>  frmjg.Label2 = "你能行!"</p><p>  frmjg.Label3 = &qu

108、ot;總分:" & nz * 5</p><p>  frmjg.Label4 = "正確:" & nz & " 題"</p><p>  frmjg.Label5 = "錯誤:" & nc & " 題"</p><p>  frmjg.

109、Image2.Picture = LoadPicture()</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  frmcs.Left = Screen.Widt

110、h / 2 - 5600 '把窗體放在屏幕中間</p><p>  frmcs.Top = Screen.Height / 2 - 4600</p><p>  Randomize '初始化隨機數(shù)</p><p>  cstimu

111、 '調(diào)用題目</p><p>  Command3.Enabled = False</p><p>  Command4.Visible = False</p><p>  Command5.Visible = False</p><p>  n = 1: nz = 0: nc = 0

112、 '初始化n、nc、nz</p><p>  Label5 = n & ".": Label4 = 20 - n & " 題" '題目序號為n,剩余題數(shù)為20-n</p><p><b>  End Sub</b></p><p>  Private Sub Te

113、xt3_Change()</p><p>  If Text3 = "" Then Command3.Enabled = False</p><p><b>  End Sub</b></p><p>  Public Sub Timer2_Timer()</p><p>  fz2 = pretim

114、e1 \ 60 '計算分鐘、秒</p><p>  mz2 = pretime1 Mod 60</p><p>  Label2.Caption = Str(fz2) & " 分" & Str(mz2) & " 秒"</p><p

115、>  If fz2 = 0 And mz2 = 0 Then</p><p>  Timer2.Enabled = False</p><p>  Label11.Visible = False</p><p>  Label12.Visible = False</p><p>  Text3.Visible = False</p

116、><p>  Label5.Visible = False</p><p>  Label6.Visible = False</p><p>  Label7.Visible = False</p><p>  Label8.Visible = False</p><p>  Label9.Visible = False&

117、lt;/p><p>  Command1.Visible = False</p><p>  Command3.Visible = False</p><p>  Command4.Visible = True: Command4.SetFocus</p><p>  Command5.Visible = True</p><

118、p>  Label10.Visible = True</p><p>  Label10.Caption = "很遺憾!時間到!你可選擇:"</p><p><b>  End If</b></p><p>  pretime1 = pretime1 - 1

119、'倒數(shù)時間</p><p><b>  End Sub</b></p><p>  反饋結(jié)果窗體(frmjg)代碼:</p><p>  Private Sub Command1_Click()</p><p><b>  Unload Me</b></p><p>

120、<b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p>  frmjg.Left = Screen.Width / 2 - 5600 '把窗體放在屏幕中間</p><p>  frmjg.Top = Screen.Height / 2 -

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論