學生選課管理系統面向對象程序設計-課程設計_第1頁
學生選課管理系統面向對象程序設計-課程設計_第2頁
學生選課管理系統面向對象程序設計-課程設計_第3頁
學生選課管理系統面向對象程序設計-課程設計_第4頁
學生選課管理系統面向對象程序設計-課程設計_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數學與計算機學院課程設計說明書課 程 名 稱: 面向對象程序設計-課程設計 課 程 代 碼: 8401650 題 目: 學生選課管理系統 年級/專業/班: 2009 級信科 1 班 學 生 姓 名: 何永彬 學 號: 312009070102119 開 始 時 間: 2010 年 05 月 2 23 日完 成 時 間: 2010 年 0606 月 2020 日課程設計成績:學習態度及平時成績(30)技術水平與實際能力(20)創新(5)說明書撰寫質量(45)總 分(100)指導教師簽名: 年 月 日學生選課管理系統目 錄1 1 引引 言言 .1 11.1 問題的提出 .11.2 任務與分析 .1

2、2 2 程序的主要功能程序的主要功能 .1 12.1 添加功能.12.2 刪除功能.22.3 查看功能.22.4 選課功能.22.5 退選功能.22.6 打印功能.23 3 程序運行平臺程序運行平臺 .2 24 4 總體設計總體設計 .2 25 5 程序類的說明程序類的說明 .3 36 6 模塊分析模塊分析 .6 66.1 選課端登錄驗證模塊.66.2 學生選課端選課模塊.66.3 學生選課端退選課程模塊.96.4 學生選課端查看已選課程模塊.106.5 學生選課端打印模塊.116.6 管理員密碼驗證模塊.126.7 管理端增加模塊.136.8 管理端查看模塊.146.9 管理端刪除模塊.14

3、7 7 系統測試系統測試 .1 15 58 8 結論結論 .2626致謝致謝 .2727參考文獻參考文獻 .2727學生選課管理系統 摘摘 要要 隨著計算機的普及,各高校均采用計算機進行學生選課。而對學生選課相關信息的管理由學生選課管理系統實現。經過分析其學生選課端和系統管理端的各項功能,利用面向對象的 C+編程實現了學生選課管理系統。該系統選課端具有學生選課、退選課程、查看已選課程、打印選課信息等功能,而管理端具有對學生、教師、備選課程等信息的管理,主要包括增加,刪除,查看等功能。關鍵詞:關鍵詞:學生選課管理系統 計算機 面向對象 C+-0-學生選課管理系統1 引引 言言 1.1 問題的提出

4、問題的提出我國高校都實行了學分制,其核心就是允許學生自由選課,自主權交給學生。如果選課能夠通過計算機實現,那么就可以節約很多的人力、物力。因此,為學生選課提供一個好的系統不僅方便學校對學生選課的管理,也方便學生自由選課。所以,針對此問題有必要做一個學生選課管理系統軟件。1.2 任務與分析任務與分析 學生選課管理系統實現對學生選課相關信息的管理,能處理學生、教師、課程信息的管理及選課操作。1. 每個學生包括有學號、姓名、總學分等內容;2. 每個教師包括工作證號、姓名、職稱等信息;3. 課程包括課程號、課程名、任課教師、學分等信息;4. 能提供若干門課,由學生進行選擇,打印出學生選課情況。本課題主

5、要的目的是通過面向對象的 C+編程,實現學生選課管理系統對學生選課相關信息的管理,能處理學生、教師、課程信息的管理及選課操作。其中每個學生包括有學號、姓名、已選課程和總學分;每個教師包括工作證號、姓名、職稱等信息;課程包括課程號、課程名、任課教師、學分等信息;最終要實現能通過管理端提供若干門課,供學生進行選擇,退選,并打印出學生選課情況。在功能實現的基礎上,還要設計出良好的界面。2 2 程序的主要功能程序的主要功能2.1 添加功能添加功能這是系統管理端的一個功能,主要是對學生、課程和教師的增加。其中,學生包括學號、姓名;課程包括課程號、課程名、任課教師和學分;教師包括教師證號、教師姓名、職稱。

6、-1-學生選課管理系統2.2 刪除功能刪除功能這是系統管理端的一個功能,主要是對學生、課程、教師分別按學號、課程號、教師證號進行刪除。2.3 查看功能查看功能在系統管理端,可以分別顯示所有學生、課程、教師的信息以供查看。在學生選課端,則可以查看學生的已選課程。2.4 選課功能選課功能這是學生選課端的一個功能,學生通過輸入課程號選課,并在選課同時可以查看課程及任課教師的信息。2.5 退選功能退選功能這是學生選課端的一個功能,學生通過輸入課程號退選課程。2.6 打印功能打印功能這是學生選課端的一個功能,學生可以打印出選課的所有信息,包括學號,姓名,已選課程和已選課程的總學分等信息。3 3 程序運行

7、平臺程序運行平臺VC+6.0。具體操作如下:打開 VC+6.0,新建一個空工程,添加相應的源文件,再編譯,鏈接,執行。4 4 總體設計總體設計-2-學生選課管理系統學生選課管理系統學 生 選 課 端管 理 員 驗 證退出系統系 統 管 理 端 刪除學生返回主菜單增加課程查看所有課程刪除課程增加教師刪除教師查看所有教師選擇課程退選課程查看已選課程打印選課情況返回主菜單查看所有學生增加學生 圖 4.1 系統總體框架圖5 5 程序類的說明程序類的說明subjectsubject 類的聲明類的聲明 class subject / 課程信息類Course *head; /頭指針Course *p; /當

8、前指針public:subject()head=p=NULL; ; void Add(); /增加課程void Delete(); /刪除課程int Search(char nu); /根據課程號查找課程void ReadFile(); /從文件中讀取課程信息 -3-學生選課管理系統 void WriteFile(); /向文件寫入課程信息 void Display(); /在屏幕中輸出全部課程信息 friend XS;friend JS; friend void xuanke(XS P,char nu,char na);JSJS 類的聲明類的聲明 class JS /教師信息類 Teache

9、r *head; /頭指針Teacher *p; /當前指針public:JS()head=p=NULL; void Add(); /增加教師void Delete(); /刪除教師void Search(char na); /通過教師姓名查找任課教師int Search1(char nu); /通過教師號查找教師 void ReadFile(); /從文件中讀取教師信息 void WriteFile(); /向文件寫入教師信息 void Display(); /在屏幕中輸出全部教師信息friend XS;stustu 類的聲明類的聲明 class stu /學生信息類 Student *he

10、ad; /頭指針 Student *p; /當前指針public:stu()head=p=NULL;void Add(); /增加學生-4-學生選課管理系統void Delete(); /刪除學生int Search(char nu,char na); /按學生學號和姓名查找 int Search(char nu); /按學生學號查找void ReadFile(); /將所有學生的信息寫入文件 void WriteFile(); /從文件讀出學生信息 void Display(); /顯示所有學生 friend XS; XSXS 類的聲明類的聲明class XS /學生類char num10;

11、 /學號char name20; /姓名Course *head; /已選課程頭指針 Course *p; /已選課程當前指針float tcredit; /已選課程總學分public:XS()head=p=NULL;tcredit=0;void set(char nu,char na )strcpy(num,nu); strcpy(name,na); void Addcourse(char nu); /學生選課int Search(char nu); /按課程號查找以選課程void Deletecourse(char nu); /退選void Showcourse(); /顯示已選課程flo

12、at get_tcredit(); /獲取已選課程總學分void ReadFilecourse(); /讀取已選課程void WriteFilecourse(); /將已選課程寫入文件 friend void tuixuan(XS P,char nu,char na); -5-學生選課管理系統6 6 模塊分析模塊分析6.16.1 選課端登錄驗證模塊選課端登錄驗證模塊在主菜單選擇 1 時,便進入選課端登錄驗證,該模塊會提示用戶輸入學號(nu10)和姓名(na20) ,當輸入完成后,調用 int stu:Search(nu,na);,當返回值為 0,則輸出提示信息“對不起,學號或姓名輸入錯誤!按任

13、意鍵返回.” ,然后返回主菜單;當返回值為 1,則登錄學生選課系統。關鍵代碼如下:P0: int b1,b2,b0=menu(); stu p1;subject p2;JS p3; XS p; if(b0=1)system(cls);p1.ReadFile();char nu10,na20;coutnu;coutna;if(p1.Search(nu,na)=0)coutnntt 對不起,學號或姓名輸入錯誤!按任意鍵返回.;getchar();getchar();goto P0;elseP1:b1=menu1();6.26.2 學生選課端選課模塊學生選課端選課模塊在學生選課系統中選擇 1,進入選

14、課模塊。此時調用 void xuanke(XS P,char nu,char na);函數,此函數首先調用 subject:ReadFile(); subject:Display();將所有的課程輸出來,并提示“請輸入要選擇的課程號:” ,然后輸入課程號(kh10),此時會提示“是否查看任課教師信息(y/n):” ,輸入 y,將輸出任課教師信息,如果沒有此教師信息,輸出“沒有此任課教師的信息!” ,當輸入 n,則不輸出教師信息。此時調用 XS:Addcourse(kh);選課,再輸出“是否繼續選課(y/n): ”如輸入 y,重復以-6-學生選課管理系統上選課操作,當輸入 n,則調用 XS:Wr

15、iteFilecourse();保存已選課程。關鍵代碼如下:void xuanke(XS P,char nu,char na)/選課功能函數system(cls); JS J;J.ReadFile(); subject sub;sub.ReadFile(); sub.Display();P.set(nu,na);P.ReadFilecourse ();Loop1:coutkh; coutY_N;if(Y_N=Y|Y_N=y)char t20;Course *kc=sub.head; while(kc!=NULL)-7-學生選課管理系統if(strcmp(kc-um,kh)=0) break;k

16、c=kc-next;if(kc!=NULL)strcpy(t,kc-kecheng.cteacher);J.Search(t);elsecout沒有此任課教師的信息!endl;else if(Y_N!=N&Y_N!=n) cout輸入不正確,請重新輸入:;goto Loop3;P.Addcourse(kh);getchar();coutY_N;if(Y_N=Y|Y_N=y)goto Loop1;else if(Y_N=N|Y_N=n)P.WriteFilecourse();else -8-學生選課管理系統cout輸入不正確,請重新輸入:;goto Loop2;getchar();cou

17、t按任意鍵繼續.;getchar(); 6.36.3 學生選課端退選課程模塊學生選課端退選課程模塊在學生選課系統中選擇 2,進入退選課程模塊,由 void tuixuan(XS P,char nu,char na);函數完成。首先調用 XS:ReadFilecourse ();和 XS:Showcourse();輸出已選課程,然后提示“請輸入要退選的課程號:” ,此時可輸入課程號(kh10),在調用 XS:Deletecourse(kh);XS:WriteFilecourse();退選課程并保存。此后會提示“是否繼續退選課程(y/n): ”輸入 y,重復退課操作,輸入 n,則退出此模塊。關鍵代

18、碼如下:void tuixuan(XS P,char nu,char na)/退選課程功能函數system(cls); P.set(nu,na);P.ReadFilecourse ();Loop3:if(P.head !=NULL)system(cls);P.Showcourse();coutkh;P.Deletecourse(kh);-9-學生選課管理系統P.WriteFilecourse();getchar();coutY_N;if(Y_N=Y|Y_N=y)goto Loop3;else if(Y_N!=N&Y_N!=n)cout輸入不正確,請重新輸入:;goto Loop4;el

19、se coutnntt 沒有已選課程,不能退選!endlendl;getchar();cout按任意鍵繼續.;getchar();6.46.4 學生選課端查看已選課程模塊學生選課端查看已選課程模塊在學生選課系統中選擇 3,進入查看已選課程模塊,由函數 void lookyixuan(XS P,char nu,char na);實現。通過調用 XS:ReadFilecourse ();XS:Showcourse();顯示已選課程。關鍵代碼如下:void lookyixuan(XS P,char nu,char na)/查看學生已選課程函數system(cls);-10-學生選課管理系統P.set

20、(nu,na);P.ReadFilecourse ();P.Showcourse();getchar();cout按任意鍵繼續.;getchar();6.56.5 學生選課端打印模塊學生選課端打印模塊在學生選課系統中選擇 4,進入打印模塊,由函數 void dayin(XS P,char nu,char na);實現。先輸出學生的信息,再調用 XS:Showcourse();輸出已選課程,最后調用 P.get_tcredit();輸出總學分。關鍵代碼如下:void dayin(XS P,char nu,char na)/打印學生選課情況函數system(cls);P.set(nu,na);P.

21、ReadFilecourse ();system(cls);cout學號:nut 姓名:naendlendl;cout已選課程:endlendl;P.Showcourse();cout已選課程總學分:P.get_tcredit()endlendl;getchar();getchar();cout按任意鍵繼續.;getchar();-11-學生選課管理系統6.66.6 管理員密碼驗證模塊管理員密碼驗證模塊在主菜單中選擇 2,進入管理員密碼驗證。通過函數 void password();實現。首先提示輸入管理員密碼,再由用戶輸入密碼,正確則進入選課系統管理端,錯誤則提示重新輸入。如果錯誤輸入超過

22、3 次,就強制退出。關鍵代碼如下:void password()/密碼檢查功能函數int k=0,i;char A=000000,B10,a; system(cls);for(i=0;i6;i+)coutendl;printf(ttt 請輸入管理員密碼: );while(k=2)i=0;while(1)a=getch();if(a=13)break;Bi=a;i+;printf(*);Bi=0;if(strcmp(A,B)=0)return;else-12-學生選課管理系統k+;if(k3)cout=3)coutnnttt 輸入錯誤密碼超過三次!請按任意鍵退出.;getch();tuichu(

23、);6.76.7 管理端添加模塊管理端添加模塊 該模塊是對學生,課程,教師的增加操作。由于三者功能相同,故通過函數模板template void ADD(T P);實現。首先詢問增加多少個(學生,課程,教師) ,再輸入個數。然后對每一個對象的詳細信息進行輸入。如果已經存在該信息,則提示不能重復添加。輸入完成后保存到文件中。關鍵代碼如下:template /增加功能函數模板void ADD(T P)system(cls);P.ReadFile();int N,i;coutN;for(i=0;iN;i+)cout第i+1個: endl;P.Add();coutendl;-13-學生選課管理系統P.

24、WriteFile();getchar();cout按任意鍵繼續.;getchar(); 6.86.8 管理端查看模塊管理端查看模塊該模塊是對學生,課程,教師的查看操作。由于三者功能相同,故通過函數模板template void LOOK (T P);實現。調用各自的 Display();函數,將所有信息輸出。關鍵代碼如下:template /查看功能函數模板void LOOK(T P) system(cls);P.ReadFile();P.Display();getchar();cout按任意鍵繼續.;getchar(); 6.96.9 管理端刪除模塊管理端刪除模塊該模塊是對學生,課程,教師

25、的刪除操作。由于三者功能相同,故通過函數模板template void DELETE(T P);實現。首先輸出(學生,課程,教師)所有信息,再調用各自的 Delete();函數將對象刪除。最后將刪除后的信息保存到文件中。關鍵代碼如下:template /刪除功能函數模板void DELETE(T P)system(cls);-14-學生選課管理系統P.ReadFile();P.Display();P.Delete();P.WriteFile();getchar();cout按任意鍵繼續.;getchar();7 系統測試首先進入 VC+6.0,打開工程 “選課管理系統.dsw” ,進入源程序運

26、行。運行程序后出現主菜單界面,如圖 7.1。 圖 7.1 主菜單 輸入“2” ,進入管理員密碼驗證(管理員密碼:“000000” ) 。當輸入錯誤密碼三次,如圖 7.2 所示,輸入正確密碼就進入“選課管理系統”菜單界面,如圖 7.3 所示。-15-學生選課管理系統 圖 7.2 錯誤密碼驗證圖 7.3 選課系統管理端菜單 輸入“1” ,進入增加學生界面。再輸入“4” ,增加 4 個學生。再根據提示輸入學生相關信息,到第 4 個時輸入第 1 個學生的學號,第 4 個學生將不能被添加,如圖7.4。-16-學生選課管理系統 圖 7.4 增加學生 按任意鍵后,回到管理端菜單,輸入“2” ,查看所有學生信

27、息,如圖 7.5 所示。 圖 7.5 查看所有學生按任意鍵后,回到管理端菜單,輸入“3” ,進入刪除學生界面,輸入要刪除的學生學號“10002” ,完成對學生“zhangxiong”的刪除,如圖 7.6。當輸入的學號沒有時,如圖 7.7 所示。再查看學生,確認刪除操作成功,如圖 7.8。 -17-學生選課管理系統圖 7.6 刪除學生圖 7.7 刪除的學生不存在圖 7.8 查看刪除后的所有學生按任意鍵返回選課管理菜單,輸入“4” ,進入增加課程界面。再輸入“4” ,增加4 門課程。再根據提示輸入課程相關信息,到第 4 個時輸入第 1 個課程的課程號,第 4個課程將不能被添加,如圖 7.9 所示。

28、-18-學生選課管理系統 圖 7.9 增加課程按任意鍵返回管理端菜單,輸入“5” ,查看所有課程信息,如圖 7.10 所示。 圖 7.10 查看課程按任意鍵回到管理端菜單,輸入“6” ,進入刪除課程界面,輸入要刪除的課程號“10002” ,此時沒有此課程,如圖 7.11。當輸入的課程號“20002”時,如圖 7.12 所示。再查看課程,確認刪除操作成功,如圖 7.13。-19-學生選課管理系統圖 7.11 刪除的課程不存在圖 7.12 刪除課程圖 7.13 查看刪除后的所有課程按任意鍵返回選課管理菜單,輸入“7” ,進入增加教師界面。再輸入“4” ,增加4 名教師。再根據提示輸入教師相關信息,

29、到第 4 個時輸入第 2 個教師的教師號,第 4個教師將不能被添加,如圖 7.14 所示。-20-學生選課管理系統圖 7.14 增加教師按任意鍵返回管理端菜單,輸入“8” ,查看所有教師信息,如圖 7.15 所示。圖 7.15 查看教師按任意鍵回到管理端菜單,輸入“9” ,進入刪除教師界面,輸入要刪除的教師證號“10000” ,此時沒有此教師,如圖 7.16。當輸入的課程號“30002”時,如圖 7.17所示。再查看教師,確認刪除操作成功,如圖 7.18。-21-學生選課管理系統圖 7.16 刪除的教師不存在圖 7.17 刪除教師圖 7.18 查看刪除后的所有教師按任意鍵回到管理端菜單(可以在

30、此再增加一些課程,教師等,以供選課時有更多的選擇) ,輸入“0” ,返回主菜單,再輸入“1” ,進入學生選課系統登錄界面,輸入的學號和姓名不存在或不匹配,則如圖 7.19;輸入的學號和姓名存在且匹配,則進入選課端菜單,如圖 7.20。 圖 7.19 學生選課系統錯誤登錄-22-學生選課管理系統圖 7.20 學生選課系統菜單在選課系統菜單中輸入“1” ,進入選課。分別輸入“20001” 、 “20002” 、 “20003” 、“123456”測試選課。如圖 7.21。-23-學生選課管理系統圖 7.21 學生選課按任意鍵返回選課系統菜單,輸入“3” ,查看已選課程,如圖 7.22。圖 7.22 查看已選課程按任意鍵返回選課系統菜單,輸入“4” ,打印選課信息,如圖 7.23。圖 7.23 打印選課信息按任意鍵返回選課系統菜單,輸入“2” ,進入退選課程界面。輸入“54321” ,沒有此課程,如圖 7.24,再輸入“y”,然后輸入“20002” ,刪除課程“Chines

溫馨提示

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

評論

0/150

提交評論