C學(xué)生信息管理系統(tǒng)實(shí)驗(yàn)報(bào)告示例_第1頁(yè)
C學(xué)生信息管理系統(tǒng)實(shí)驗(yàn)報(bào)告示例_第2頁(yè)
C學(xué)生信息管理系統(tǒng)實(shí)驗(yàn)報(bào)告示例_第3頁(yè)
C學(xué)生信息管理系統(tǒng)實(shí)驗(yàn)報(bào)告示例_第4頁(yè)
C學(xué)生信息管理系統(tǒng)實(shí)驗(yàn)報(bào)告示例_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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、課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)題目: 學(xué)生信息管理系統(tǒng)學(xué)生姓名 : 張鵬專 業(yè): 軟件工程(嵌入式)班 級(jí) :1621806指導(dǎo)教師 : 高 永 平2017 年 6 月 9 日目錄入需求分析:根據(jù)對(duì)學(xué)生信息管理的需要, 建立一個(gè) “學(xué)生信息管理系統(tǒng)” , 以方便對(duì)學(xué)生信息數(shù)據(jù)的錄入、修改、刪除和查詢功能。 、要求完:1. 有菜單界面可以對(duì)功能進(jìn)行選擇;2. 能錄入姓名、性別、學(xué)號(hào)、班級(jí)和電話號(hào)碼等學(xué)生信息并保存到文件中;3. 能根據(jù)學(xué)生的學(xué)號(hào)進(jìn)行排序;4. 能根據(jù)學(xué)生的學(xué)號(hào)對(duì)學(xué)生的信息進(jìn)行修改;5. 能根據(jù)學(xué)生的學(xué)號(hào)對(duì)學(xué)生的信息進(jìn)行刪除;6. 能根據(jù)學(xué)生的學(xué)號(hào)、姓名和班級(jí)等對(duì)學(xué)生信息進(jìn)行查詢;7. 能根

2、據(jù)班級(jí)對(duì)學(xué)生人數(shù)進(jìn)統(tǒng)計(jì)。二、總體設(shè)計(jì):根據(jù)以上分析,本系統(tǒng)主要包括:1. 從鍵盤錄入學(xué)生個(gè)人信息,并保存到文件中;2. 按學(xué)號(hào)對(duì)學(xué)生信息進(jìn)行排序3. 按學(xué)號(hào)對(duì)學(xué)生信息進(jìn)行修改;4. 按學(xué)號(hào)對(duì)學(xué)生信息進(jìn)行刪除;5. 按學(xué)號(hào)對(duì)學(xué)生信息進(jìn)行查詢;6. 按姓名對(duì)學(xué)生信息進(jìn)行查詢;7. 按班級(jí)對(duì)學(xué)生信息進(jìn)行查詢;8. 結(jié)束當(dāng)前程序;等 8 大功能,系統(tǒng)主要定義了 1 個(gè)類和 16 個(gè)函數(shù)以實(shí)現(xiàn)各個(gè)功能:( 1)主函數(shù)main(): 調(diào)用錄入、查找、修改、排序、統(tǒng)計(jì)、刪除等函數(shù)對(duì)學(xué)生成員信息進(jìn)行處理。( 2)定義類class student:用于定義成員結(jié)構(gòu)體數(shù)組。( 3)類中構(gòu)造函數(shù)student():

3、 對(duì)類中各項(xiàng)私有成員進(jìn)行傳值。( 4)類中輸入運(yùn)算符重載函數(shù)operator >>():方便對(duì)類的對(duì)象輸入。( 5)類中輸出運(yùn)算符重載函數(shù)operator <<():方便對(duì)類的對(duì)象輸出。(6)獲取函數(shù)getnum():方便在類外對(duì)類中的私有成員num的數(shù)據(jù)進(jìn)行調(diào)用。(7)獲取函數(shù)getname():方便在類外對(duì)類中的私有成員name的數(shù)據(jù)進(jìn)行調(diào)用。( 8)獲取函數(shù)getban(): 方便在類外對(duì)類中的私有成員ban 的數(shù)據(jù)進(jìn)行調(diào)用。( 9)錄入函數(shù)enter(): 從鍵盤輸入學(xué)生個(gè)人信息,并保存到文件中。( 10)查找函數(shù)search_num():按學(xué)號(hào)查找學(xué)生個(gè)人信息

4、。( 11)查找函數(shù)search_name(): 按姓名查找學(xué)生個(gè)人信息。( 12)查找函數(shù)search_ban():按班級(jí)查找學(xué)生個(gè)人信息。( 13)修改函數(shù)changr(): 按學(xué)號(hào)修改學(xué)生個(gè)人信息,保存的文件中。( 14)刪除函數(shù)del(): 按學(xué)號(hào)刪除學(xué)生個(gè)人信息,保存到文件中。( 15)排序函數(shù)sort(): 按學(xué)號(hào)對(duì)學(xué)生個(gè)人信息進(jìn)行排序。( 16)統(tǒng)計(jì)函數(shù)count(): 按班級(jí)對(duì)學(xué)生人數(shù)進(jìn)行統(tǒng)計(jì)。程序功能結(jié)構(gòu)圖如圖 1 所示:學(xué)牛信息管理系圖1程序功能結(jié)構(gòu)圖如圖三、詳細(xì)設(shè)計(jì)。本系統(tǒng)有一個(gè)主函數(shù),8個(gè)功能模塊,每個(gè)功能模塊函數(shù)都是由主函數(shù)調(diào)用, 分別說(shuō)明如下:(1)主函數(shù) main

5、():調(diào)用錄入、查找、修改、排序、統(tǒng)計(jì)、刪除等函數(shù)對(duì)學(xué)生成員信息進(jìn)行處理。主函數(shù)流程圖如圖2所示:(2)鍵盤輸入函數(shù)流程圖:從鍵盤輸入學(xué)生個(gè)人信息,并保存到文件中流程圖如圖3所示:圖3鍵盤輸入函數(shù)流程圖(3)排序函數(shù)流程圖:按學(xué)號(hào)對(duì)學(xué)生個(gè)人信息進(jìn)行排序0流程圖如圖4所示:圖4排序函數(shù)流程圖(4)信息修改函數(shù)流程圖:由用戶輸入需要修改的成員的學(xué)號(hào), 在現(xiàn)有的學(xué)生信息中查詢是否有此學(xué)生信息的存在, 查到輸出該學(xué)生的全部信息,沒(méi)查到則輸出“學(xué)號(hào)為XX的學(xué)生不存在! ”信息。流程圖如圖5所示:打開(kāi)文件輸入成員學(xué)結(jié)束圖5信息修改函數(shù)流程圖(5)信息刪除函數(shù)流程圖:由用戶輸入需要?jiǎng)h除的成員的學(xué)號(hào),在現(xiàn)有的

6、學(xué)生信息中查詢是否有此學(xué)生信息的存在, 查到刪除該學(xué)生的全部信息,沒(méi)查到則輸出“學(xué)號(hào)為XX的學(xué)生不存在! ”信息。流程圖如圖6所示:關(guān)閉文件圖6信息刪除函數(shù)流程圖(6)學(xué)號(hào)查詢函數(shù)流程圖:由用戶輸入需要查詢的成員的學(xué)號(hào), 在現(xiàn)有的學(xué)生信息中查詢是否有此學(xué)生信息的存在, 查到輸出該學(xué)生的全部信息,沒(méi)查到則輸出“學(xué)號(hào)為XX的學(xué)生不存在! ”信息。流程圖如圖7所示:圖7學(xué)號(hào)查詢函數(shù)流程圖(7)姓名查詢函數(shù)流程圖:由用戶輸入需要查詢的成員的姓名, 在現(xiàn)有的學(xué)生信息中查詢是否有此學(xué)生信息的存在, 查到輸出該學(xué)生的全部信息,沒(méi)查到則輸出“姓名為 XX的學(xué)生不存在! ”信息。流程圖如圖8所示:圖8姓名查詢函

7、數(shù)流程圖(8)班級(jí)查詢函數(shù)流程圖:由用戶輸入需要查詢的成員的班級(jí), 在現(xiàn)有的學(xué)生信息中查詢是否有此學(xué)生信息的存在, 查到輸出該學(xué)生的全部信息,沒(méi)查到則輸出“班級(jí)為 XX的學(xué)生不存在! ”信息。流程圖如圖9所示:圖9班級(jí)查詢函數(shù)流程圖(9)按班級(jí)統(tǒng)計(jì)函數(shù)流程圖:由用戶輸入需要查詢的成員的班級(jí), 在現(xiàn)有的學(xué)生信息中查詢是否有此學(xué)生信息的存在, 查到即對(duì)該班級(jí)人數(shù)進(jìn)行統(tǒng)計(jì),沒(méi)查到則輸出“班級(jí)為XX的學(xué)生不存在! ”信息。流程圖如圖10所示:圖10按班級(jí)統(tǒng)計(jì)函數(shù)流程圖四、測(cè)試結(jié)果。(1)程序運(yùn)行主菜單如圖11所示:圖11(2)從鍵盤上輸入學(xué)生人數(shù)和學(xué)生信息如圖 12所示:圖12(3)按學(xué)號(hào)修改如圖13

8、所示:圖13(4)按學(xué)號(hào)刪除如圖14:145)按學(xué)號(hào)查找如圖15:圖156)按姓名查找如圖16:圖167)按班級(jí)查找如圖17:圖178)按班級(jí)統(tǒng)計(jì)人數(shù)如圖18:圖189)按學(xué)號(hào)進(jìn)行排序如圖19:如圖 19五、軟件操作使用說(shuō)明書。本軟件采用命令行對(duì)話方式進(jìn)行操作,運(yùn)行后出現(xiàn)主界面如上圖所示,然后按菜單提示操作即可。六、總結(jié)。經(jīng)過(guò)一個(gè)星期的不斷上機(jī)實(shí)踐練習(xí),我對(duì)C+有了更進(jìn)一步的認(rèn)識(shí)和了解,學(xué)好它重在實(shí)踐, 要通過(guò)不斷的上機(jī)操作不斷的進(jìn)行操作和試運(yùn)行才能更好地掌握它,通過(guò)這次實(shí)踐,我發(fā)現(xiàn)了自己的許多不足:我對(duì)各種循環(huán)的理解深度還不夠,對(duì)字符成員調(diào)用還不是很熟練,對(duì)指針的理解還是不透徹,以及對(duì)解決問(wèn)

9、題的想法不夠全面。這些不足,在這次實(shí)踐中都有所提高,并且對(duì)這些不足我都會(huì)在后續(xù)的學(xué)習(xí)中努力補(bǔ)足。七、代碼:#inClude<iostream>#inClude<fstream>#inClude<Cstring>#define M 5000using namespaCe std;Class studentpubliC:student()student(char na10,char se10,int n,int b,char t12):num(n),ban(b) strcpy(sex,se);strcpy(name,na);strcpy(tel,t);frien

10、d istream & operator >>(istream & is,student & s)is>>>>>>>>>>return is;friend ostream & operator <<(ostream & os,student & s)os<<<<" "<<<<" "<<<<" "<<<<&quo

11、t; "<<<<endl;return os;int getnum()return num;int getban()return ban;char *getsex()char *s=new charstrlen(sex);s=sex;return s;char *getname()char *p=new charstrlen(name);p=name;return p;char *gettel()char *t=new charstrlen(tel);t=tel;return t;private:char name10;char sex10;int num,b

12、an;char tel12;int menu()cout<<"*"<<endl<<endl;cout<<" n"<<endl;|0.cout<<" n"<<endl;|1.cout<<" n"<<endl;|2.cout<<" n"<<endl;|3.cout<<" n"<<endl;|4.cout<<&quo

13、t; n"<<endl;|5.cout<<" n"<<endl;|6.cout<<" n"<<endl;|7.cout<<" n"<<endl;|8.cout<<""<<endl;cout<<"cout<<"Designed by Peng"<<endl; for(;)gets(s);c=atoi(s);if(c>8)cout&

14、lt;<" else輸入錯(cuò)誤,請(qǐng)重新輸入!請(qǐng)重新輸入!char s80;int c;主菜單退出當(dāng)前程序|輸入學(xué)生信息|根據(jù)學(xué)號(hào)查詢|根據(jù)姓名查詢|根據(jù)班級(jí)查詢|根據(jù)學(xué)號(hào)排序|按班級(jí)計(jì)人數(shù)|根據(jù)學(xué)號(hào)刪除|根據(jù)學(xué)號(hào)修改|輸入您的菜單選項(xiàng)編號(hào)(0-8):"<<endl;break;return c;int enter(student t)int i,n;system("cls");cout<<" cin>>n;cout<<"cout<<" 姓名"<&

15、lt;endl;fstream fs;("c:",ios:out); for(i=0;i<n;i+) cin>>ti;fs<<ti;();getchar();return n;性別void search_num(student t,int n) int i,nu,temp=-1000;system("cls");cout<<" 請(qǐng)輸入查找學(xué)生的學(xué)號(hào):cin>>nu;for(i=0;i<n;i+)請(qǐng)輸入學(xué)生信息條數(shù)"<<endl;請(qǐng)輸入學(xué)生信息 n"<

16、;<endl;學(xué)號(hào)班級(jí)聯(lián)系電話"<<endl;if(nu=ti.getnum()cout<<" 該 學(xué) 生 信 息 為 : "<<endl<<" "<<endl;cout<<ti;temp=i;if(temp=-1000)cout<<endl<<endl<<" 學(xué)號(hào)為 "<<nu<<"getchar();void search_ban(student t,int n)int i,

17、ba,temp=-1000;system("cls");cout<<" 請(qǐng)輸入查找學(xué)生的班級(jí)號(hào): "<<endl;cin>>ba;cout<<" 該學(xué)生信息為: "<<endl<<" 姓名 性別姓名性別學(xué)號(hào)班級(jí)聯(lián)系電話!"<<endl;學(xué)號(hào) 班級(jí) 聯(lián)系電話 "<<endl;for(i=0;i<n;i+)(if(ba=ti.getban()cout«ti;temp=i;)if(temp=-1000

18、)cout«endl«endl«"班級(jí)為"«ba«"的學(xué)生不存在!"«endl;getchar();)void search_name(student t,int n) .int i,temp=-1000;char na20;system("cls");cout«"請(qǐng)輸入查找學(xué)生的姓名:"«endl;cin»na;for(i=0;i<n;i+)(if(strcmp(na,ti.getname()=O)(coutvv”該學(xué)

19、生信息為:"vvendlvv”姓名 性別 學(xué)號(hào) 班級(jí) 聯(lián)系電話”vvendl; cout«ti;temp=i;)if(temp=-1000)cout«endl«endl«"姓名為"«na«"的學(xué)生不存在!"«endl;getchar();)void sort(student t,int n)(student p;int s;system ("cis");cout«"請(qǐng)選擇升序或降序(1或2):"«endl;cin&#

20、187;s;if(s=1)cout«"按學(xué)號(hào)排序(升序)完成如下:"«endl;for(int i=0;i<n-1;i+)for(int j=O;j<n-1 -i;j+)(if(tj.getnum()>tj+1.getnum()(P=tj;tu=tu+i;tj+1=p;)coutvv”姓名 性別 學(xué)號(hào) 班級(jí) 聯(lián)系電話”vvendl;for(int a=0;a<n;a+)(cout«ta;)if(s=2)cout«"按學(xué)號(hào)排序(降序)完成如下:"«endl;for(int i=0;i

21、<n-1 ;i+)for(int j=O;j<n-1 -i;j+)(if(tjgetnum()<tj+1.getnum()(P=tj;tu=tu+i;tj+1=p;)coutvv”姓名 性別 學(xué)號(hào) 班級(jí) 聯(lián)系電話”vvendl;for(int a=0;a<n;a+)(cout«ta;)getchar();)void count(student t,int n)(int i,c,temp=-1000;system("cls");fstream fs;("c:",ios:in);cout«"請(qǐng)輸入想統(tǒng)計(jì)人

22、數(shù)的班級(jí):"«endl;cin»c;int s=0;for(i=0;i<n;i+)(fs»ti;if(c=ti.getban()s+;temp=i;)cout«"該班級(jí)人數(shù)為:"«s«endl;0;if(temp=-1OOO)cout«endl«endl«"班級(jí)為"«c«"的學(xué)生不存在!"«endl;getchar();)void change(student t,int n)(int id,i,te

23、mp=-1000,run=0;system("cls");cout«"請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):"«endl;cin»id;fstream fs;("c:",ios:in|ios:out);for(i=0;i<n;i+)(if(id=ti.getnum()(coutvv”修改前該學(xué)生信息為: "«endl«"姓名 性別 學(xué)號(hào) 班級(jí) 聯(lián)系電話 "«endl;cout«ti;temp=i;run=2000;)0;if(run=2000

24、)("c:",ios:in|ios:out);coutvv”請(qǐng)輸入你修改該學(xué)生的信息為:"Vvendlvv”姓名 性別 學(xué)號(hào) 班級(jí) 聯(lián)系電話 "«endl;cin»ti;fs«ti;0;cout«"修改成功! "«endl;if(temp=-1000)cout«endl«endl«"姓名為"«id«"的學(xué)生不存在!"«endl;getchar();)int del(student t,int n)(int ber,temp=-1 OOO,run=O;int ij,nu;system("cls");cout<<"請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):"<<endl;cin>>ber;for(i=0;i<n;i+)(if(ber=ti.getnum()(temp=i;run=2000;if(run=2000)(cout<<"

溫馨提示

  • 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)論