版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 信息科學(xué)與技術(shù)學(xué)院</b></p><p> 程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告</p><p> 題目名稱(chēng): 學(xué)生選修課程系統(tǒng)設(shè)計(jì) </p><p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): </p>
2、<p> 專(zhuān)業(yè)班級(jí): </p><p> 指導(dǎo)教師: </p><p> 2012年 7月 10 日</p><p><b> 目 錄</b></p><p> 1 課程設(shè)計(jì)題目與要求3</p><p&g
3、t;<b> 1.1設(shè)計(jì)題目3</b></p><p><b> 1.2設(shè)計(jì)要求3</b></p><p> 1.2.1問(wèn)題描述3</p><p> 1.2.2 問(wèn)題解決方案:3</p><p> 1.2.3 其他要求:4</p><p><b>
4、; 2 總體設(shè)計(jì)6</b></p><p> 2.1 課程信息錄入功能6</p><p> 2.2 課程信息瀏覽功能6</p><p><b> 2.3查詢功能7</b></p><p> 2.3.1按學(xué)分查詢功能7</p><p> 2.3.2按課程性質(zhì)查詢功能
5、7</p><p><b> 3 詳細(xì)設(shè)計(jì)9</b></p><p><b> 3.1類(lèi)設(shè)計(jì)9</b></p><p> 3.2主模塊設(shè)計(jì)10</p><p> 3.2.1 主函數(shù)10</p><p> 如果輸入4,就會(huì)執(zhí)行4的功能,因此調(diào)用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 按學(xué)分查詢Searchxuefen14</p><p> 3.2.6 按課程性質(zhì)查詢Se
7、archkechen15</p><p><b> 4 運(yùn)行結(jié)果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 查詢課程信息的按課程性質(zhì)查詢界面18</p><p> 4.4.2查詢課程信息的按學(xué)分查詢界面19</p><p> 4.4.3查詢課程信息的返回界面19</p><p> 4.5 .退出系統(tǒng)界面19</p><p> 5 課程設(shè)計(jì)總結(jié)22</p><p><b
9、> 6參考文獻(xiàn)22</b></p><p> 1 課程設(shè)計(jì)題目與要求</p><p><b> 1.1設(shè)計(jì)題目</b></p><p> 我選的程序設(shè)計(jì)題目是學(xué)生選修課程系統(tǒng)設(shè)計(jì)。</p><p><b> 1.2設(shè)計(jì)要求</b></p><p>
10、;<b> 1.2.1問(wèn)題描述</b></p><p> 假定有n門(mén)課程,每門(mén)課程有課程編號(hào),課程名稱(chēng),課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。試設(shè)計(jì)一選修課程系統(tǒng),使之能提供以下功能:</p><p> ?。?)系統(tǒng)以菜單方式工作</p><p> (2)課程信息錄
11、入功能(課程信息用文件保存)--輸入</p><p> (3)課程信息瀏覽功能--輸出</p><p> ?。?)查詢功能:(至少一種查詢方式)--算法</p><p><b> ①按學(xué)分查詢</b></p><p><b> ?、诎凑n程性質(zhì)查詢</b></p><p>
12、 (5)學(xué)生選修課程(可選項(xiàng)) </p><p> 1.2.2 問(wèn)題解決方案:</p><p> 根據(jù)系統(tǒng)功能要求,可以將問(wèn)題解決分為以下步驟:</p><p> ?。?)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為;</p><p> (2)根據(jù)問(wèn)題描述,設(shè)計(jì)系統(tǒng)的類(lèi)層次;</p><p> ?。?)完成類(lèi)層
13、次中的各個(gè)類(lèi)的描述(包括屬性和行為)</p><p> ?。?)完成類(lèi)中的各個(gè)成員函數(shù)的定義;</p><p> (5)完成系統(tǒng)的應(yīng)用模板;</p><p><b> (6)功能調(diào)試;</b></p><p> (7)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說(shuō)明書(shū)。</p><p> 1.2.3 其他
14、要求:</p><p> ?。?)只能使用C/C++語(yǔ)言,源代碼要有適當(dāng)?shù)淖⑨專(zhuān)钩绦蛉菀组喿x</p><p> (2)至少采用文本菜單界面</p><p> ?。?)學(xué)生可自動(dòng)增加新功能。</p><p><b> 2 總體設(shè)計(jì)</b></p><p> 根據(jù)對(duì)課程設(shè)計(jì)的要求分析和需求,本
15、課程設(shè)計(jì)學(xué)生選修課程系統(tǒng)設(shè)計(jì)有3個(gè)功能,有課程信息錄入功能,課程信息瀏覽功能和查詢功能。查詢功能又分為2個(gè)按學(xué)分查詢功能和按課程性質(zhì)查詢功能。</p><p><b> 系統(tǒng)框架圖如圖1.</b></p><p><b> 圖1 系統(tǒng)功能表</b></p><p> 2.1 課程信息錄入功能</p>&
16、lt;p> 首先,創(chuàng)建一個(gè)文件輸出流對(duì)象outfile,打開(kāi)文件,判斷文件是否存在。通過(guò)while設(shè)一個(gè)無(wú)限循環(huán),當(dāng)給出指定條件時(shí)退出。在循環(huán)中,調(diào)用cout函數(shù)來(lái)提示用戶輸入相應(yīng)的信息,如課程編號(hào)、名稱(chēng)、課程性質(zhì)、總學(xué)時(shí)、授課學(xué)時(shí)、實(shí)驗(yàn)或上機(jī)學(xué)時(shí)、學(xué)分、開(kāi)課學(xué)期等等。</p><p> 2.2 課程信息瀏覽功能</p><p> 該功能的使用者是我們學(xué)生,能將已經(jīng)錄入并保存的
17、信息進(jìn)行瀏覽;并相應(yīng)的瀏覽我們的想要的信息。通過(guò)coursefile函數(shù)將的我們的信息保存下來(lái)。并能夠進(jìn)行相應(yīng)的顯示。</p><p><b> 2.3查詢功能</b></p><p> 2.3.1按學(xué)分查詢功能</p><p> 創(chuàng)建輸入流文件對(duì)象infile,然后定義一個(gè)string類(lèi)型的二維數(shù)組,用來(lái)保存從文本內(nèi)讀取的信息,如果用戶
18、輸入的學(xué)分與所保存的信息想對(duì)應(yīng),則將對(duì)應(yīng)的課程信息輸出顯示。</p><p> 2.3.2按課程性質(zhì)查詢功能</p><p> 創(chuàng)建輸入流文件對(duì)象infile,然后定義一個(gè)string類(lèi)型的二維數(shù)組,用來(lái)保存從文本內(nèi)讀取的信息,比較用戶輸入的字符和保存的信息中那些課程的性質(zhì)相對(duì)應(yīng),將相應(yīng)的課程信息進(jìn)行輸出顯示</p><p><b> 3 詳細(xì)設(shè)計(jì)&
19、lt;/b></p><p><b> 3.1類(lèi)設(shè)計(jì)</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); //按照學(xué)分查找</p><p> void Searchkecheng(string); //按照課程;類(lèi)型查找</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> 該類(lèi)名為Course,類(lèi)中含有
23、五個(gè)成員函數(shù)和八個(gè)數(shù)據(jù)成員,成員函數(shù)為公有的,數(shù)據(jù)成員為私有。五個(gè)成員函數(shù)分別為void CourseInput()功能:信息輸入,void CourseOutPut():信息輸出,void Search():查找信息,void Searchxuefen(float):按照學(xué)分查找,void Searchkecheng(string):按照課程類(lèi)型查找。八個(gè)數(shù)據(jù)成員為int courseNumber:課程編號(hào),string cours
24、eName:名稱(chēng),string courseKind:課程性質(zhì),int coursePeriod:總學(xué)時(shí),int schoolPeriod:授課學(xué)時(shí),int experimentPeriod:實(shí)驗(yàn)或上機(jī)學(xué)時(shí),float credithour:學(xué)分,string courseterm:開(kāi)課學(xué)期</p><p><b> 3.2主模塊設(shè)計(jì)</b></p><p>&l
25、t;b> 3.2.1 主函數(shù)</b></p><p><b> 圖2主函數(shù)流程圖</b></p><p> 判斷輸入的數(shù)字,如果輸入1,就會(huì)執(zhí)行1的功能,因此調(diào)用CourseInput函數(shù),進(jìn)入學(xué)生選修課程系統(tǒng),錄入課程信息功能。</p><p> 如果輸入2,就會(huì)執(zhí)行2的功能,因此調(diào)用CourseOutPut函數(shù),進(jìn)
26、入學(xué)生選修課程系統(tǒng),錄入瀏覽課程信息功能。 </p><p> 如果輸入3,就會(huì)執(zhí)行3的功能,因此調(diào)用Search函數(shù),進(jìn)入學(xué)生選修課程系統(tǒng),錄入查詢課程信息功能。</p><p> 如果輸入4,就會(huì)執(zhí)行4的功能,因此調(diào)用exit函數(shù),退出系統(tǒng) 。 3.2.2 錄入課程信息的函數(shù)CourseInput</p><p> 圖3錄入課程信息的函數(shù)Course
27、Input流程圖</p><p> 首先判斷打開(kāi)的文件是否存在,如果不存在,就新建一個(gè)TXT文件。輸出打開(kāi)文件失敗。</p><p> 執(zhí)行相應(yīng)的功能,再次判斷輸入的字符是否為“q”,如果是“q”,本程序直接結(jié)束,如果不是“q”,輸入相應(yīng)的信息:課程編號(hào),課程名稱(chēng),課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期等等。</p><p> 最后關(guān)閉文件
28、輸出流。</p><p> 3.2.3 查詢函數(shù)Search</p><p> 圖4查詢函數(shù)Search流程圖</p><p> 該函數(shù)首先判斷輸入的數(shù)字,如果輸入的是“1”調(diào)用Searchkecheng函數(shù),執(zhí)行按課程性質(zhì)查詢功能</p><p> 如果輸入的是“1”調(diào)用Searchkecheng函數(shù),執(zhí)行按課程性質(zhì)查詢功能。<
29、;/p><p> 如果輸入的是“2”調(diào)用Searchxuefen函數(shù),執(zhí)行按學(xué)分查詢功能。</p><p> 如果輸入的是“3”,執(zhí)行直接結(jié)果功能。</p><p> 3.2.4 課程信息的瀏覽CourseOutPut</p><p> 圖5課程信息的瀏覽CourseOutPut流程圖</p><p> 首先打開(kāi)
30、一個(gè)文件,判斷文件是否存在,如果不存在,就新建一個(gè)文件。</p><p> 如果存在,本程序用for循環(huán)進(jìn)行排序,按照:課程編號(hào) | 課程名稱(chēng) | 課程性質(zhì) | 總學(xué)時(shí) | 授課學(xué)時(shí) | 實(shí)驗(yàn)上機(jī)學(xué)時(shí) | 學(xué)分|開(kāi)課學(xué)期 這樣的格式輸出,再用for循環(huán)進(jìn)行輸出。最后關(guān)閉輸入流。</p><p> 3.2.5 按學(xué)分查詢Searchxuefen</p><p>
31、; 圖6按學(xué)分查詢Searchxuefen 流程圖</p><p> 首先打開(kāi)一個(gè)文件,判斷文件是否存在,如果不存在,就新建一個(gè)文件。</p><p> 如果存在,本程序用for循環(huán)進(jìn)行讀入程序所有的課程信息,在用for循環(huán)對(duì)輸入的學(xué)分和程序的課程信息的學(xué)分相比較,如果相同,就把相應(yīng)的一行輸出,按照:課程編號(hào) | 課程名稱(chēng) | 課程性質(zhì) | 總學(xué)時(shí) | 授課學(xué)時(shí) | 實(shí)驗(yàn)上機(jī)學(xué)時(shí) |
32、 學(xué)分|開(kāi)課學(xué)期 。最后關(guān)閉輸入流。</p><p> 3.2.6 按課程性質(zhì)查詢Searchkechen</p><p> 圖7按課程性質(zhì)查詢Searchkechen</p><p> 首先打開(kāi)一個(gè)文件,判斷文件是否存在,如果不存在,就新建一個(gè)文件。</p><p> 如果存在,本程序用for循環(huán)進(jìn)行讀入程序所有的課程信息,在用f
33、or循環(huán)對(duì)輸入的課程性質(zhì)和程序的課程信息的課程性質(zhì)相比較,如果相同,就把相應(yīng)的一行輸出,按照:課程編號(hào) | 課程名稱(chēng) | 課程性質(zhì) | 總學(xué)時(shí) | 授課學(xué)時(shí) | 實(shí)驗(yàn)上機(jī)學(xué)時(shí) | 學(xué)分|開(kāi)課學(xué)期 。最后關(guān)閉輸入流。</p><p><b> 4 運(yùn)行結(jié)果</b></p><p><b> 4.1 主界面</b></p><
34、;p><b> 圖8主界面</b></p><p> 主界面有四個(gè)功能:(1).錄入課程信息 (2).瀏覽課程信息 (3).查詢課程信息(4).退出系統(tǒng) 。</p><p> 4.2錄入課程信息界面</p><p> 在主界面輸入“1”,可以進(jìn)入錄入課程信息界面</p><p> 圖9錄入課程信息界面&l
35、t;/p><p> 錄入課程信息包括:課程編號(hào),課程名稱(chēng),課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開(kāi)課學(xué)期</p><p> 輸入完過(guò)后,就在輸入“q”就行了可以退出,錄入系統(tǒng)。返回主界面。</p><p> 4.3瀏覽課程信息界面</p><p> 在主界面輸入“2”,可以進(jìn)入瀏覽課程信息界面</p><p
36、> 圖10瀏覽課程信息界面</p><p> 4.4查詢課程信息界面</p><p> 在主界面輸入“3”,可以進(jìn)入查詢課程信息界面</p><p> 圖11查詢課程信息界面</p><p> 該功能:(1)按課程性質(zhì)查詢(2)按學(xué)分查詢。(3)返回</p><p> 4.4.1 查詢課程信息的按課程
37、性質(zhì)查詢界面</p><p> 在查詢課程信息界面輸入“1”和“自然科學(xué)類(lèi)”可以進(jìn)入按課程性質(zhì)查詢界面</p><p> 圖12 按課程性質(zhì)查詢界面</p><p> 4.4.2查詢課程信息的按學(xué)分查詢界面</p><p> 在查詢課程信息界面輸入“2”和“2”可以進(jìn)入按學(xué)分查詢界面</p><p> 圖13
38、按學(xué)分查詢界面</p><p> 4.4.3查詢課程信息的返回界面</p><p> 在查詢課程信息界面輸入“3”,可以進(jìn)入返回到主界面。</p><p><b> 圖14 返回界面</b></p><p> 4.5 .退出系統(tǒng)界面</p><p> 在主界面輸入“4”,可以進(jìn)入退出系統(tǒng)
39、界面</p><p><b> 圖15退出系統(tǒng)界面</b></p><p><b> 5 課程設(shè)計(jì)總結(jié)</b></p><p> 這一段時(shí)間C++的課程設(shè)計(jì)報(bào)告終于寫(xiě)完了。接下來(lái)就是我們的期末考試,但對(duì)我來(lái)說(shuō)安心好多。</p><p> 這是我第一次做課程設(shè)計(jì),這次題目看起來(lái)比不是很難,一個(gè)
40、類(lèi),一些成員變量,幾個(gè)成員函數(shù),將它們組合起來(lái)就好了。可是越寫(xiě)下去,發(fā)現(xiàn)好多的函數(shù)的之間的調(diào)用,不斷出錯(cuò),我無(wú)語(yǔ)了。我的心涼到極點(diǎn)。</p><p> 本課程設(shè)計(jì)雖然已經(jīng)完成。但我認(rèn)為這個(gè)程序設(shè)計(jì)還有好多的缺點(diǎn)。例如的我設(shè)計(jì)的課程信息只能輸入一百以內(nèi)。最高只能是100。如果要換更大點(diǎn)的數(shù)目。必須把所有函數(shù)的數(shù)組都要換掉。不然我的設(shè)計(jì)的系統(tǒng)就會(huì)死機(jī)。</p><p> 我只有這樣的能力了
41、,不過(guò)在這樣的這次的課程設(shè)計(jì)中,我學(xué)會(huì)一點(diǎn)東西,如何專(zhuān)心的做事情。我更加的了解的C++的設(shè)計(jì)思想。</p><p><b> 6參考文獻(xiàn) </b></p><p> 朱戰(zhàn)立等著, C++面向?qū)ο蟪绦蛟O(shè)計(jì),人民郵電出版社;</p><p> 鄭莉著, C++ 語(yǔ)言程序設(shè)計(jì)(含實(shí)驗(yàn)指導(dǎo)書(shū))。 清華大學(xué)出版社 ( 結(jié)構(gòu)化程序設(shè)計(jì)部分 ) <
42、;/p><p> 錢(qián)能主編 ,C++ 程序設(shè)計(jì)教程,清華大學(xué)出版社, 2000.11 </p><p> 戴鋒編著, Visual C++ 程序設(shè)計(jì)基礎(chǔ) , 清華大學(xué)出版社 ,2001.4 </p><p> 呂日著, C++ 程序設(shè)計(jì)教程,清華大學(xué)出版社, </p><p> C++ 大學(xué)教程,美國(guó) Harvey M.Deitel 等
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)報(bào)告--學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)學(xué)生選修課選課系統(tǒng)
- 設(shè)計(jì)學(xué)生選修課程系統(tǒng)課程設(shè)計(jì)--設(shè)計(jì)學(xué)生選修課程系統(tǒng)
- c語(yǔ)言學(xué)生選修課程系統(tǒng)設(shè)計(jì)--學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生選修課系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)學(xué)生選修課系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生選修課系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生選修課系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)---學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)-----學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生選修課程系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)_學(xué)生選修課系統(tǒng)設(shè)計(jì)(1)
- 課程設(shè)計(jì)報(bào)告---學(xué)生選修課程系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--學(xué)生選修課程管理系統(tǒng)
- c++選修課管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 課程設(shè)計(jì)---學(xué)生選修課管理系統(tǒng)
- c++選修課管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 課程設(shè)計(jì)報(bào)告---學(xué)生選修課系統(tǒng)設(shè)計(jì)
- 學(xué)生選修課程系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論