版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、合 肥 師 范 學(xué) 院(本 科)課程設(shè)計(jì)說明書課 程 數(shù)據(jù)結(jié)構(gòu)題 目 學(xué)生信息管理系統(tǒng)姓 名 俞雪峰、劉超、石富強(qiáng)、汪洋學(xué) 號1310421007、1310421115、1310421057、1310421011專業(yè)班級 2013級軟件工程(1)班指導(dǎo)教師 王群芳完成日期2014年12月28號28目 錄1 引 言.4 1.1 問題的提出.4 1.2國內(nèi)外研究的現(xiàn)狀.4 1. 3任務(wù)與分析.42 程序的主要功能.5 2.1創(chuàng)建功能.5 2.2顯示功能.5 2.3查找功能.5 2.4排序功能.5 2.5添加功能.5 2.6修改功能.5 2.7刪除功能.5 2.8退出系統(tǒng).53 程序運(yùn)行平臺.64
2、總體設(shè)計(jì).105 程序類的說明.116 模塊分析.13 6.1 創(chuàng)建模塊.13 6.2 顯示模塊.13 6.3 查找模塊.14 6.4 排序模塊.15 6.5 添加模塊.16 6.6 修改模塊.17 6.7 刪除模塊.18 6.8退出模塊.207 系統(tǒng)測試.208 結(jié)論.26致謝.28參考文獻(xiàn).28 摘 要 隨著計(jì)算機(jī)的普及,網(wǎng)絡(luò)時代的到來,社會信息化程度不斷提高,信息管理與信息系統(tǒng)越來越受人們所青睞,由此產(chǎn)生信息總量的劇增,信息更新速度的加快,使得管理的負(fù)擔(dān)越來越重。如何快速查找學(xué)生的信息,成為擺在所有管理工作者面前的一大難題。本系統(tǒng)為學(xué)校學(xué)生信息管理系統(tǒng),該系統(tǒng)進(jìn)行了深入的分析和研究,提出
3、了學(xué)生信息管理的理論依據(jù)和實(shí)現(xiàn)的方法。該系統(tǒng)分析了學(xué)生的基本信息,利用c+的類與對象的關(guān)系編程實(shí)現(xiàn)了對每個學(xué)生信息的基本管理系統(tǒng),該系統(tǒng)具有對學(xué)生信息的顯示、添加、查找、修改和刪除等功能。 關(guān)鍵詞:管理系統(tǒng);計(jì)算機(jī);學(xué)生;信息;功能1 引 言 1.1 問題的提出 在現(xiàn)代化的學(xué)生信息管理中,學(xué)生信息管理系統(tǒng)有著十分重要的作用,然而,用大型軟件系統(tǒng)來于學(xué)校的小型事件,不啻于“殺雞用牛刀”,因此小型的的軟件對于這種學(xué)校的學(xué)生成績管理自然有十分重要作用。某學(xué)校出于這種目的制作了這個學(xué)生信息管理系統(tǒng)。1.2國內(nèi)外研究的現(xiàn)狀 信息管理是學(xué)校管理的一個重要內(nèi)容,隨著時代的進(jìn)步,學(xué)校也逐漸變得龐大起來.如何管
4、理好學(xué)校內(nèi)部學(xué)生的信息,成為學(xué)校管理中的一個大的問題.在這種情況下,一個可以規(guī)范化,自動化的學(xué)生信息管理系統(tǒng)就顯的非常必要. 最初的信息管理,都是靠人力來完成的.當(dāng)學(xué)校人數(shù)比較小的時候,人力可以完成,隨著學(xué)生人數(shù)越來越多,學(xué)校依然維持著用人力進(jìn)行管理,必然會造成工作效率低,工作錯誤增高的問題. 學(xué)生信息管理系統(tǒng)就是把分散的學(xué)生信息實(shí)行統(tǒng)一,集中,規(guī)范的收集管理,建立分類編號管理,電腦存儲查詢以及防火,防潮,防蛀防盜等現(xiàn)代化,專業(yè)化的管理系統(tǒng),為學(xué)校解除后顧之憂. 學(xué)生信息管理系統(tǒng)為學(xué)校提供學(xué)生信息查詢,錄入,修改,刪除等功能. 1.3任務(wù)與分析 任務(wù): 本課題主要的任務(wù)是定義學(xué)生類Studen
5、t,其中包含學(xué)生姓名、學(xué)號、性別或更多門課程的成績以及對這些成員的操作,然后要定義Student的對象數(shù)組,錄入學(xué)生信息并顯示到屏幕,同時保存到文件;可以從文件讀取數(shù)據(jù)并查詢、修改和統(tǒng)計(jì)學(xué)生信息。并且,在錄入信息前要有提示信息,屏幕輸出和文件存取時可使用>>、<<運(yùn)算符重載或用I/O流對象引用作參數(shù)的成員函數(shù)實(shí)現(xiàn)。分析: 要完成上面的任務(wù),首先根據(jù)要解決的問題是分析設(shè)計(jì)類圖,然后抽象出各個類的數(shù)據(jù)成員和函數(shù)成員,然后進(jìn)行詳細(xì)編碼,在主函數(shù)中創(chuàng)建類的對象,調(diào)用適當(dāng)?shù)某蓡T函數(shù)或全局函數(shù)實(shí)現(xiàn)相應(yīng)的功能。最后再對軟件進(jìn)行測試。2 程序的主要功能2.1創(chuàng)建功能錄入學(xué)生基本信息,包
6、括學(xué)號,姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績。2.2顯示功能顯示所有學(xué)生的主要信息包括學(xué)號,姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績。2.3查找功能根據(jù)你鍵入的學(xué)生姓名,顯示其學(xué)號,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績等詳細(xì)信息,或者鍵入的學(xué)生學(xué)號,顯示姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績等詳細(xì)信息!2.4排序功能對學(xué)生的基本信息,包括學(xué)號,姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績等進(jìn)行排序處理,排序包括插入排序,冒泡排序和選擇排序。2.5添加功能 添加學(xué)生基本信息,包括學(xué)號,姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績等。2.6修改功能 對學(xué)生的基本信息進(jìn)行修改,包括學(xué)號,姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績等。2.7刪除功能 能夠?qū)σ粋€學(xué)生的信息進(jìn)行刪
7、除可按照信息位置進(jìn)行刪除。2.8退出系統(tǒng) 能夠安全退出學(xué)生成績管理系統(tǒng)。3 程序運(yùn)行平臺 VC+6.0。 具體操作如下: (1).進(jìn)入visusal c+6.0開發(fā)環(huán)境。單擊Next TipA按鈕可顯示下一條信息,單 擊Close按鈕關(guān)閉如圖3.1所示的幫助窗口,進(jìn)入visusal c+6.0開發(fā)環(huán)境主窗口。 圖3.1 開發(fā)窗口 (2).創(chuàng)建一個visual c+項(xiàng)目。在開發(fā)環(huán)境主窗口中選擇File/new菜單項(xiàng),單擊Projects選項(xiàng)卡,選擇Win32 Console Application,在Project Name文本框中輸入“學(xué)生信息管理系統(tǒng)”,在Location文本框中輸入要保存的
8、路徑,單擊OK按鈕完成該對話框的設(shè)置,如圖3.2所示。在彈出的對話框中選擇An Empty Project單選鈕,并單擊Finish按鈕,在彈出的對話框中單擊OK按鈕,如圖3.3所示。完成“學(xué)生成績管理系統(tǒng)”的創(chuàng)建。 圖3.2 輸入名稱 圖3.3 創(chuàng)建項(xiàng)目 (3).編輯并建立C+源程序。選擇Project Add To Project New菜單項(xiàng),在彈出的對話框的File選項(xiàng)卡中選擇C+ Source File選擇,在File文本框中輸入文件名“學(xué)生信息管理系統(tǒng)”,如圖3.4所示,其他選項(xiàng)選擇默認(rèn)值。單擊OK按鈕,彈出如圖3.5所示的編輯窗口,在該窗口中進(jìn)行源代碼的輸入。 圖3.4 輸入文件
9、名 圖3.5 編譯源代碼 (4).編譯并運(yùn)行程序。在完成源代碼的編輯后,選擇File Save保存所編輯的源程序文件。選擇Build Compile學(xué)生成績管理系統(tǒng).cpp編譯源程序。如圖3.6所示。 圖3.6 運(yùn)行程序(5)選擇Build Compile學(xué)生成績管理系統(tǒng).exe連接學(xué)生成績管理系統(tǒng)程序,如果有錯誤顯示,則排除這些錯誤直到?jīng)]有,那樣就已經(jīng)建立了學(xué)生成績管理系統(tǒng).exe可執(zhí)行文件。選擇Build Execute.exe,運(yùn)行學(xué)生成績管理系統(tǒng)程序,其結(jié)果如圖3.7所示。 圖3.7 運(yùn)行結(jié)果4 總體設(shè)計(jì) 整個程序的主要結(jié)構(gòu)設(shè)計(jì)如下圖4.1所示。查找功能顯示功能刪除功能修改功能創(chuàng)建功能
10、排序功能添加功能退出功能 聲明類 Student類 主函數(shù) 圖4.1 結(jié)構(gòu)設(shè)計(jì)5 程序類的說明5.1 Student類的聲明:typedef structint id;char name50;char sex50;int age;int SGscore;elemtype;typedef structelemtype datamaxsize+1;int len;student;5.2 聲明類:void creat(L);void display(L);int search(L);void sort_SGscore1(L);void sort_SGscore2(L);void sort_SGsco
11、re3(L);int delet(L,i);void modify(L);void creat(student &L)6 模塊分析6.1 創(chuàng)建模塊系統(tǒng)將提示用戶輸入新的學(xué)生的信息,插入在順序表中。其示意圖如下:輸入學(xué)生信息調(diào)用creat函數(shù) 圖6.1 創(chuàng)建示意圖其代碼如下:void creat(student &L) int i;cout<<"請輸入所記錄的學(xué)生總數(shù):"cin>>L.len;for(i=1;i<=L.len;i+)cout<<"請輸入學(xué)生的學(xué)號、姓名、性別、年齡、數(shù)構(gòu)成績:"cin
12、>>L.datai.id>>L.>>L.datai.sex>>L.datai.age>>L.datai.SGscore;6.2 顯示模塊顯示模塊將輸出所有學(xué)生的成績等信息。其示意圖如下:顯示學(xué)生信息調(diào)用display函數(shù) 圖6.2 創(chuàng)建示意圖其代碼如下:void display(student &L)for(int i=1;i<=L.len;i+)cout<<"該學(xué)生的學(xué)號、姓名、性別、年齡、數(shù)構(gòu)成績"<<endl;cout<<L.datai.i
13、d<<" "<<L.<<" "<<L.datai.sex<<" "<<L.datai.age<<" "<<L.datai.SGscore; cout<<endl;6.3查找模塊首先由用戶輸入要查找的學(xué)生學(xué)號或者姓名,然后系統(tǒng)用查找函數(shù)查找,然后系統(tǒng)就調(diào)用輸出函數(shù),輸出所查找的學(xué)生信息。其示意圖如下: 輸出學(xué)生信息 按學(xué)號查找 按姓名查找 調(diào)用search函數(shù) 圖6.3 查找示意圖其代碼如下
14、:int search(student &L) int i,j;int num1;char num25;cout<<"0.退出查找系統(tǒng)"<<endl; cout<<"1.按學(xué)號查找"<<endl; cout<<"2.按姓名查找"<<endl; while(1)cout<<"請選擇(0-2)"cin>>j;while(j<0|j>2)cout<<"只能選擇0-2,請重新選擇:&qu
15、ot;cin>>j;switch(j)case 0: return 0;case 1:cout<<"請輸入學(xué)生學(xué)號:"cin>>num1;for(i=1;i<=L.len;i+)if(L.datai.id=num1)cout<<"找到了該同學(xué)!"<<endl; cout<<"該同學(xué)的學(xué)號、姓名、性別、年齡、數(shù)構(gòu)成績?yōu)椋?quot;<<endl; cout<<" "<<L.datai.id<<"
16、; "<<L.<<" "<<L.datai.sex<<" "<<L.datai.age<<" "<<L.datai.SGscore<<endl;return i;else if(i=L.len)cout<<"未查到!"<<endl;break;case 2:cout<<"請輸入學(xué)生姓名:"cin>>num2;for(i=1;
17、i<=L.len;i+)if(strcmp(L.,num2)=0)cout<<"找到了該同學(xué)!"<<endl; cout<<"該同學(xué)的學(xué)號、姓名、性別、年齡、數(shù)構(gòu)成績?yōu)椋?quot;<<endl; cout<<" "<<L.datai.id<<" "<<L.<<" "<<L.datai.sex<<" "<
18、<L.datai.age<<" "<<L.datai.SGscore<<endl;return i;else if(i=L.len)cout<<"未查到!"<<endl;break;6.4排序模塊 對保存的學(xué)生信息按數(shù)據(jù)結(jié)構(gòu)成績依次進(jìn)行排序,包括插入排序,冒泡排序,選擇排序。其示意圖如下: 輸出學(xué)生信息排序結(jié)果 調(diào)用sort_SGscore3函數(shù) 調(diào)用sort_SGscore2函數(shù) 調(diào)用sort_SGscore1函數(shù) 圖6.4 排序示意圖其代碼如下:void sort_SGscore1(s
19、tudent &L)int i,j; for (i=2;i<=L.len;i+) L.data0=L.datai; for(j=i-1; L.data0.SGscore<L.dataj.SGscore; j-) L.dataj+1=L.dataj; L.dataj+1=L.data0; void sort_SGscore2(student L)int i,j;for(i=1;i<=L.len;i+)int noswap=1;for(j=L.len;j>=i+1;j-)if(L.dataj.SGscore<L.dataj-1.SGscore)L.data0=
20、L.dataj;L.dataj=L.dataj-1;L.dataj-1=L.data0;noswap=0;if(noswap)break;void sort_SGscore3(student L)int i,j;for(i=1;i<=L.len;i+)int min=i;for(j=i+1;j<=L.len;j+)if(L.dataj.SGscore<L.datamin.SGscore)min=j;if(min!=i)L.data0=L.datamin;L.datamin=L.datai;L.datai=L.data0;6.5添加模塊 輸入要添加的學(xué)生信息 調(diào)用Sert函數(shù)在
21、原有信息基礎(chǔ)上添加其他的學(xué)生信息。其示意圖如下: 圖6.5 添加示意圖其代碼如下:int insert(student &L)int i=0;elemtype S;i=L.len; cout<<"請輸入插入學(xué)生的學(xué)號、姓名、性別、年齡、數(shù)構(gòu)成績:"cin>>S.id>>S.name>>S.sex>>S.age>>S.SGscore;if (L.len=maxsize ) cout<<"表已滿,無法插入!" return 0; for(i=L.len;i>=1
22、&& L.datai.id>S.id;i-) L.datai+1=L.datai; L.datai+1=S; L.len+; cout<<"插入成功!" return 1;6.6刪除模塊 刪除學(xué)生信息 調(diào)用delete函數(shù) 輸入要刪除的信息位置首先由用戶輸入要刪除的單個學(xué)生信息位置,然后調(diào)用刪除函數(shù),刪除該名學(xué)生的信息。其示意圖如下: 圖6.6 刪除示意圖其代碼如下:int delet(student &L,int i) int j; if (L.len<i|i<=0 ) cout<<"表無此位置,
23、無法刪除!" return 0; for(j=i;j<=L.len;j+) L.dataj=L.dataj+1; L.len-; return 1; 6.7修改模塊首先由用戶輸入要修改的學(xué)生的學(xué)號或姓名,然后調(diào)用修改函數(shù),對學(xué)生信息進(jìn)行修改,包括學(xué)號,姓名,性別,年齡,數(shù)據(jù)結(jié)構(gòu)成績。其示意圖如下: 修改學(xué)生信息 調(diào)用modify函數(shù)輸入要修改學(xué)生的學(xué)號或姓名 圖6.7 修改示意圖其代碼如下:void modify(student &L)int i,x,a=0;int id;char name50;char sex50;int age;int SGscore;cout&l
24、t;<"請選擇你要修改的學(xué)生學(xué)號"cin>>id;cout<<"請輸入你要修改的學(xué)生信息"<<endl;cout<<"1.修改學(xué)生學(xué)號"<<endl;cout<<"2.修改學(xué)生姓名"<<endl;cout<<"3.修改學(xué)生性別"<<endl;cout<<"4.修改學(xué)生年齡"<<endl;cout<<"5.修改學(xué)生數(shù)構(gòu)成
25、績"<<endl;cin>>x;switch(x)case 1:for(i=0;i<L.len;i+)if(id=L.datai.id) cout<<"請輸入新學(xué)號" cin>>id; L.datai.id=id; a=1;if(a=0)cout<<"對不起你要改的名字不存在" break; case 2:for(i=0;i<L.len;i+)if(id=L.datai.id) cout<<"請輸入新姓名" cin>>name;
26、strcpy(L.,name); a=1;if(a=0)cout<<"對不起你要改的名字不存在" break; case 3:for(i=0;i<L.len;i+)if(id=L.datai.id) cout<<"請輸入新性別" cin>>sex; strcpy(L.datai.sex,sex); a=1;if(a=0)cout<<"對不起你要改的名字不存在" break; case 4: for(i=0;i<L.len;i+)if(id=L.datai.
27、id) cout<<"請輸入新年齡" cin>>age; L.datai.age=age; a=1;if(a=0)cout<<"對不起你要改的名字不存在" break; case 5: for(i=0;i<L.len;i+)if(id=L.datai.id) cout<<"請輸入新數(shù)構(gòu)成績" cin>>SGscore; L.datai.SGscore=SGscore; a=1;if(a=0)cout<<"對不起你要改的名字不存在" bre
28、ak;6.8退出模塊首先由用戶選擇退出程序選項(xiàng),由系統(tǒng)調(diào)用退出模塊的程序,達(dá)到退出系統(tǒng)的目的。7 系統(tǒng)測試首先進(jìn)入VC+6.0,打開工程學(xué)生信息管理系統(tǒng).dsw,然后進(jìn)入源程序,接著選擇Build下的Execute學(xué)生信息管理系統(tǒng).exe即可運(yùn)行程序。在程序開始時如圖7.1所示。 圖7.1 進(jìn)入系統(tǒng)圖7.1表示已經(jīng)成功進(jìn)入學(xué)生信息管理系統(tǒng)。 圖7.2 創(chuàng)建功能圖7.2表示實(shí)現(xiàn)了程序的創(chuàng)建功能。 圖7.3 顯示功能圖7.3表示實(shí)現(xiàn)了程序的顯示功能。 圖7.4 查找功能圖7.4表示實(shí)現(xiàn)了程序的查找功能。 圖7.5 排序功能圖7.5表示實(shí)現(xiàn)了程序的排序功能。 圖7.6 添加功能圖7.6表示實(shí)現(xiàn)了程序
29、的添加功能。 圖7.7 刪除功能圖7.7表示實(shí)現(xiàn)了程序的刪除功能。 圖7.8 修改功能圖7.8表示實(shí)現(xiàn)了程序的修改功能。 圖7.9 退出系統(tǒng)圖7.9表示實(shí)現(xiàn)了程序的退出功能。 通過上述測試,本系統(tǒng)實(shí)現(xiàn)了對學(xué)生一系列信息的顯示功能,能夠顯示已有學(xué)生的信息;實(shí)現(xiàn)了對學(xué)生的添加功能,能夠添加另外學(xué)生的信息;實(shí)現(xiàn)了對已有學(xué)生信息的查找功能,能夠根據(jù)學(xué)生的姓名或?qū)W號來查找學(xué)生的信息;實(shí)現(xiàn)了對學(xué)生信息的修改,刪除等功能,同時能夠避對沒有的學(xué)生進(jìn)行準(zhǔn)確的判斷。8 結(jié)論系統(tǒng)是以Visual C+6.0為開發(fā)工具編的程序。本系統(tǒng)實(shí)現(xiàn)了對學(xué)生信息的顯示,添加,查找,修改和刪除的功能。第一周結(jié)束的時候,我們感覺自己收獲挺大的,從一開始的迷茫,不知道從何下手到把程序中的幾個模塊編寫出來,心里挺開心的。但是,到了第二周,我由不得不再次陷入困境。在整個程序的編寫過程中。最難
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024綠茶購銷協(xié)議詳細(xì)條款
- 房產(chǎn)銷售協(xié)議規(guī)范文本(2024年)
- 2024年化物流委托協(xié)議范本
- 房產(chǎn)交易正式協(xié)議范本2024年
- 低空經(jīng)濟(jì)的產(chǎn)業(yè)生態(tài)建設(shè)
- 鄉(xiāng)村教育數(shù)字治理概述
- 教育強(qiáng)國背景下的教師教育轉(zhuǎn)型發(fā)展意義與目標(biāo)
- 房產(chǎn)抵押貸款協(xié)議示范文本2024年
- 高端醫(yī)療設(shè)備訂購協(xié)議細(xì)則模板
- 2024指定封閉采購交易協(xié)議
- 2024年全國職業(yè)院校技能大賽高職組(檢驗(yàn)檢疫技術(shù)賽項(xiàng))考試題庫(含答案)
- 和燈做朋友(教學(xué)設(shè)計(jì))-2023-2024學(xué)年五年級上冊綜合實(shí)踐活動蒙滬版
- 樂理知識考試題庫130題(含答案)
- 人教版(2024)七年級地理上冊2.2《地形圖的判讀》精美課件
- 2024年共青團(tuán)入團(tuán)積極分子團(tuán)校結(jié)業(yè)考試試題庫及答案
- 2024年遼寧高考?xì)v史試題(含答案和解析)
- 黃河商品交易市場介紹稿
- Unit 3 My friends Part C Story time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語四年級上冊
- 2024中國海油校園招聘2024人(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 孫中山誕辰紀(jì)念日主題班會主題班會
- 2024年安徽省合肥市中考語文題卷(含答案)
評論
0/150
提交評論