

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 計(jì)算機(jī)科學(xué)學(xué)院</b></p><p><b> 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)</b></p><p> 題 目:課堂經(jīng)驗(yàn)值管理系統(tǒng)</p><p><b> 學(xué)生姓名: </b></p><p><b> 學(xué) 號(hào): </b&
2、gt;</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b> 班 級(jí): </b></p><p> 指導(dǎo)教師姓名及職稱: 講師</p><p> 起止時(shí)間: 2014 年 3 月—— 2014年 4 月</p><p><b> 1 需求分析&l
3、t;/b></p><p> 1.1開發(fā)背景及意義</p><p> 對(duì)于以往的經(jīng)驗(yàn)我們往往覺得中國(guó)式的課堂教學(xué)模式實(shí)在是枯燥無味的。隨著教學(xué)的改革和多媒體教學(xué)的興起,并以它富有表現(xiàn)能力越來越得到人們的青睞。但是,我們會(huì)發(fā)現(xiàn)時(shí)間久了學(xué)生們也覺得多媒體教學(xué)表現(xiàn)出厭倦,因?yàn)椴糠掷蠋熤皇钦罩鳳PT的內(nèi)容讀給同學(xué)們。經(jīng)過深入分析,我覺得對(duì)于同學(xué)們的厭倦歸終到底是教師于學(xué)生之間缺乏互動(dòng)。借
4、助于現(xiàn)在網(wǎng)絡(luò)游戲的流行,開發(fā)出一種與游戲中獲取經(jīng)驗(yàn)者來提升自己等級(jí)的課堂經(jīng)驗(yàn)值管理系統(tǒng)。以此協(xié)助多媒體教程。</p><p> 它以現(xiàn)代教育思想為指導(dǎo),運(yùn)用信息管理理論與信息管理方法,以現(xiàn)代信息技術(shù)為核心,融入學(xué)生廣泛感興趣的話題,組織和配置教學(xué)信息資源,進(jìn)行信息化教學(xué)管理活動(dòng),從而高效率地達(dá)到既定的教學(xué)目標(biāo)。</p><p> 現(xiàn)代教學(xué)理念主張以學(xué)生為主體。教師引導(dǎo)學(xué)生自主學(xué)習(xí),要教
5、給學(xué)生發(fā)現(xiàn)問題的方法,提出問題和培養(yǎng)學(xué)生解決問題的能力,鼓勵(lì)學(xué)生的創(chuàng)新意識(shí),鍛煉學(xué)生的創(chuàng)造能力。培養(yǎng)學(xué)生活躍的思維能力、強(qiáng)烈的求知欲望、強(qiáng)烈的表現(xiàn)欲和好奇心,以及旺盛的青春活力,在教學(xué)活動(dòng)中應(yīng)該得到很好的發(fā)揮學(xué)生在掌握基本知識(shí)的基礎(chǔ)上主動(dòng)學(xué)習(xí),進(jìn)一步拓寬和加深對(duì)知識(shí)的認(rèn)識(shí)。</p><p><b> 1.2程序要求</b></p><p> A.建立學(xué)生名單(新建
6、或打開現(xiàn)有的名單)</p><p><b> B.增加學(xué)生信息</b></p><p><b> C.刪除學(xué)生信息</b></p><p> D.為某同學(xué)增加指定經(jīng)驗(yàn)值</p><p> E.撤銷操作(防止錯(cuò)誤操作)</p><p> F.考勤(語音報(bào)讀)</
7、p><p><b> G.查詢信息</b></p><p> H.輸出全體學(xué)生信息(導(dǎo)出學(xué)生信息或打?。?lt;/p><p><b> I.附加功能:</b></p><p> 答題加分機(jī)制、隨機(jī)抽獎(jiǎng)加分機(jī)制。</p><p><b> 1.3軟件規(guī)格說明<
8、/b></p><p> A.導(dǎo)入文件格式: .txt、.csv、.xsl、.xslx、.dat,數(shù)據(jù)元素按行分開,每個(gè)元素字段數(shù)據(jù)以逗號(hào)分開,包含字段有學(xué)號(hào)、姓名、經(jīng)驗(yàn)值、曠課次數(shù),其中,姓名、學(xué)號(hào)為不可缺省項(xiàng),其余的可缺省。</p><p> B.windows版本應(yīng)用程序錯(cuò)誤處理:所有異常處理均有提示,確保程序不會(huì)異常退出,如:未輸入班名就確認(rèn)創(chuàng)建會(huì)有提示警告、點(diǎn)名未完成時(shí)
9、部分沖突操作禁止運(yùn)行、學(xué)號(hào)重復(fù)警告、字符串格式錯(cuò)誤警告等等。</p><p><b> 1.4 設(shè)計(jì)目標(biāo)</b></p><p> 課堂經(jīng)驗(yàn)值管理系統(tǒng)以學(xué)生出勤和課堂表現(xiàn)依據(jù),根據(jù)相應(yīng)的規(guī)則對(duì)學(xué)生進(jìn)行管理,為學(xué)生們營(yíng)造一個(gè)歡快的課堂環(huán)境。</p><p> A. 軟件名稱:課堂經(jīng)驗(yàn)值管理系統(tǒng)</p><p> B
10、. 軟件組成:C#版(windows系統(tǒng)圖形化窗口操作界面應(yīng)用程序) </p><p> C. 制作平臺(tái)、框架及相關(guān)調(diào)試工具與運(yùn)行庫(kù):(winfrom;.NET4.5;Microsoft Visual Studio 2012)</p><p> D. 運(yùn)行環(huán)境:winXP/win7/win8</p><p><b> E. 性能特點(diǎn):</b&g
11、t;</p><p> (1)軟件由一個(gè)個(gè)可執(zhí)行文件組成,具有如下特點(diǎn):</p><p> C#版為windows應(yīng)用程序,界面友好,使用方便,功能強(qiáng)大,具有較強(qiáng)的體驗(yàn)感。</p><p> ?。?)多種輸入操作會(huì)自動(dòng)識(shí)別輸入類型,做出相應(yīng)操作,不可操作的數(shù)據(jù)會(huì)彈出提示。多種導(dǎo)入操作自動(dòng)識(shí)別道人文件中的數(shù)據(jù)項(xiàng),錯(cuò)誤文件會(huì)有提示。</p><p
12、> ?。?)windows應(yīng)用程序 支持鼠標(biāo)點(diǎn)擊操作與鍵盤快捷鍵操作。</p><p> (5)windows應(yīng)用程序 有完善的操作提示。</p><p><b> 2 概要設(shè)計(jì)</b></p><p> 2.1設(shè)計(jì)思路的概述</p><p> 在設(shè)計(jì)這個(gè)軟件之前我先分析的這個(gè)軟件需要實(shí)現(xiàn)什么樣的功能。列出
13、功能模塊后畫出設(shè)計(jì)流程圖,再對(duì)每個(gè)功能深入細(xì)分。最后確定功能模塊,命名空間和各種變量和函數(shù)名。</p><p> 首先是確定結(jié)構(gòu)化程序設(shè)計(jì)的流程圖,利用類庫(kù)提供的datatable來構(gòu)造一個(gè)班級(jí)列表結(jié)構(gòu),接著把表操作(建表、初始化、增加節(jié)點(diǎn)、刪除節(jié)點(diǎn),修改節(jié)點(diǎn)值,查詢,置空,排序)拓展為班級(jí)列表的基本操作;然后考慮其數(shù)據(jù)持久性加入保存等保護(hù)數(shù)據(jù)的功能;接著為其設(shè)計(jì)UI界面,按相應(yīng)的規(guī)律設(shè)計(jì)綁定數(shù)據(jù)函數(shù);然后添加
14、撤銷功能;最后調(diào)試程序并將不足的地方加以修改(包括異常處理、性能優(yōu)化、代碼優(yōu)化、界面效果優(yōu)化)??偠灾褪窍扔米皂斚蛳隆⒅鸩郊?xì)化的設(shè)計(jì)方法來分析并畫出程序設(shè)計(jì)流程圖;然后用自下而上、逐步積累的設(shè)計(jì)方法來寫出程序。</p><p><b> 主程序流程圖:</b></p><p><b> 主程序流程圖</b></p><
15、;p><b> 相關(guān)函數(shù):</b></p><p><b> 相關(guān)變量:</b></p><p><b> 解決方案:</b></p><p><b> 3 詳細(xì)設(shè)計(jì)</b></p><p> 3.1 學(xué)生信息讀取與顯示的實(shí)現(xiàn)</p&
16、gt;<p> 創(chuàng)建一個(gè)datatable表來存儲(chǔ)學(xué)生的信心,然后利用datagridview組件通過與datatable綁定來顯示信息。</p><p> 你也可以在菜單中選擇詳細(xì)列表查看更多信息</p><p> 3.2 插入、刪除學(xué)生的實(shí)現(xiàn)</p><p> 通過dt.Rows.Add()來插入學(xué)生信息,dt.Rows.RemoveAt
17、(行號(hào))來刪除該學(xué)生在的行號(hào)。</p><p> 時(shí)間復(fù)雜度都為o(1);</p><p> 確定后即可在主窗口的底部看到插入學(xué)生的信息。當(dāng)然,datatable提供排序功能,你可以點(diǎn)擊上面的姓名,學(xué)號(hào),經(jīng)驗(yàn)值按鈕選擇排序方式,可順序排列,也可逆序排列。</p><p> 3.3 加分、查找學(xué)生的實(shí)現(xiàn)</p><p> 獲取用戶輸入的
18、學(xué)號(hào)或姓名,然后遍歷datatable表查找與之符合的信息,若有符合的,則返回所在的行號(hào)。若沒有則提示用戶輸入的學(xué)號(hào)或姓名不存在。對(duì)于加分,通過調(diào)用一個(gè)窗口</p><p> 3.4 新建班級(jí)的實(shí)現(xiàn)</p><p> 把之前的datable 的實(shí)力dt清空即dt.clean();然后調(diào)用新建窗口輸入學(xué)生信息:</p><p> 然后就可以在主窗口顯示新建班級(jí)全
19、部學(xué)生的信息了:</p><p> 3.5 語音功能、考勤功能的實(shí)現(xiàn)</p><p> 遍歷dt表,逐行獲取列名為“姓名”的值,調(diào)用類庫(kù)中的speech()函數(shù),創(chuàng)建一個(gè)實(shí)例,即可實(shí)現(xiàn)文本轉(zhuǎn)語音功能,達(dá)到語音考勤的效果。</p><p> Using system speech.synthesis;</p><p> Speechsy
20、nthesiser synth = new Speechsynthesiser ();</p><p> Synth.speak(“文本信息”);</p><p><b> 如圖:</b></p><p> 3.6 隨機(jī)功能的實(shí)現(xiàn)</p><p><b> 調(diào)用類庫(kù)的隨機(jī)函數(shù)</b><
21、/p><p> System.Random rnd = new System.Random();</p><p> i = rnd.Next(studata.Getdt().Rows.Count);</p><p> 再跳轉(zhuǎn)到dt的第i行。</p><p> 若用戶選擇抽獎(jiǎng)功能,則在第i行的同學(xué)加經(jīng)驗(yàn)值100,若用戶選擇提問功能,則調(diào)用提
22、問窗口:</p><p> 回答正確默認(rèn)加經(jīng)驗(yàn)值100,若回答錯(cuò)誤不扣經(jīng)驗(yàn)值。該功能有語音報(bào)讀模塊。</p><p> 3.7 撤銷、重做功能的實(shí)現(xiàn)</p><p> 在這里我也是創(chuàng)建一個(gè)datatable表來保存最近的操作,通過添加一行保存當(dāng)前操作和獲取最后一行并刪除來恢復(fù)上一步的操作。</p><p> public static
23、 DataTable undodt; //創(chuàng)建一個(gè)表單,保存最近操作,以便撤銷操作</p><p> public static DataTable deleteStuInfo; //保存被刪除的學(xué)生的信息</p><p> public void PushInStack(int leixing, int weizhi, int fenshu)//保存最近
24、操作</p><p><b> {</b></p><p> undodt.Rows.Add(leixing,weizhi,fenshu);</p><p><b> }</b></p><p> public void Undo()//撤銷操作</p><p>&l
25、t;b> {</b></p><p> if (undodt.Rows.Count == 0)</p><p><b> {</b></p><p> MessageBox.Show("以全部恢復(fù)原始文件!", "提示");</p><p><b&g
26、t; }</b></p><p><b> else</b></p><p><b> {</b></p><p> if ((int)undodt.Rows[undodt.Rows.Count-1][0] == insert)</p><p><b> {</
27、b></p><p> dt.Rows.RemoveAt(locat);</p><p> undodt.Rows.RemoveAt(undodt.Rows.Count-1);</p><p><b> }</b></p><p> else if ((int)undodt.Rows[undodt.Rows
28、.Count-1][0] == delete)</p><p><b> {</b></p><p> dt.Rows.Add(deleteStuInfo.Rows[deleteStuInfo.Rows.Count-1][0],</p><p> deleteStuInfo.Rows[deleteStuInfo.Rows.Count-1]
29、[1], deleteStuInfo.Rows[deleteStuInfo.Rows.Count-1][2], deleteStuInfo.Rows[deleteStuInfo.Rows.Count-1][3]);</p><p> deleteStuInfo.Rows.RemoveAt(deleteStuInfo.Rows.Count-1);</p><p> undodt.Rows
30、.RemoveAt(undodt.Rows.Count-1);</p><p><b> }</b></p><p> else if ((int)undodt.Rows[undodt.Rows.Count-1][0] == jiafen)</p><p><b> {</b></p><p>
31、; dt.Rows[locat][2] = (int)dt.Rows[locat][2] + (int)undodt.Rows[locat][2];</p><p> undodt.Rows.RemoveAt(undodt.Rows.Count-1);</p><p><b> }</b></p><p><b> }<
32、/b></p><p><b> }</b></p><p> 通過逆向操作來還原數(shù)據(jù)。重做功能則是讓datatable表回滾的初始狀態(tài)dt.RejectChanges();</p><p> 3.8 其他功能的實(shí)現(xiàn)</p><p> 用戶可自定義經(jīng)驗(yàn)值基值,加分基值,設(shè)置主窗體中顯示的字體大小,顏<
33、/p><p><b> 4 調(diào)試分析</b></p><p> 表1 調(diào)試過程情況表</p><p><b> 5 用戶使用說明</b></p><p> 5.1幫助菜單,用戶可通過閱讀幫助文檔來獲得幫助。</p><p><b> 參考文獻(xiàn)</b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--車庫(kù)管理系統(tǒng)
- 職工管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告——圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-家電庫(kù)存管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-家電庫(kù)存管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告--商品貨架管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---學(xué)生學(xué)籍管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-家電庫(kù)存管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論