




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)計(jì)學(xué)院課 程 設(shè) 計(jì) 報(bào) 告 書所屬課程名稱 C語(yǔ)言程序設(shè)計(jì) _題 目 _專業(yè)班級(jí) _學(xué)號(hào) _學(xué)生姓名 _指導(dǎo)教師 _ 2013 年 05月 24日 新余學(xué)院課程設(shè)計(jì)(論文)任務(wù)書二級(jí)學(xué)院: 學(xué) 號(hào)學(xué)生姓名方錦專業(yè)(班級(jí))12級(jí)軟件班設(shè)計(jì)題目學(xué)生選修課程系統(tǒng)設(shè)計(jì)設(shè)計(jì)技術(shù)參數(shù)設(shè)計(jì)要求假定有n門課程,每門課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)時(shí)不得少于270學(xué)時(shí)或者學(xué)分不少于40)自由選課。試設(shè)計(jì)一選修課程系統(tǒng),使之能提供以下功能: 1、課程信息錄入功能(課程信息用文件保存)2、課程信息瀏覽功能3、查詢功能:(至少一種查詢
2、方式)3、按學(xué)分查詢4、按課程性質(zhì)查詢5、學(xué)生選修課程工作量 各功能模塊的源代碼一份 課程設(shè)計(jì)說明書一份工作計(jì)劃5月20日:熟讀項(xiàng)目設(shè)計(jì)要求,進(jìn)行需求分析,畫出系統(tǒng)模塊圖,程序流程圖。5月21日:對(duì)各個(gè)模塊進(jìn)行詳細(xì)設(shè)計(jì),編寫代碼。5月22日:整合各個(gè)模塊,進(jìn)行代碼調(diào)試、功能測(cè)試。5月23日:整理資料,撰寫課程設(shè)計(jì)說明書。5月24日:向指導(dǎo)老師作總結(jié)報(bào)告,指導(dǎo)教師測(cè)評(píng)系統(tǒng)優(yōu)劣。參考資料C語(yǔ)言程序設(shè)計(jì) 劉克成 編鄭莉著 C+ 語(yǔ)言程序設(shè)計(jì)(含實(shí)驗(yàn)指導(dǎo)書)。 清華大學(xué)出版社 ( 結(jié)構(gòu)化程序設(shè)計(jì)部分 ) 指導(dǎo)教師簽字教研室主任簽字說明:此表一式叁份,學(xué)生、指導(dǎo)教師、二級(jí)學(xué)院各一份。年 月 日 項(xiàng)目設(shè)計(jì)
3、功能、模塊圖、程序流程圖 1.系統(tǒng)需求分析(1)、本系統(tǒng)是針對(duì)高校學(xué)生的選修課程而設(shè)計(jì),通過本系統(tǒng)高校學(xué)生可以很方便地進(jìn)行自由選課。主要的問題描述是(功能要求):n門課程,每門課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。(2)、主要要求實(shí)現(xiàn)的功能如下: 課程信息錄入功能:能根據(jù)提示將各課程的相關(guān)信息進(jìn)行輸入并保存; 課程信息瀏覽功能:能將已經(jīng)錄入并保存的信息進(jìn)行瀏覽;查詢功能:可根據(jù)不同的查詢方式查詢相應(yīng)的課程信息。其中查詢方式有按學(xué)分查詢和按課程性質(zhì)查詢兩種;系統(tǒng)流程圖如下: 輸入與功能對(duì)應(yīng)的的數(shù)字
4、判斷有否開始執(zhí)行相應(yīng)功能結(jié)束是否(3)、輸入輸出要求: 系統(tǒng)以菜單方式工作。用戶根據(jù)每一個(gè)功能模塊輸入相應(yīng)內(nèi)容,然后進(jìn)行相應(yīng)的操作。如需進(jìn)行其他操作,可返回主菜單。輸出的內(nèi)容要有一個(gè)良好的界面,使用戶看清楚明白。 2.總體設(shè)計(jì) (1)、系統(tǒng)功能分析本系統(tǒng)主要由一個(gè)Class類及其五個(gè)成員函數(shù)組成。課題所要求的功能由各個(gè)函數(shù)分別得以實(shí)現(xiàn)。首先,在Class類內(nèi)定義了一些成員變量,用來保存課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,還對(duì)它的成員變量進(jìn)行了聲明,如:然后,在類外,通過作用域運(yùn)算符將類內(nèi)聲明的成員函數(shù)定義,以及進(jìn)行相應(yīng)的操作,以實(shí)現(xiàn)相應(yīng)的功能。
5、主要包括功能要求中的五大功能,即信息輸入、信息瀏覽、按學(xué)分查詢課程、按課程性質(zhì)查詢課程等。最后,在主函數(shù)中設(shè)置目錄顯示。用switch瓜分不同的功能選項(xiàng)。系統(tǒng)根據(jù)用戶輸入的符號(hào),調(diào)用相應(yīng)的成員函數(shù),完成功能的實(shí)現(xiàn)。 (2)、各個(gè)模塊之間的關(guān)系如下圖:學(xué)生選修課程系統(tǒng)設(shè)計(jì)Course類Main函數(shù)Input()Output() SearchByscore()SearchByKind() 3.詳細(xì)設(shè)計(jì)(1) 數(shù)據(jù)庫(kù)需求分析該程序主要包含一個(gè)Class類和一個(gè)main()函數(shù)。其中Class類中有Input(),OutPut(),Search(),SearchByscore(float),Searc
6、hByKind(string)函數(shù)來實(shí)現(xiàn)各功能。像在Input()信息輸入函數(shù)中,ofstream outfile 創(chuàng)建一個(gè)文件輸出流對(duì)象語(yǔ)句就要用到系統(tǒng)庫(kù)函數(shù)fstream,而conio.h則是 Console (鍵盤和屏幕) 輸出輸入函數(shù)的頭文件,con - Console,io - input,output。程序中各功能函數(shù)如SearchBy (float)按分?jǐn)?shù)查詢和 SearchByKind(string)按性質(zhì)查詢,顯然是兩個(gè)獨(dú)立的函數(shù),但其實(shí)現(xiàn)過程很像似。 (2) 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)(ER圖)課程授課學(xué)時(shí)時(shí)編號(hào)名稱上級(jí)學(xué)時(shí)性質(zhì)學(xué)分時(shí) 時(shí)總學(xué)分開課學(xué)期輸入入輸出顯示查找(3) 數(shù)據(jù)
7、庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì);(4) 類層次圖課程課程編號(hào)課程名字課程性質(zhì)總學(xué)時(shí)授課學(xué)時(shí)實(shí)驗(yàn)或上機(jī)學(xué)時(shí) 學(xué)分開課學(xué)期課程信息錄入功能課程信息瀏覽功能查詢功能按學(xué)分查詢按課程性質(zhì)查詢學(xué)生選修課程程序源代碼主函數(shù):int main()Course Excourse;while(1)cout *n;cout * 學(xué)生選課系統(tǒng) *n;cout * 請(qǐng)選擇操作 *n;cout * (1).錄入課程信息 *n;cout * (2).瀏覽課程信息 *n;cout * (3).查詢課程信息 *n;cout * (0).退出系統(tǒng) *n;cout *;cout i;switch(i)case 1:Excourse.Course
8、InfoInput();break;case 2:Excourse.CourseInfoOutPut();break;case 3:Excourse.Search();break;case 0:exit(0);return 1; 菜單函數(shù):class Courseprivate:int courseNumber;string courseName;string courseKind;int coursePeriod;int schoolPeriod;int experimentPeriod;float credithour;string courseterm;public:void Cours
9、eInfoInput(); /信息輸入void CourseInfoOutPut(); /信息輸出void Search(); /查找信息void SearchByCredithour(float); /按照學(xué)分查找void SearchByCourseKind(string); /按照課程;類型查找;源程序如下:#include#include#include#include#includeusing namespace std;class Courseprivate:int courseNumber;string courseName;string courseKind;int cours
10、ePeriod;int schoolPeriod;int experimentPeriod;float credithour;string courseterm;public:void CourseInfoInput(); /信息輸入void CourseInfoOutPut(); /信息輸出void Search(); /查找信息void SearchByCredithour(float); /按照學(xué)分查找void SearchByCourseKind(string); /按照課程;類型查找;const char* coursefile=C:course.txt; /將課程信息定位到C盤下的
11、course.txt中!void Course:CourseInfoInput() /課程信息的錄入ofstream outcoursefile; /創(chuàng)建一個(gè)文件輸出流對(duì)象outcoursefile.open(coursefile); /打開文件if(!outcoursefile) /判斷文件是否存在cout 文件打開失??! endl;return ;while(1) /無限循環(huán),給出指定條件退出cout *課程信息*n;cout 按任意鍵開始信息錄入 n;cout 輸入q退出 n;if(getch()=q)break;coutcourseNumber;coutcourseName;coutc
12、ourseKind;coutcoursePeriod;coutschoolPeriod;coutexperimentPeriod;coutcredithour; coutcourseterm;outcoursefilecourseNumber courseName courseKind coursePeriod schoolPeriod experimentPeriod credithour endl;outcoursefile.close(); /關(guān)閉輸出流文件void Course:CourseInfoOutPut() /課程信息的瀏覽ifstream incoursefile; /創(chuàng)建輸
13、入流文件對(duì)象incoursefile.open(coursefile); /打開if(!incoursefile) /判斷文件存在cout 文件讀取失敗;return ;cout 課程編號(hào) | 課程名稱 | 課程性質(zhì) | 總學(xué)時(shí) | 授課學(xué)時(shí) | 實(shí)驗(yàn)上機(jī)學(xué)時(shí) | 學(xué)分|開課學(xué)期n;string arrcourse100100; /定義一個(gè)string類型的二維數(shù)組,用來保存從文本內(nèi)讀取的信息int line=0;memset(arrcourse,0,sizeof(arrcourse); /將數(shù)組清空while(!incoursefile.eof() /文件不為空的條件設(shè)置 for(int j
14、=0;jarrcourselinej;line+; for(int i=0;iline;i+)for(int j=0;j7;j+)cout arrcourseij t;cout endl;incoursefile.close();void Course:SearchByCredithour(float tempch)ifstream incoursefile; /創(chuàng)建輸入流文件對(duì)象incoursefile.open(coursefile); /打開if(!incoursefile) /判斷文件存在cout arrcourseline0arrcourseline1arrcourseline2ar
15、rcourseline3arrcourseline4arrcourseline5arrcourseline6; /文件流讀取數(shù)據(jù)line+;cout 課程編號(hào) | 課程名稱 | 課程性質(zhì) | 總學(xué)時(shí) | 授課學(xué)時(shí) | 實(shí)驗(yàn)上機(jī)學(xué)時(shí) | 學(xué)分|開課學(xué)期n;for(int i=0;iline;i+)if(atof(arrcoursei6.c_str()=tempch) /比較cout arrcoursei0 t arrcoursei1 t arrcoursei2 t arrcoursei3 t arrcoursei4 t arrcoursei5 t arrcoursei6n- endl;cout
16、nn;incoursefile.close();void Course:SearchByCourseKind(string strtemp)/課程類型查詢ifstream incoursefile; /創(chuàng)建輸入流文件對(duì)象incoursefile.open(coursefile); /打開if(!incoursefile) /判斷文件存在cout arrcourseline0arrcourseline1arrcourseline2arrcourseline3arrcourseline4arrcourseline5arrcourseline6;line+;cout 課程編號(hào) | 課程名稱 | 課程
17、性質(zhì) | 總學(xué)時(shí) | 授課學(xué)時(shí) | 實(shí)驗(yàn)上機(jī)學(xué)時(shí) | 學(xué)分|開課學(xué)期n;for(int i=0;iline;i+)if(arrcoursei2=strtemp)cout arrcoursei0 t arrcoursei1 t arrcoursei2t arrcoursei3 t arrcoursei4 t arrcoursei5 tarrcoursei6n- endl;cout nn;void Course:Search()while(1)cout 選擇查詢方式: endl;cout (1).按課程類型查詢 endl;cout (2).按學(xué)分查詢 endl;cout (0).返回i;switc
18、h(i)case 1:cout strtmp;SearchByCourseKind(strtmp);break;case 2:cout ftemp;SearchByCredithour(ftemp);break;if(i=0)break;int main()Course Excourse;while(1)cout *n;cout * 學(xué)生選課系統(tǒng) *n;cout * 請(qǐng)選擇操作 *n;cout * (1).錄入課程信息 *n;cout * (2).瀏覽課程信息 *n;cout * (3).查詢課程信息 *n;cout * (0).退出系統(tǒng) *n;cout *;cout i;switch(i)case 1:Excourse.CourseInfoInput();break;case 2:Excourse.CourseInfoOutPut();break;case 3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度幼兒園幼兒安全協(xié)議書與校園安全管理培訓(xùn)協(xié)議
- 2025年度手房屋買賣合同包括稅費(fèi)承擔(dān)及繳納明細(xì)
- Unit 1 developing ideas reading for writing 教學(xué)設(shè)計(jì)-2024-2025學(xué)年外研版(2024)七年級(jí)英語(yǔ)下冊(cè)
- 《別了“不列顛尼亞”》《縣委書記的榜樣-焦裕祿》聯(lián)讀教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修上冊(cè)
- 2025年汽車空氣過濾器項(xiàng)目合作計(jì)劃書
- 2025年麥角固醇及其衍生物維生素D項(xiàng)目合作計(jì)劃書
- 2025年電子行李秤合作協(xié)議書
- 發(fā)酵法生產(chǎn)維生素及Β-胡蘿卜素項(xiàng)目績(jī)效評(píng)估報(bào)告
- 不同肥料對(duì)水稻土溫室氣體排放的影響
- 創(chuàng)辦企業(yè)的流程圖
- 生物-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測(cè)試題和答案
- 2025年小學(xué)督導(dǎo)工作計(jì)劃
- 2024-2025學(xué)年部編版歷史九年級(jí)上冊(cè)期末復(fù)習(xí)練習(xí)題(含答案)
- 礦山工程安全培訓(xùn)課件
- 基于ChatGPT的ESG評(píng)級(jí)體系實(shí)現(xiàn)機(jī)制研究
- 2024年精對(duì)苯二甲酸市場(chǎng)分析報(bào)告
- 成人手術(shù)后疼痛評(píng)估與護(hù)理團(tuán)體標(biāo)準(zhǔn)
- 2025年中考數(shù)學(xué)二輪專題復(fù)習(xí) 題型四-二次函數(shù)圖象與性質(zhì)綜合題
- 春節(jié)申遺成功的意義
- 上海市黃浦區(qū)2022-2023學(xué)年九年級(jí)上學(xué)期期末化學(xué)試卷(一模)
- 子女放棄繼承房產(chǎn)協(xié)議書
評(píng)論
0/150
提交評(píng)論