c++畢業(yè)課程設計--學生選修課程系統(tǒng)設計_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  信息科學與技術學院</b></p><p>  程序設計基礎課程設計報告</p><p>  題目名稱: 學生選修課程系統(tǒng)設計 </p><p>  學生姓名: </p><p>  學 號: </p>

2、<p>  專業(yè)班級: </p><p>  指導教師: </p><p>  2012年 7月 10 日</p><p><b>  目 錄</b></p><p>  1 課程設計題目與要求3</p><p&g

3、t;<b>  1.1設計題目3</b></p><p><b>  1.2設計要求3</b></p><p>  1.2.1問題描述3</p><p>  1.2.2 問題解決方案:3</p><p>  1.2.3 其他要求:4</p><p><b>

4、;  2 總體設計6</b></p><p>  2.1 課程信息錄入功能6</p><p>  2.2 課程信息瀏覽功能6</p><p><b>  2.3查詢功能7</b></p><p>  2.3.1按學分查詢功能7</p><p>  2.3.2按課程性質查詢功能

5、7</p><p><b>  3 詳細設計9</b></p><p><b>  3.1類設計9</b></p><p>  3.2主模塊設計10</p><p>  3.2.1 主函數(shù)10</p><p>  如果輸入4,就會執(zhí)行4的功能,因此調用exit函數(shù),

6、退出系統(tǒng) 。 3.2.2 錄入課程信息的函數(shù)CourseInput11</p><p>  3.2.3 查詢函數(shù)Search12</p><p>  3.2.4 課程信息的瀏覽CourseOutPut13</p><p>  3.2.5 按學分查詢Searchxuefen14</p><p>  3.2.6 按課程性質查詢Se

7、archkechen15</p><p><b>  4 運行結果16</b></p><p>  4.1 主界面16</p><p>  4.2錄入課程信息界面16</p><p>  4.3瀏覽課程信息界面17</p><p>  4.4查詢課程信息界面18</p>

8、<p>  4.4.1 查詢課程信息的按課程性質查詢界面18</p><p>  4.4.2查詢課程信息的按學分查詢界面19</p><p>  4.4.3查詢課程信息的返回界面19</p><p>  4.5 .退出系統(tǒng)界面19</p><p>  5 課程設計總結22</p><p><b

9、>  6參考文獻22</b></p><p>  1 課程設計題目與要求</p><p><b>  1.1設計題目</b></p><p>  我選的程序設計題目是學生選修課程系統(tǒng)設計。</p><p><b>  1.2設計要求</b></p><p>

10、;<b>  1.2.1問題描述</b></p><p>  假定有n門課程,每門課程有課程編號,課程名稱,課程性質,總學時,授課學時,實驗或上機學時,學分,開課學期等信息,學生可按要求(如總學分不得少于60)自由選課。試設計一選修課程系統(tǒng),使之能提供以下功能:</p><p> ?。?)系統(tǒng)以菜單方式工作</p><p> ?。?)課程信息錄

11、入功能(課程信息用文件保存)--輸入</p><p> ?。?)課程信息瀏覽功能--輸出</p><p> ?。?)查詢功能:(至少一種查詢方式)--算法</p><p><b> ?、侔磳W分查詢</b></p><p><b> ?、诎凑n程性質查詢</b></p><p>

12、  (5)學生選修課程(可選項) </p><p>  1.2.2 問題解決方案:</p><p>  根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:</p><p> ?。?)分析系統(tǒng)中的各個實體之間的關系及其屬性和行為;</p><p>  (2)根據(jù)問題描述,設計系統(tǒng)的類層次;</p><p> ?。?)完成類層

13、次中的各個類的描述(包括屬性和行為)</p><p> ?。?)完成類中的各個成員函數(shù)的定義;</p><p> ?。?)完成系統(tǒng)的應用模板;</p><p><b> ?。?)功能調試;</b></p><p> ?。?)完成系統(tǒng)總結報告以及系統(tǒng)使用說明書。</p><p>  1.2.3 其他

14、要求:</p><p> ?。?)只能使用C/C++語言,源代碼要有適當?shù)淖⑨?,使程序容易閱讀</p><p> ?。?)至少采用文本菜單界面</p><p> ?。?)學生可自動增加新功能。</p><p><b>  2 總體設計</b></p><p>  根據(jù)對課程設計的要求分析和需求,本

15、課程設計學生選修課程系統(tǒng)設計有3個功能,有課程信息錄入功能,課程信息瀏覽功能和查詢功能。查詢功能又分為2個按學分查詢功能和按課程性質查詢功能。</p><p><b>  系統(tǒng)框架圖如圖1.</b></p><p><b>  圖1 系統(tǒng)功能表</b></p><p>  2.1 課程信息錄入功能</p>&

16、lt;p>  首先,創(chuàng)建一個文件輸出流對象outfile,打開文件,判斷文件是否存在。通過while設一個無限循環(huán),當給出指定條件時退出。在循環(huán)中,調用cout函數(shù)來提示用戶輸入相應的信息,如課程編號、名稱、課程性質、總學時、授課學時、實驗或上機學時、學分、開課學期等等。</p><p>  2.2 課程信息瀏覽功能</p><p>  該功能的使用者是我們學生,能將已經(jīng)錄入并保存的

17、信息進行瀏覽;并相應的瀏覽我們的想要的信息。通過coursefile函數(shù)將的我們的信息保存下來。并能夠進行相應的顯示。</p><p><b>  2.3查詢功能</b></p><p>  2.3.1按學分查詢功能</p><p>  創(chuàng)建輸入流文件對象infile,然后定義一個string類型的二維數(shù)組,用來保存從文本內讀取的信息,如果用戶

18、輸入的學分與所保存的信息想對應,則將對應的課程信息輸出顯示。</p><p>  2.3.2按課程性質查詢功能</p><p>  創(chuàng)建輸入流文件對象infile,然后定義一個string類型的二維數(shù)組,用來保存從文本內讀取的信息,比較用戶輸入的字符和保存的信息中那些課程的性質相對應,將相應的課程信息進行輸出顯示</p><p><b>  3 詳細設計&

19、lt;/b></p><p><b>  3.1類設計</b></p><p>  class Course</p><p><b>  {public:</b></p><p>  void CourseInput(); //信息輸入</p><p>  voi

20、d CourseOutPut(); //信息輸出</p><p>  void Search(); //查找信息</p><p>  void Searchxuefen(float); //按照學分查找</p><p>  void Searchkecheng(string); //按照課程;類型查找</p><p&g

21、t;<b>  private:</b></p><p>  int courseNumber;</p><p>  string courseName;</p><p>  string courseKind;</p><p>  int coursePeriod;</p><p>  int

22、schoolPeriod;</p><p>  int experimentPeriod;</p><p>  float credithour;</p><p>  string courseterm;</p><p><b>  };</b></p><p>  該類名為Course,類中含有

23、五個成員函數(shù)和八個數(shù)據(jù)成員,成員函數(shù)為公有的,數(shù)據(jù)成員為私有。五個成員函數(shù)分別為void CourseInput()功能:信息輸入,void CourseOutPut():信息輸出,void Search():查找信息,void Searchxuefen(float):按照學分查找,void Searchkecheng(string):按照課程類型查找。八個數(shù)據(jù)成員為int courseNumber:課程編號,string cours

24、eName:名稱,string courseKind:課程性質,int coursePeriod:總學時,int schoolPeriod:授課學時,int experimentPeriod:實驗或上機學時,float credithour:學分,string courseterm:開課學期</p><p><b>  3.2主模塊設計</b></p><p>&l

25、t;b>  3.2.1 主函數(shù)</b></p><p><b>  圖2主函數(shù)流程圖</b></p><p>  判斷輸入的數(shù)字,如果輸入1,就會執(zhí)行1的功能,因此調用CourseInput函數(shù),進入學生選修課程系統(tǒng),錄入課程信息功能。</p><p>  如果輸入2,就會執(zhí)行2的功能,因此調用CourseOutPut函數(shù),進

26、入學生選修課程系統(tǒng),錄入瀏覽課程信息功能。 </p><p>  如果輸入3,就會執(zhí)行3的功能,因此調用Search函數(shù),進入學生選修課程系統(tǒng),錄入查詢課程信息功能。</p><p>  如果輸入4,就會執(zhí)行4的功能,因此調用exit函數(shù),退出系統(tǒng) 。 3.2.2 錄入課程信息的函數(shù)CourseInput</p><p>  圖3錄入課程信息的函數(shù)Course

27、Input流程圖</p><p>  首先判斷打開的文件是否存在,如果不存在,就新建一個TXT文件。輸出打開文件失敗。</p><p>  執(zhí)行相應的功能,再次判斷輸入的字符是否為“q”,如果是“q”,本程序直接結束,如果不是“q”,輸入相應的信息:課程編號,課程名稱,課程性質,總學時,授課學時,實驗或上機學時,學分,開課學期等等。</p><p>  最后關閉文件

28、輸出流。</p><p>  3.2.3 查詢函數(shù)Search</p><p>  圖4查詢函數(shù)Search流程圖</p><p>  該函數(shù)首先判斷輸入的數(shù)字,如果輸入的是“1”調用Searchkecheng函數(shù),執(zhí)行按課程性質查詢功能</p><p>  如果輸入的是“1”調用Searchkecheng函數(shù),執(zhí)行按課程性質查詢功能。<

29、;/p><p>  如果輸入的是“2”調用Searchxuefen函數(shù),執(zhí)行按學分查詢功能。</p><p>  如果輸入的是“3”,執(zhí)行直接結果功能。</p><p>  3.2.4 課程信息的瀏覽CourseOutPut</p><p>  圖5課程信息的瀏覽CourseOutPut流程圖</p><p>  首先打開

30、一個文件,判斷文件是否存在,如果不存在,就新建一個文件。</p><p>  如果存在,本程序用for循環(huán)進行排序,按照:課程編號 | 課程名稱 | 課程性質 | 總學時 | 授課學時 | 實驗上機學時 | 學分|開課學期 這樣的格式輸出,再用for循環(huán)進行輸出。最后關閉輸入流。</p><p>  3.2.5 按學分查詢Searchxuefen</p><p>

31、;  圖6按學分查詢Searchxuefen 流程圖</p><p>  首先打開一個文件,判斷文件是否存在,如果不存在,就新建一個文件。</p><p>  如果存在,本程序用for循環(huán)進行讀入程序所有的課程信息,在用for循環(huán)對輸入的學分和程序的課程信息的學分相比較,如果相同,就把相應的一行輸出,按照:課程編號 | 課程名稱 | 課程性質 | 總學時 | 授課學時 | 實驗上機學時 |

32、 學分|開課學期 。最后關閉輸入流。</p><p>  3.2.6 按課程性質查詢Searchkechen</p><p>  圖7按課程性質查詢Searchkechen</p><p>  首先打開一個文件,判斷文件是否存在,如果不存在,就新建一個文件。</p><p>  如果存在,本程序用for循環(huán)進行讀入程序所有的課程信息,在用f

33、or循環(huán)對輸入的課程性質和程序的課程信息的課程性質相比較,如果相同,就把相應的一行輸出,按照:課程編號 | 課程名稱 | 課程性質 | 總學時 | 授課學時 | 實驗上機學時 | 學分|開課學期 。最后關閉輸入流。</p><p><b>  4 運行結果</b></p><p><b>  4.1 主界面</b></p><

34、;p><b>  圖8主界面</b></p><p>  主界面有四個功能:(1).錄入課程信息 (2).瀏覽課程信息 (3).查詢課程信息(4).退出系統(tǒng) 。</p><p>  4.2錄入課程信息界面</p><p>  在主界面輸入“1”,可以進入錄入課程信息界面</p><p>  圖9錄入課程信息界面&l

35、t;/p><p>  錄入課程信息包括:課程編號,課程名稱,課程性質,總學時,授課學時,實驗或上機學時,學分,開課學期</p><p>  輸入完過后,就在輸入“q”就行了可以退出,錄入系統(tǒng)。返回主界面。</p><p>  4.3瀏覽課程信息界面</p><p>  在主界面輸入“2”,可以進入瀏覽課程信息界面</p><p

36、>  圖10瀏覽課程信息界面</p><p>  4.4查詢課程信息界面</p><p>  在主界面輸入“3”,可以進入查詢課程信息界面</p><p>  圖11查詢課程信息界面</p><p>  該功能:(1)按課程性質查詢(2)按學分查詢。(3)返回</p><p>  4.4.1 查詢課程信息的按課程

37、性質查詢界面</p><p>  在查詢課程信息界面輸入“1”和“自然科學類”可以進入按課程性質查詢界面</p><p>  圖12 按課程性質查詢界面</p><p>  4.4.2查詢課程信息的按學分查詢界面</p><p>  在查詢課程信息界面輸入“2”和“2”可以進入按學分查詢界面</p><p>  圖13

38、按學分查詢界面</p><p>  4.4.3查詢課程信息的返回界面</p><p>  在查詢課程信息界面輸入“3”,可以進入返回到主界面。</p><p><b>  圖14 返回界面</b></p><p>  4.5 .退出系統(tǒng)界面</p><p>  在主界面輸入“4”,可以進入退出系統(tǒng)

39、界面</p><p><b>  圖15退出系統(tǒng)界面</b></p><p><b>  5 課程設計總結</b></p><p>  這一段時間C++的課程設計報告終于寫完了。接下來就是我們的期末考試,但對我來說安心好多。</p><p>  這是我第一次做課程設計,這次題目看起來比不是很難,一個

40、類,一些成員變量,幾個成員函數(shù),將它們組合起來就好了??墒窃綄懴氯?,發(fā)現(xiàn)好多的函數(shù)的之間的調用,不斷出錯,我無語了。我的心涼到極點。</p><p>  本課程設計雖然已經(jīng)完成。但我認為這個程序設計還有好多的缺點。例如的我設計的課程信息只能輸入一百以內。最高只能是100。如果要換更大點的數(shù)目。必須把所有函數(shù)的數(shù)組都要換掉。不然我的設計的系統(tǒng)就會死機。</p><p>  我只有這樣的能力了

41、,不過在這樣的這次的課程設計中,我學會一點東西,如何專心的做事情。我更加的了解的C++的設計思想。</p><p><b>  6參考文獻 </b></p><p>  朱戰(zhàn)立等著, C++面向對象程序設計,人民郵電出版社;</p><p>  鄭莉著, C++ 語言程序設計(含實驗指導書)。 清華大學出版社 ( 結構化程序設計部分 ) <

42、;/p><p>  錢能主編 ,C++ 程序設計教程,清華大學出版社, 2000.11 </p><p>  戴鋒編著, Visual C++ 程序設計基礎 , 清華大學出版社 ,2001.4 </p><p>  呂日著, C++ 程序設計教程,清華大學出版社, </p><p>  C++ 大學教程,美國 Harvey M.Deitel 等

溫馨提示

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

評論

0/150

提交評論