




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
堂隨機點名系統(tǒng)題目:課堂隨機點名系統(tǒng)班級:姓名:學(xué)號:指導(dǎo)教師:朱新峰成績:—2013年12月一、任務(wù)描述本次任務(wù)要求完成一個課堂隨機點名系統(tǒng)。具體內(nèi)容為:教師在每次上課時,有時需要叫學(xué)生起來回答問題,為了公平起見,使每個學(xué)生被叫起來回答問題的概率相同,故采用ctt來編寫一個隨機點名系統(tǒng)。具體要求如下:(一)完成一個點名系統(tǒng)界面的設(shè)計,具體設(shè)計如下:安置一個“開始”按鈕,當(dāng)按下“開始”按鈕時,按鈕上面的字顯示為“停止”,并且開始在界面上隨機抽取數(shù)字。安置一個“被點名單”按鈕,可以查看己經(jīng)被點過的學(xué)生的學(xué)號以及被點次數(shù)。添加兩個標(biāo)簽,分別在上面顯示“歡迎進入點名系統(tǒng)”和抽取的隨機數(shù)字。添加一個listbox用來存放己經(jīng)被點過的學(xué)生的學(xué)號以及被點次數(shù)。安置一個“清除”按鈕,用來清除listbox中的數(shù)據(jù)。安置一個“保存被點名單”按鈕,保存本次點名的數(shù)據(jù)。(二)該點名系統(tǒng)能夠?qū)崿F(xiàn)隨機點名,并且當(dāng)一個學(xué)生被點次數(shù)超過三次時,會提醒老師重新點名。(三)能將本節(jié)課點名的情況記錄到文件中,有利于老師下課后查看分析學(xué)生上課回答問題的情況并且有利于老師下節(jié)課點其他未被點過的學(xué)生。二、系統(tǒng)概要設(shè)計(一)模塊整體設(shè)計圖
模塊功能介紹窗體類窗體事件FormlQ功能:對各變量進行初始化開始按鈕事件button1_Click(objectsender,EventAigse)功能:進行隨機點名,將點到的學(xué)號和被點次數(shù)寫入listbox,并在某學(xué)號點到三次后提醒老師定時器事件timer1_Tick(objectsender,EventAigse)功能:產(chǎn)生隨機學(xué)號并將數(shù)據(jù)在界面上顯示出來被點名單按鈕事件button2_Click(objectsender,EventArgse)功能:顯示和隱藏listbox
清除按鈕事件button3_Click(objectsender,EventAigse)功能:清除listbox中的內(nèi)容保存被點名單事件button4_Click(objectsendei;EventAigse)功能:將被點名單寫入文件并記錄點名時間寫文件類(1)寫文件函數(shù)WtiteData(stringfilestr,strmgst)功能:將點到的學(xué)號和被點次數(shù)寫入文件三、系統(tǒng)詳細設(shè)計(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計本系統(tǒng)采用文件保存點到的學(xué)號及其被點次數(shù)定義全局變量n,num以及名為count的數(shù)組分別用來存放班級人數(shù),產(chǎn)生的隨機學(xué)號以及每個學(xué)號被點次數(shù)1.各類的原型為:public1.各類的原型為:publicpartialclassForml:FormpublicclassFileWrite2.各事件原型為:publicForml()privatevoidbuttonl_Click(objectsender,/*窗體類*//*寫文件類*//*窗體事件*/EventArgse)timerl_Tick(objectsender,EventArgse)privatevoidbutton2_Click(objectsender,/*“開始”按鈕事件*//*定時器事件*/EventArgstimerl_Tick(objectsender,EventArgse)privatevoidbutton2_Click(objectsender,privatevoidbutton3_Click(objectsender,publicstaticvoidWriteData(stringfilestr,stringst)/*寫文件函數(shù)*/系統(tǒng)實現(xiàn)1?界面設(shè)計
2.點名界面3.開始點名4.顯示被點名單□?浬堂漣機點名奈統(tǒng)歡迎進入點名系統(tǒng)29激點名單開始1A111A110^1*11CMo/ta111A111*CMCO889589899316289102200220010212保存被點名單5.文檔數(shù)據(jù)文件⑥霍(E)格式(。)辭M幫期H)112/13/20130110210310400510600710800920000100100100206.提醒界面g課堂隨機點名系統(tǒng)221111231213132499316289960848482001021210112020歡迎進入點名系統(tǒng)29開始保存被點名單該名同學(xué)已被點過三次,清重新點名!確定五、系統(tǒng)調(diào)試在做這個系統(tǒng)的時候,由于對C#的語法不太了解,所以即使是這樣一個簡單的系統(tǒng),還是花了我一個星期的時間,并且還有許多不完善的地方。剛開始的時候,我是先在控制臺完成了一個能每次產(chǎn)生3個隨機數(shù)的程序,在做這個程序的時候,我不知道如何將數(shù)值數(shù)據(jù)轉(zhuǎn)換為文本數(shù)據(jù)輸出,上網(wǎng)查資料后,才知道應(yīng)該調(diào)用ToString()函數(shù)。在做界面程序的時候,我在如何不斷顯示隨機數(shù)據(jù)上遇到了難題,查找了相關(guān)書籍后,發(fā)現(xiàn)C#中有一個定時器事件,它可以設(shè)置時間間隔,間歇性執(zhí)行某一函數(shù),從而解決了顯示隨機數(shù)的時間問題。在編寫寫文件類的時候,我糾結(jié)了好久,一剛開始,我直接調(diào)用了老師給的程序,但總是不成功,后來,我采用了最簡單的寫文件的方法,將字符一個一個地寫進去,終于解決了問題。六、系統(tǒng)進一步擴充由于時間原因,該系統(tǒng)還有以下兒個方面未完善:(一)系統(tǒng)界面過于簡單,美化程度有待提高。(二)沒有進行讀文件操作,如果能夠?qū)W(xué)號存入一個文件中,從此文件中讀取學(xué)號的范圍,那么該系統(tǒng)的適用性將會更好。(三)本系統(tǒng)采用的是三次點名后提醒的操作,如果將被點次數(shù)按照學(xué)號順序單獨存放起來,并且自動去除被點三次的學(xué)號,將更有利于用戶操作(四)本系統(tǒng)沒有實現(xiàn)覆蓋技術(shù),每次存文件時雖然記錄了點名的時間,但是會造成空間的浪費,如果能夠每次點名之前將之前的數(shù)據(jù)讀進來,然后在和新的數(shù)據(jù)想合并,這樣看起來比較簡單方便,也節(jié)省了空間,也能增加上節(jié)課未被到的同學(xué)在這節(jié)課被點到的概率。雖然有過上個學(xué)期做過C語言課程設(shè)計的經(jīng)驗,但這次的C#課堂隨機點名系統(tǒng)仍然花了我兒個晚上的時間,主要原因是對C#語法不太了解,所以,在這次編寫程序的過程當(dāng)中遇到了不少難題。每次遇到難題的時候,我都會上網(wǎng)查資料或到圖書館去查找相關(guān)書籍,最后終于將這些問題解決了。編寫程序的過程其實也是一個自學(xué)的過程。在這次編寫程序的過程中,我雖然遇到了不少難題,但是在解決這些難題的時候,我學(xué)會了不少東西,對有些知識的理解也更加深刻,也讓讓我初步了解編寫一個小型系統(tǒng)的過程,那就是設(shè)計程序,發(fā)現(xiàn)問題,解決問題,繼續(xù)完善。我相信,在以后的編程過程中,我會不斷的運用這些解決問題的方法。這次課堂隨機點名系統(tǒng)的編寫讓我收獲頗豐。附錄(源程序)usingSystem;usingSystem.10;usingSystem.Collections.Generic;usingSystem.ComponentMode1;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Collections:usingSystem.Timers;usingSystem.Linq;namespacedianming(publicpartialclassForml:Form/*窗體類*/(boolfirst_click=true;/*定義全局變量*/intn=30,num;/*n為全班人數(shù),num為隨機產(chǎn)生的學(xué)號*/Randomr=newRandom();int[]count=newint[31];ArrayListcontent=newArrayList();ArrayListresult=newArrayList();publicForml()/*隨機對象r*//*記錄每個學(xué)號被點到的次數(shù)*/InitializeComponent();timerl.Interval=10;timerl.Stop();inti;for(i=0;i<31;i++)count[i]=0;/*設(shè)置定時器開始計時兩次調(diào)用控件的間隔時間*//*開始時定時器是停止的*//*初始化點名次數(shù)*/}privatevoidbuttonl_Click(objectsender,EventArgse){一/*定義“開始”按鈕事件*/first_click=!first_click;if(!firstclick)/*開始抽取隨機數(shù)*/timerl.Start();buttonl.Text=〃停止〃;}else(timerl.Stop();count[num]++;strings=num.ToString()+〃+count[num].ToString();if(num<10)s=〃0〃+s;result.Add(num.ToString());this.listBoxl.Items.Add(s);/*將點名的學(xué)號和被點次數(shù)寫到1istbox中*/buttonl.Text=〃開始〃;if(count[num]>3)/*學(xué)生被點次數(shù)超過三次時提醒老師重新點名*/MessageBox.Show(,z該名同學(xué)己被點過三次,請重新點名!〃);})privatevoidtimerl_Tick(objectsender,EventArgse){~/*定義定時器事件*/num=r.Next(1,n);/*產(chǎn)生隨機學(xué)號*/labell.Text=num.ToString():/*將數(shù)據(jù)在界面上顯示出來*/)privatevoidbutton2_Click(objectsender,EventArgse){~/*定義“被點名單”按鈕事件*/this.listBoxl.Visible=!this.listBoxl.Visible;this.button3.Visible=!this.button3.Visible;)privatevoidbutton3_Click(objectsender,EventArgse){~/*定義“清除”按鈕事件*/this.listBoxl.Items.Clear();result.Clear();)}privatevoidbutton4_Click(objectsender,EventArgse)inti,y,m,d;stringsi,s2;DateTimet=DateTime.Now;y=t.Year;m=t.Month;d=t.Day;s2=m.ToString()+'7〃+d.ToString()+〃/〃+y.ToString();Stringfile=.\LML\test.txt〃;FileWrite.WriteData(file,s2);/*記錄時間*/for(i=1;i<=n;i++)/*將點名的學(xué)號和(被點次數(shù)寫到test,txt中*/si=i.ToString()+"+count[i].ToString();if(i<10)si=〃0〃+si;FileWrite.WriteData(file,si);}})publicclassFileWrite/*定義寫文件類*/(publicstaticvoidWriteData(stringfilestr,stringst){/*定義寫文件函數(shù)*/FileStreamfs=newFileStream(Filestr,FileMode.
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《2025年版商業(yè)店鋪租賃合同》
- 學(xué)校安全穩(wěn)定隱患排查專項整治工作方案范文
- 2025煤礦企業(yè)承包的合作合同
- 2025翻譯服務(wù)合同
- 精神疾病的康復(fù)醫(yī)學(xué)進展考核試卷
- 網(wǎng)絡(luò)安全防護在智能安防的入侵報警系統(tǒng)評估考核試卷
- 2025大連市商品混凝土銷售合同協(xié)議書樣本
- 娃娃玩具的安全生產(chǎn)事故案例分析考核試卷
- 2025文具用品購銷合同
- 2025安撫巾采購合同
- 急救醫(yī)療資源整合優(yōu)化研究
- 達人采風(fēng)活動方案
- 制造業(yè)本季度總結(jié)與下季度規(guī)劃
- 大健康加盟項目計劃書
- 幼兒園課程圖景課程實施方案編制指南
- 氣管狹窄患者的護理查房課件
- 大型客車驅(qū)動橋設(shè)計
- 鋼筋掛籃計算書
- 牛津譯林7A-Unit3、4單元復(fù)習(xí)
- 扎鋼機控制系統(tǒng)的MCGS界面控制設(shè)計
- 國家義務(wù)教育質(zhì)量監(jiān)測初中美術(shù)試題
評論
0/150
提交評論