《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告--精選文檔_第1頁(yè)
《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告--精選文檔_第2頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C+程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目: 學(xué)生學(xué)籍管理系統(tǒng) 學(xué) 院:計(jì)算機(jī)科學(xué)與工程學(xué)院 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名: 學(xué) 號(hào): 指導(dǎo)教師: 2012年 06 月 20 日目 錄10.學(xué)生學(xué)籍管理系統(tǒng) II1.前言 12.需求分析13.概要設(shè)計(jì) 14.詳細(xì)設(shè)計(jì)15.測(cè)試16.總結(jié)2附錄21. 前言 題目:學(xué)生學(xué)籍信息管理系統(tǒng)1 前言21世紀(jì)隨著計(jì)算機(jī)技術(shù)的不斷成熟,帶來(lái)了信息技術(shù)的高速發(fā)展。信息技術(shù)的發(fā)展極大地推動(dòng)了整個(gè)社會(huì)信息化的進(jìn)程。在日益龐大的信息管理領(lǐng)域,信息管理自動(dòng)化直接地改變了傳統(tǒng)的文檔管理方式,極大地提高了工作效率和管理水平。 2. 需求分析鑒于高等院校在校學(xué)生、教職員工、日常事

2、務(wù)處理信息數(shù)據(jù)的繁多,學(xué)校信息管理部門(mén)通常感到無(wú)法高效的進(jìn)行管理。就高等院校學(xué)生學(xué)籍管理這一方面,由于院校學(xué)生人數(shù)眾多,專業(yè)不同,學(xué)校所安排的教學(xué)計(jì)劃也就因人而異。這對(duì)于管理學(xué)生學(xué)籍信息的教務(wù)老師來(lái)說(shuō),無(wú)疑是一項(xiàng)龐大和復(fù)雜的工作。不僅要考慮學(xué)校對(duì)某一專業(yè)整體的教學(xué)計(jì)劃安排,也要對(duì)各專業(yè)相關(guān)老師的教學(xué)任務(wù)進(jìn)行統(tǒng)一協(xié)調(diào),還要考慮某些學(xué)生的特別學(xué)籍變化。為解決學(xué)校上述的學(xué)生學(xué)籍管理難題,提高教務(wù)老師的信息管理效率,以及為了方便學(xué)生更好、更便捷的查看自己的學(xué)籍信息;讓老師的教學(xué)工作更加順利和對(duì)教學(xué)信息的及時(shí)掌握。本系統(tǒng)特參照一般高等院校對(duì)在校學(xué)生課程選修的數(shù)據(jù)庫(kù)管理辦法,結(jié)合實(shí)踐,設(shè)計(jì)出學(xué)生,教師和管

3、理員三大功能模塊,根據(jù)賦予系統(tǒng)權(quán)限不同,分別對(duì)系統(tǒng)進(jìn)行相關(guān)操作,方便了學(xué)生、教師對(duì)學(xué)籍信息的查看,同時(shí),也大大減少了管理員的信息管理工作量,提高了系統(tǒng)效率。3 概要設(shè)計(jì)1)、通過(guò)對(duì)高等院校管理學(xué)生學(xué)籍的管理模式和步驟流程,設(shè)計(jì)出系統(tǒng)的總體結(jié)構(gòu)和各主要功能模塊。2)、了解面向?qū)ο笳Z(yǔ)言的編程風(fēng)格,以及數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)信息處理的特點(diǎn),確定好系統(tǒng)的設(shè)計(jì)語(yǔ)言和數(shù)據(jù)庫(kù)平臺(tái)。3)、及時(shí)與學(xué)校管理信息老師和課程設(shè)計(jì)指導(dǎo)老師溝通,進(jìn)一步熟悉學(xué)生學(xué)籍信息管理系統(tǒng)的數(shù)據(jù)流程、數(shù)據(jù)處理以及操作步驟。提出自己的設(shè)計(jì)想法,征求老師意見(jiàn),改正不合理的地方,為下面的概念設(shè)計(jì)和詳細(xì)設(shè)計(jì)奠定基礎(chǔ)。3.1 概要設(shè)計(jì)階段總體結(jié)構(gòu)設(shè)計(jì)1)

4、、確定系統(tǒng)的總體結(jié)構(gòu)以及子結(jié)構(gòu):系統(tǒng)根據(jù)用戶模式的不同,實(shí)現(xiàn)不同的系統(tǒng)功能。系統(tǒng)功能層次圖如下:1.登記學(xué)生信息登錄學(xué)生信息系統(tǒng)學(xué)生學(xué)籍管理系統(tǒng)6.退出3.查找學(xué)生信息2.刪除學(xué)生信息5.按要求輸出信息4.修改學(xué)生信息退出系統(tǒng)保存信息學(xué)生信息管理(選擇操作)3.2 概要設(shè)計(jì)階段成果系統(tǒng)登錄界面信息修改編輯界面信息瀏覽界面信息保存退出界面 4詳細(xì)設(shè)計(jì)4.1 界面設(shè)計(jì)系統(tǒng)開(kāi)始運(yùn)行后自動(dòng)從當(dāng)前目錄下的xueshen文件中讀取信息,并實(shí)時(shí)顯示信息的讀取情況。用戶登錄系統(tǒng)主界面,輸入用戶名和密碼,。系統(tǒng)對(duì)用戶進(jìn)行安全驗(yàn)證,若通過(guò),則跳轉(zhuǎn)到相應(yīng)操作界面;若失敗,則提示相應(yīng)錯(cuò)誤信息。系統(tǒng)主界面如下圖所示,各

5、功能模塊前面都標(biāo)注了編碼 ,用戶只要輸入相應(yīng)的編碼就可以選擇相應(yīng)的功能模塊,方便了各層次用戶對(duì)系統(tǒng)的功能操作。同時(shí)界面中也顯示了整體的結(jié)構(gòu)圖,以便用戶對(duì)系統(tǒng)的整個(gè)功能結(jié)構(gòu)有著清晰的認(rèn)識(shí)。在用戶選擇每一個(gè)具體的功能模塊后,系統(tǒng)都會(huì)提示用戶做出相應(yīng)的操作,并根據(jù)用戶的指令反饋相應(yīng)的信息處理結(jié)果。另外在顯示新的菜單時(shí),都會(huì)將之前的內(nèi)容清空,使系統(tǒng)的操作界面簡(jiǎn)潔,提高用戶使用系統(tǒng)的效率。圖1功能描述: 圖1為學(xué)生學(xué)籍管理系統(tǒng)操作界面 選擇1:進(jìn)入學(xué)生信息登記界面,可查看學(xué)生的學(xué)籍信息,對(duì)信息進(jìn)行添 加 選擇2:進(jìn)入學(xué)生信息刪除界面,輸入學(xué)生學(xué)號(hào),進(jìn)行學(xué)生信息刪除功 提示。 選擇3:進(jìn)入學(xué)生信息查找界面

6、,錄入學(xué)生學(xué)號(hào),對(duì)學(xué)生的相關(guān)信息進(jìn)行查找。 選擇4:進(jìn)入學(xué)生信息修改界面,錄入要修改的學(xué)生編號(hào),選擇要修改的信息,輸入新信息。 選擇5:按要求輸出學(xué)生信息界面,輸入要輸出的學(xué)生信息進(jìn)行相同信 息學(xué)生的統(tǒng)計(jì)輸出。 選擇6:退出操作界面,退出系統(tǒng)操作。圖2功能描述: 圖2為是否進(jìn)行操作界面 選擇Y:返回學(xué)生學(xué)籍管理系統(tǒng)操作界面 選擇N:退出操作界面圖3 功能描述: 圖3為信息保存界面。 選擇Y:進(jìn)行信息保存退出系統(tǒng) 選擇N:不保存信息退出系統(tǒng)4.2 編碼。 1)頭文件代碼/MyStudent.h#ifndef MYSTUDENT_H_#define MYSTUDENT_H_#include#inc

7、ludeusing namespace std; class Student public: double Num;string Name;string Sex;int Age;string Jiguan;string Xibie;string Zuanye;string Class;string bianhua;Student *next;#endif/MyLIST.h#include#include#include#includeMyStudent.husing namespace std; class LIST private: public: Student *head; LIST()

8、 head=new Student;head-next=NULL;int length(); bool isempty() return head-next=NULL?true:false;bool get_data(int i,Student &x); bool get_succ(int i,Student &x); bool get_prior(int i,Student &x); /取前驅(qū)元素函數(shù) bool replace_data(double i); /置換元素bool insert_data(Student data,int i); /插入元素函數(shù)bool delete_data(

9、double i); /刪除元素函數(shù)bool find_data(double i,Student &result); void tongji(Student x);/查找函數(shù) void print_list(); void shuchu(); LIST() /析構(gòu)函數(shù)Student *p;while(head) /將鏈表中所有元素占用空間釋放p = head;head = head-next;delete p; ;#endif/Myvoid.h#include#includeMyLIST.h#includeMyStudent.hvoid In( int i,Student chuandi)

10、double Num;string Name;string Sex;int Age;string Jiguan;string Xibie;string Zuanye;string Class;string bianhua;ifstream in(xuesheng);if(!in)cout不能打開(kāi)!endl;for(int j=1;jNumName Sex AgeJiguan Xibie ZuanyeClassbianhua ;in.close ;chuandij.Num =Num;chuandij.Name =Name; chuandij.Sex =Sex;chuandij.Age =Age;

11、chuandij.Jiguan =Jiguan;chuandij.Xibie =Xibie;chuandij.Zuanye =Zuanye;chuandij.Class =Class;chuandij.bianhua =bianhua;void changdu(LIST lis)ofstream out(len);outi;return i;void output()coutendlendlendlendlendl *endl * *endl * 學(xué)生學(xué)籍管理系統(tǒng) *endl * *endl * 1.登記學(xué)生信息 *endl * 2.刪除學(xué)生信息 *endl * 3.查找學(xué)生信息 *endl

12、* 4.修改學(xué)生信息 *endl * 5.按要求輸出籍貫表 *endl * 6.退出操作選擇 *endl * *endl * *endl *endl;coutendlendl 請(qǐng)選擇需要的功能:;void baochun()coutendlendlendlendlendlendl;cout #endl # #endl # 是否保存修改信息? #endl # 是輸入Y, #endl # 退出輸入N #endl # #endl #endl;cout輸入您的選擇:;void jixu() coutendlendlendlendlendlendl;cout #endl # #endl # 是否繼續(xù)操作

13、? #endl # 是輸入Y, #endl # 退出輸入N #endl # #endl #endl;coutnext;while(current!=NULL)current=current-next;counter+;return counter;bool LIST:get_data(int i,Student &x) Student *current;int j=1;if(ilength()coutnext;while(current!=NULL&jnext;x=*current;return true;bool LIST:get_succ (int i, Student &x)Studen

14、t *current ;int j=1;if(ilength()coutnext;while(current!=NULL&jnext;if(current-next!=NULL)x=*current-next;return true;else cout第i個(gè)元素?zé)o后續(xù),不能讀取!n;return false;bool LIST:get_prior (int i, Student &x)Student*current ,*previous;int j=1;if(ilength()coutnext;while(current!=NULL&jnext;if(previous!=head)x=*pre

15、vious;return true;else cout第inext;while(current!=NULL¤t-Num !=i)j+;current=current-next;if(j=length()cout沒(méi)有找到該學(xué)號(hào)相關(guān)信息!endl;return false;int xg;cout輸入您要修改的學(xué)生信息:1學(xué)號(hào),2姓名,3性別,4年齡,5籍貫,6系別,7專業(yè),8班級(jí), 9學(xué)籍變化.xg; string xingming;string xingbie;string jiguan; string xibie;string zhuanye;string banji;string

16、 bianhua;switch(xg)case 1:double num;cout您將修改學(xué)號(hào),請(qǐng)輸入新的學(xué)號(hào)num;current-Num =num;break;case 2:cout您將修改姓名,請(qǐng)輸入新姓名xingming;current-Name =xingming;break;case 3:cout您將修改性別,請(qǐng)輸入新性別xingbie;current-Sex =xingbie;break;case 4:int nianling;cout您將修改年齡,請(qǐng)輸入新的年齡nianling;current-Num =nianling;break;case 5:cout您將修改籍貫,請(qǐng)輸入新

17、籍貫jiguan;current-Jiguan=jiguan;break;case 6:cout您將修改系別,請(qǐng)輸入新系別xibie;current-Xibie=xibie;break;case 7:cout您將修改專業(yè),請(qǐng)輸入新專業(yè)zhuanye;current-Zuanye =zhuanye;break;case 8:cout您將修改班級(jí),請(qǐng)輸入新班級(jí)banji;current-Class =banji;break;case 9:cout您將修改學(xué)籍,請(qǐng)輸入新學(xué)籍bianhua;current-bianhua =bianhua;break;return true;bool LIST:ins

18、ert_data ( Student data,int i)Student*current ,*previous,*newnode;int j=1;newnode=new Student;if(newnode=NULL)coutAge =data.Age ;newnode-Num =data.Num ; newnode-Class =data.Class; newnode-Jiguan =data.Jiguan; newnode-Name =data.Name; newnode-Sex =data.Sex; newnode-Xibie =data.Xibie; newnode-Zuanye =

19、data.Zuanye; newnode-bianhua =data.bianhua ;newnode-next=NULL; previous=head;current=head-next;while(current!=NULL&jnext;j+;newnode-next=current;previous-next=newnode;return true;bool LIST:delete_data (double i)Student *current ,*previous;int j=0;if(isempty()coutnext;while(current!=NULL¤t-Num

20、!=i)previous=current;current=current-next;j+;if(j=length()cout沒(méi)有該學(xué)號(hào)信息,不能刪除!next=current-next;delete current;return true;bool LIST:find_data (double i,Student &result)Student *current ; current=head-next;while(current!=NULL)if(current-Num !=i )current=current-next;else result.Age =current-Age ; resul

21、t.Num =current-Num ; result.Class=current-Class; result.Jiguan=current-Jiguan; result.Name=current-Name; result.Sex=current-Sex; result.Xibie=current-Xibie; result.Zuanye=current-Zuanye; result.bianhua =current-bianhua ;cout查找結(jié)果如下:endl;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化endl ;coutresult.Num tresu

22、lt.Name t result.Sex tresult.Age t result.Jiguan t result.Xibie tresult.Zuanye tresult.Class tresult.bianhua endl ;return true;cout沒(méi)有該學(xué)號(hào)的學(xué)生信息!endl;return false;void LIST:tongji (Student x)Student *current;string xingming;string xingbie;string jiguan; string xibie;string zhuanye;string banji;string b

23、ianhua;int nl;int sum=0;int tj;cout選擇統(tǒng)計(jì)信息:1性別,2年齡,3籍貫,4系別,5專業(yè),6班級(jí),7學(xué)籍變化tj;switch(tj)case 1:coutxingbie;coutjiguan生的信息如下endl;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NULL)if(current-Sex=xingbie)sum=sum+1; coutNumtNamet Sex tAge tJiguan t Xibie tZuanye tClasstbianhua next;break;case 2

24、:coutnl;cout年齡為nl的學(xué)生信息如下endl;coutt學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NULL)if(current-Age =nl)sum=sum+1; coutNumtNamet Sex tAge tJiguan t Xibie tZuanye tClasstbianhua next;break;case 3:coutjiguan;cout籍貫為jiguan的學(xué)生信息如下endl;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NUL

25、L)if(current-Jiguan =jiguan)sum=sum+1; coutNumtNamet Sex tAge tJiguan t Xibie tZuanye tClasstbianhua next;break;case 4:coutxibie;cout系別為xibie的學(xué)生信息如下endl;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NULL)if(current-Xibie =xibie)sum=sum+1; coutNumtNamet Sex tAge tJiguan t Xibie tZuanye tC

26、lasstbianhua next;break;case 5:coutzhuanye;cout專業(yè)為zhuanye的學(xué)生信息如下endl;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NULL)if(current-Zuanye =zhuanye)sum=sum+1; coutNumtNamet Sex tAge tJiguan t Xibie tZuanye tClasstbianhua next;break;case 6:coutbanji;cout班級(jí)為banji的學(xué)生信息如下endl;cout學(xué)號(hào)t姓名t 性別 t年

27、齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NULL)if(current-Class =banji)sum=sum+1; coutNumtNamet Sex tAge tJiguan t Xibie tZuanye tClasstbianhua next;break;case 7:coutbanji;cout學(xué)籍變化為bianhua的學(xué)生信息如下endl;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化next;while(current!=NULL)if(current-Class =banji)sum=sum+1; co

28、utNumtNamet Sex tAge tJiguan t Xibie tZuanye tClasstbianhua next;break;void LIST:print_list()Student *current; current=head-next;ofstream out(xuesheng);while(current)outNumtNamet Sex tAge tJiguan t Xibie tZuanye tClass tbianhua next;coutnext;cout學(xué)號(hào)t姓名t 性別 t年齡 t籍貫t 系別 t專業(yè) t班級(jí)t學(xué)籍變化endl ;while(current)coutNumtNamet Sex tAge tJiguan t Xibie tZu

溫馨提示

  • 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論