C++課程設計 學生選修課選課管理系統(tǒng)

上傳人:仙*** 文檔編號:29213658 上傳時間:2021-10-02 格式:DOC 頁數(shù):13 大?。?89.50KB
收藏 版權(quán)申訴 舉報 下載
C++課程設計 學生選修課選課管理系統(tǒng)_第1頁
第1頁 / 共13頁
C++課程設計 學生選修課選課管理系統(tǒng)_第2頁
第2頁 / 共13頁
C++課程設計 學生選修課選課管理系統(tǒng)_第3頁
第3頁 / 共13頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C++課程設計 學生選修課選課管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《C++課程設計 學生選修課選課管理系統(tǒng)(13頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 程序設計基礎(chǔ)課程設計報告程序設計基礎(chǔ)課程設計報告學生選修課管理系統(tǒng)學生選修課管理系統(tǒng)專專 業(yè):業(yè): 電子信息工程電子信息工程 班班 級:級: 20072007 級級 1 1 班班 學學 號:號: 20070820242007082024 姓姓 名:名: 孫孫 曉曉 東東 指導教師:指導教師: 常常 耀耀 輝輝 二二 OOOO 八八 年年 六月三十日六月三十日- 1 -目目 錄錄一、一、 編程目的:1二、二、 設計要求:1三、三、 函數(shù)主體說明:.1四、四、 運行結(jié)果.9五、五、 流程圖:.10六、六、 總結(jié):10參考數(shù)目:11一、一、編程目的:編程目的: 建立一學生選修課選課管理系統(tǒng),并對它

2、進行輸入、輸出、查詢、選課等操作。二、二、設計要求設計要求:1.系統(tǒng)以菜單方式工作2.課程信息錄入功能(課程信息用文件保存)輸入3.課程信息瀏覽功能輸出4.查詢功能:(至少一種查詢方式)算法5.按學分查詢- 2 -6.按課程性質(zhì)查詢7.學生選修課程(可選項)三、三、函數(shù)主體說明函數(shù)主體說明:#include#include#include#includeusing namespace std;class Coursepublic: void input()coutnumber; coutcourse_name; coutcourse_kind; couttotal_time; coutlear

3、n_time; couttime; coutcredit_hour; coutcourse_time; void input_1(ifstream &ji) / 輸入別名引用輸入別名引用jicourse_namecourse_kind total_timelearn_timetimecredit_hourcourse_time; void display()coutnumbersetw(12)course_namesetw(5)course_kindsetw(10)total_timesetw(10)learn_timesetw(10)timesetw(13)credit_hoursetw(1

4、2)course_timeendl;void display(ofstream &jb) / 輸出別名引用輸出別名引用jbnumbersetw(10)course_namesetw(5)course_kindsetw(5) total_timesetw(5)learn_timesetw(5)timesetw(5)credit_hoursetw(10)course_timeendl; friend class Class_array;- 3 -private:int num; / 學號學號int number; / 編號編號char course_name40; / 課程名稱課程名稱char c

5、ourse_kind10; / 課程性質(zhì)課程性質(zhì)int total_time; / 總學時總學時int learn_time; / 授課學時授課學時int time; / 實驗或上機學時實驗或上機學時int credit_hour; / 學分學分char course_time40; / 開課學期開課學期;class Studentpublic: void input()coutnum;coutname; void input_1(ifstream &ji)jinumname; void display()cout學號學號:numsetw(14)姓名姓名:nameendl; void disp

6、lay_1(ofstream &jb)jbnum name(pb+i)-num; if(pb+i)-num=-1) break; else ji(pb+i)-name;L+; ji.close(); Class_array(int a) / 建立學生課程建立學生課程 Course 數(shù)組數(shù)組 int i;L=0;ji.open(course.txt,ios:in);p=new Course30;for(i=0;i+) ji(p+i)-number;if(p+i)-number=-1) break;else (p+i)-input_1(ji); L+; ji.close(); Class_arra

7、y(int a,int b) / 建立學生已選課的建立學生已選課的 Course1 數(shù)組數(shù)組 int i;L=0;ji.open(course1.txt,ios:in);p=new Course20;for(i=0;i+)ji(p+i)-num;if(p+i)-num=-1) break;else ji(p+i)-number;(p+i)-input_1(ji);L+;- 5 -ji.close(); void display() / 輸出輸出 Student 數(shù)組數(shù)組 int i;for(i=0;idisplay(); void display_1() / 輸出輸出 Course 數(shù)組數(shù)組

8、int i; cout編號編號 課程名稱課程名稱 課程性質(zhì)課程性質(zhì) 總學時總學時 授課學時授課學時 實驗或上機學實驗或上機學時時 學分學分 開課學期開課學期endl; for(i=0;idisplay(); void input() / course 課程信息錄入功能課程信息錄入功能,b 調(diào)用調(diào)用 (p+L)-input(); / 在數(shù)組最后增加數(shù)據(jù)在數(shù)組最后增加數(shù)據(jù) L+; void find_credit_hour() / 按學分查詢按學分查詢 int k,i;coutk;for(i=0;icredit_hour=k)(p+i)-display(); void find_course_ki

9、nd() / 按課程性質(zhì)查詢按課程性質(zhì)查詢 char a20;int i;couta; for(i=0;icourse_kind,a)=0) (p+i)-display(); void find(Class_array &c) / 按學生選修課程查詢按學生選修課程查詢 int k,i;- 6 -Course *b=c.p;coutk;for(i=0;inum=k)(pb+i)-display(); cout編號編號 課程名稱課程名稱 課程性質(zhì)課程性質(zhì) 總學時總學時 授課學時授課學時 實驗或上機學時實驗或上機學時 學分學分 開課學期開課學期endl; for(i=0;inum=k) (b+i)-

10、display(); Course find_number() / 按課程編碼查詢按課程編碼查詢,b 調(diào)用調(diào)用 int k,i;coutk;for(i=0;inumber=k) break; return *(p+i); int total_credit(int i) / 計算某學生的總學分計算某學生的總學分,c 調(diào)用調(diào)用 int k,j=0;for(k=0;kL;k+) if(pk.num=i) j=j+pk.credit_hour;return j; void choose(Class_array &b) / 選課程序選課程序,c 調(diào)用調(diào)用 int i,k; Course p1; cout

11、i; b.display_1(); for(;) p1=b.find_number(); / 選課選課p1.num=i; / 將學號填到數(shù)據(jù)中將學號填到數(shù)據(jù)中pL=p1; / 將節(jié)點填到將節(jié)點填到 c 鏈表中鏈表中L+; k=total_credit(i); / 計算學號為計算學號為 i 的總學分的總學分- 7 - if(k=8) cout請繼續(xù)選課請繼續(xù)選課;else cout你的學分已超過你的學分已超過 8 分分!endl; break; void save() / student.txt保存文件函數(shù)保存文件函數(shù) int i,k=-1;jb.open(student.txt,ios:out

12、);if(!jb) cout錯誤錯誤endl;exit(1); for(i=0;idisplay_1(jb); jbk; jb.close(); void save_1() / course.txt保存文件函數(shù)保存文件函數(shù) int i,k=-1;jb.open(course.txt,ios:out);if(!jb) cout錯誤錯誤endl;exit(1); for(i=0;idisplay(jb); jbk; jb.close(); void save_2() / course1.txt保存函數(shù)保存函數(shù) int i,k=-1;jb.open(course1.txt,ios:out);if(!

13、jb) cout錯誤錯誤endl;exit(1); for(i=0;iL;i+)- 8 - jbnumdisplay(jb); jbk; jb.close(); private: Course *p; / Course 數(shù)組地址數(shù)組地址 Student *pb; / Student 數(shù)組地址數(shù)組地址 ifstream ji; / 輸入流輸入流 ofstream jb; / 輸出流輸出流 int L; / 長度長度;int main() Class_array a,b(1),c(1,2); int i,j;cout-學生選修課課程系統(tǒng)設計學生選修課課程系統(tǒng)設計-endl;for(;)cout1

14、新課程信息輸入新課程信息輸入 2 課程信息瀏覽課程信息瀏覽 3 查詢功能查詢功能 4 選課選課 5 結(jié)束結(jié)束endl;couti;if(i=1)cout-新課程信息輸入新課程信息輸入-endl;b.input();else if(i=2)cout-課程信息瀏覽課程信息瀏覽-endl; b.display_1();else if(i=3)cout-查詢功能查詢功能-endl;cout1 學分查詢學分查詢 2 課程性質(zhì)查詢課程性質(zhì)查詢 3 學生選修課程學生選修課程endl;coutj;if(j=1) cout-學分查詢學分查詢-endl;b.find_credit_hour();else if(j

15、=2) cout-課程性質(zhì)查詢課程性質(zhì)查詢-endl;b.find_course_kind();else if(j=3) - 9 -cout-學生選修課程學生選修課程-endl;a.find(c);else if(i=4)c.choose(b);else if(i=5)break;else cout無效輸入無效輸入endl; a.save(); b.save_1(); c.save_2();return 0;四、四、運行結(jié)果運行結(jié)果- 10 - 五、五、流程圖:流程圖:- 11 -開始選擇功能課程信息瀏覽選課查詢功能課程錄入結(jié)束輸入課程信息瀏覽以選課程信息瀏覽進行選課123455555六、六、

16、總結(jié)總結(jié): 剛開始選題的時候就覺得這題有點難度,覺得不怎么好入手。首先是以菜單方式展開,就覺得怎么這么難。做的時候,就覺得更難了。其次是把一些以前分開再的小題目合起來,就覺得又難了許多。從未編過這樣的程序,就覺得僅這個就挺嚇人的。其中,有些函數(shù)就沒應用過,比如那輸入/輸出引用函數(shù),見都沒見過,幸好有師兄們的幫忙,才能把程序弄完,這也覺得自己什么也沒學懂,也是我覺得自己與別人的差距,通過這次的設計我也覺得自己又有一點新的收獲,也了解了為什么學這門課程了,對其有了新認識。在做程序設計前還必須把書本上的基本知識搞懂,程序設- 12 -計會用到書中的類做,對類的理解也不是很到位,一些概念的知識還沒有很好的理解,所以還需要借助書中的知識來加深對類的理解。 通過對其的編程,也理解了類這個新名詞在程序中的重要性。也知道了C 與 C+的重大區(qū)別,C+更使編程人員有了一個好的工具進行編程??傊舜蔚某绦蛟O計是我們對系統(tǒng)(程序)設計的技巧、系統(tǒng)分析和類等許多知識的綜合應用,大大提高思維了能力,為畢業(yè)設計和以后的工作打下了一個良好的基礎(chǔ)。工程完成時間:2008-6-28 孫曉東 電信 07參考數(shù)目參考數(shù)目 【1】譚浩強, C+程序設計 ,清華大學出版社,2006 年。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!