數(shù)據(jù)結構課程設計報告-經驗值管理系統(tǒng)_第1頁
已閱讀1頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  計算機科學學院</b></p><p><b>  數(shù)據(jù)結構課程設計</b></p><p>  題 目:課堂經驗值管理系統(tǒng)</p><p><b>  學生姓名: </b></p><p><b>  學 號: </b&

2、gt;</p><p>  專 業(yè):計算機科學與技術</p><p><b>  班 級: </b></p><p>  指導教師姓名及職稱: 講師</p><p>  起止時間: 2014 年 3 月—— 2014年 4 月</p><p><b>  1 需求分析&l

3、t;/b></p><p>  1.1開發(fā)背景及意義</p><p>  對于以往的經驗我們往往覺得中國式的課堂教學模式實在是枯燥無味的。隨著教學的改革和多媒體教學的興起,并以它富有表現(xiàn)能力越來越得到人們的青睞。但是,我們會發(fā)現(xiàn)時間久了學生們也覺得多媒體教學表現(xiàn)出厭倦,因為部分老師只是照著PPT的內容讀給同學們。經過深入分析,我覺得對于同學們的厭倦歸終到底是教師于學生之間缺乏互動。借

4、助于現(xiàn)在網絡游戲的流行,開發(fā)出一種與游戲中獲取經驗者來提升自己等級的課堂經驗值管理系統(tǒng)。以此協(xié)助多媒體教程。</p><p>  它以現(xiàn)代教育思想為指導,運用信息管理理論與信息管理方法,以現(xiàn)代信息技術為核心,融入學生廣泛感興趣的話題,組織和配置教學信息資源,進行信息化教學管理活動,從而高效率地達到既定的教學目標。</p><p>  現(xiàn)代教學理念主張以學生為主體。教師引導學生自主學習,要教

5、給學生發(fā)現(xiàn)問題的方法,提出問題和培養(yǎng)學生解決問題的能力,鼓勵學生的創(chuàng)新意識,鍛煉學生的創(chuàng)造能力。培養(yǎng)學生活躍的思維能力、強烈的求知欲望、強烈的表現(xiàn)欲和好奇心,以及旺盛的青春活力,在教學活動中應該得到很好的發(fā)揮學生在掌握基本知識的基礎上主動學習,進一步拓寬和加深對知識的認識。</p><p><b>  1.2程序要求</b></p><p>  A.建立學生名單(新建

6、或打開現(xiàn)有的名單)</p><p><b>  B.增加學生信息</b></p><p><b>  C.刪除學生信息</b></p><p>  D.為某同學增加指定經驗值</p><p>  E.撤銷操作(防止錯誤操作)</p><p>  F.考勤(語音報讀)</

7、p><p><b>  G.查詢信息</b></p><p>  H.輸出全體學生信息(導出學生信息或打印)</p><p><b>  I.附加功能:</b></p><p>  答題加分機制、隨機抽獎加分機制。</p><p><b>  1.3軟件規(guī)格說明<

8、/b></p><p>  A.導入文件格式: .txt、.csv、.xsl、.xslx、.dat,數(shù)據(jù)元素按行分開,每個元素字段數(shù)據(jù)以逗號分開,包含字段有學號、姓名、經驗值、曠課次數(shù),其中,姓名、學號為不可缺省項,其余的可缺省。</p><p>  B.windows版本應用程序錯誤處理:所有異常處理均有提示,確保程序不會異常退出,如:未輸入班名就確認創(chuàng)建會有提示警告、點名未完成時

9、部分沖突操作禁止運行、學號重復警告、字符串格式錯誤警告等等。</p><p><b>  1.4 設計目標</b></p><p>  課堂經驗值管理系統(tǒng)以學生出勤和課堂表現(xiàn)依據(jù),根據(jù)相應的規(guī)則對學生進行管理,為學生們營造一個歡快的課堂環(huán)境。</p><p>  A. 軟件名稱:課堂經驗值管理系統(tǒng)</p><p>  B

10、. 軟件組成:C#版(windows系統(tǒng)圖形化窗口操作界面應用程序) </p><p>  C. 制作平臺、框架及相關調試工具與運行庫:(winfrom;.NET4.5;Microsoft Visual Studio 2012)</p><p>  D. 運行環(huán)境:winXP/win7/win8</p><p><b>  E. 性能特點:</b&g

11、t;</p><p> ?。?)軟件由一個個可執(zhí)行文件組成,具有如下特點:</p><p>  C#版為windows應用程序,界面友好,使用方便,功能強大,具有較強的體驗感。</p><p> ?。?)多種輸入操作會自動識別輸入類型,做出相應操作,不可操作的數(shù)據(jù)會彈出提示。多種導入操作自動識別道人文件中的數(shù)據(jù)項,錯誤文件會有提示。</p><p

12、> ?。?)windows應用程序 支持鼠標點擊操作與鍵盤快捷鍵操作。</p><p> ?。?)windows應用程序 有完善的操作提示。</p><p><b>  2 概要設計</b></p><p>  2.1設計思路的概述</p><p>  在設計這個軟件之前我先分析的這個軟件需要實現(xiàn)什么樣的功能。列出

13、功能模塊后畫出設計流程圖,再對每個功能深入細分。最后確定功能模塊,命名空間和各種變量和函數(shù)名。</p><p>  首先是確定結構化程序設計的流程圖,利用類庫提供的datatable來構造一個班級列表結構,接著把表操作(建表、初始化、增加節(jié)點、刪除節(jié)點,修改節(jié)點值,查詢,置空,排序)拓展為班級列表的基本操作;然后考慮其數(shù)據(jù)持久性加入保存等保護數(shù)據(jù)的功能;接著為其設計UI界面,按相應的規(guī)律設計綁定數(shù)據(jù)函數(shù);然后添加

14、撤銷功能;最后調試程序并將不足的地方加以修改(包括異常處理、性能優(yōu)化、代碼優(yōu)化、界面效果優(yōu)化)??偠灾?,就是先用自頂向下、逐步細化的設計方法來分析并畫出程序設計流程圖;然后用自下而上、逐步積累的設計方法來寫出程序。</p><p><b>  主程序流程圖:</b></p><p><b>  主程序流程圖</b></p><

15、;p><b>  相關函數(shù):</b></p><p><b>  相關變量:</b></p><p><b>  解決方案:</b></p><p><b>  3 詳細設計</b></p><p>  3.1 學生信息讀取與顯示的實現(xiàn)</p&

16、gt;<p>  創(chuàng)建一個datatable表來存儲學生的信心,然后利用datagridview組件通過與datatable綁定來顯示信息。</p><p>  你也可以在菜單中選擇詳細列表查看更多信息</p><p>  3.2 插入、刪除學生的實現(xiàn)</p><p>  通過dt.Rows.Add()來插入學生信息,dt.Rows.RemoveAt

17、(行號)來刪除該學生在的行號。</p><p>  時間復雜度都為o(1);</p><p>  確定后即可在主窗口的底部看到插入學生的信息。當然,datatable提供排序功能,你可以點擊上面的姓名,學號,經驗值按鈕選擇排序方式,可順序排列,也可逆序排列。</p><p>  3.3 加分、查找學生的實現(xiàn)</p><p>  獲取用戶輸入的

18、學號或姓名,然后遍歷datatable表查找與之符合的信息,若有符合的,則返回所在的行號。若沒有則提示用戶輸入的學號或姓名不存在。對于加分,通過調用一個窗口</p><p>  3.4 新建班級的實現(xiàn)</p><p>  把之前的datable 的實力dt清空即dt.clean();然后調用新建窗口輸入學生信息:</p><p>  然后就可以在主窗口顯示新建班級全

19、部學生的信息了:</p><p>  3.5 語音功能、考勤功能的實現(xiàn)</p><p>  遍歷dt表,逐行獲取列名為“姓名”的值,調用類庫中的speech()函數(shù),創(chuàng)建一個實例,即可實現(xiàn)文本轉語音功能,達到語音考勤的效果。</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 隨機功能的實現(xiàn)</p><p><b>  調用類庫的隨機函數(shù)</b><

21、/p><p>  System.Random rnd = new System.Random();</p><p>  i = rnd.Next(studata.Getdt().Rows.Count);</p><p>  再跳轉到dt的第i行。</p><p>  若用戶選擇抽獎功能,則在第i行的同學加經驗值100,若用戶選擇提問功能,則調用提

22、問窗口:</p><p>  回答正確默認加經驗值100,若回答錯誤不扣經驗值。該功能有語音報讀模塊。</p><p>  3.7 撤銷、重做功能的實現(xiàn)</p><p>  在這里我也是創(chuàng)建一個datatable表來保存最近的操作,通過添加一行保存當前操作和獲取最后一行并刪除來恢復上一步的操作。</p><p>  public static

23、 DataTable undodt; //創(chuàng)建一個表單,保存最近操作,以便撤銷操作</p><p>  public static DataTable deleteStuInfo; //保存被刪除的學生的信息</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("以全部恢復原始文件!", "提示");</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 其他功能的實現(xiàn)</p><p>  用戶可自定義經驗值基值,加分基值,設置主窗體中顯示的字體大小,顏<

33、/p><p><b>  4 調試分析</b></p><p>  表1 調試過程情況表</p><p><b>  5 用戶使用說明</b></p><p>  5.1幫助菜單,用戶可通過閱讀幫助文檔來獲得幫助。</p><p><b>  參考文獻</b>

溫馨提示

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

評論

0/150

提交評論