學生信息管理系統(tǒng)c課設(shè)計報告_第1頁
學生信息管理系統(tǒng)c課設(shè)計報告_第2頁
學生信息管理系統(tǒng)c課設(shè)計報告_第3頁
學生信息管理系統(tǒng)c課設(shè)計報告_第4頁
學生信息管理系統(tǒng)c課設(shè)計報告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄刖舌2概要設(shè)計 3詳細設(shè)計4原程序清單和執(zhí)行結(jié)果6L源程序62.執(zhí)行結(jié)果34用戶使用說明36調(diào)試與測試36總結(jié)與體會36參考資料36刖言學生信息管理系統(tǒng),是針對學校人事處的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件, 是典型 的管理信息系統(tǒng)。它是一個教育單位不可缺少的部分,它的內(nèi)容對于學校管理者來說是至關(guān)重要的,能有效的幫助學校和老師掌握學生的情況。在傳統(tǒng)模式下利用人工進行學生信息管理,存在著較多的缺點,如:效率底,保密性差,時間一長將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護 等。諸如這些情況,令學校管理者對學生的信息管理帶來了很大困難,嚴重影響了教育工作者的工作 效率。隨著科學技術(shù)的不斷提高

2、,使用日趨成熟的計算機技術(shù)來代替?zhèn)鹘y(tǒng)的人工模式,來實現(xiàn)學生 信息的現(xiàn)代化管理,其強大的功能已為人們深刻認識, 它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分, 使用計算機對學生信息進行管理,具有著手工管理所無法比擬的優(yōu)點。 例如:檢索迅速、查找方便、易修改、 可靠性高、存儲量大、數(shù)據(jù)處理快捷、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生 信息管理的效率,也是學校實現(xiàn)科學化、正規(guī)化管理的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。概要設(shè)計1、功能模塊圖2、設(shè)計思路學生信息管理系統(tǒng)將學生信息定義為一個 person類,在類中包含數(shù)據(jù)成員: int

3、num;stri ng n ame;1 f string sex;int age;小 int banji;,八皿十二R學號、姓名、性別、年齡、班 void Read();可從文件中將記錄讀取到該類的數(shù)組中;然后定義了一個主菜單函數(shù)和三個分菜單函 數(shù),使功能菜單顯示在運行窗口以提示用戶如何進行操作。學別定義小、中 繼承perso 實現(xiàn)數(shù)生添加功能級 °aoxi heng、class zhongxuesheng class xue ngvoid Show();管 void Search();void Edit();void Delete();void Total();void Save(

4、);、大學二個類為class x舁定義公有da成員函數(shù)void生 實現(xiàn)數(shù)據(jù)顯示功能 實現(xiàn)數(shù)據(jù)查詢實現(xiàn) 數(shù)據(jù)修改功能實現(xiàn) 數(shù)據(jù)刪除功能實現(xiàn) 數(shù)據(jù)統(tǒng)計功能實現(xiàn)數(shù)據(jù)保存功能Add();生主函數(shù)是一個程序必不可少的,在主函數(shù)中,使用一個switch語句來選擇調(diào)用主菜單中的各個功能函數(shù)。詳細設(shè)計學生類中學生類 大學生類 小學生類 小學生管理類 中學生管理類 大學生管理類 小學生管理菜單函數(shù) 中學生管理菜單函數(shù) 大學生管理菜單函數(shù) 主函數(shù)1、程序中函數(shù)及數(shù)據(jù)介紹 class Personclass zhongxuesheng class daxuesheng class xiaoxuesheng clas

5、s xiao_Manage class zhong_Manage class da_Manage void xiaoMenu() void zhongMenu() void daMenu() int main()2、函數(shù)功能介紹2.1 顯示函數(shù)顯示保存的數(shù)據(jù)2.2 添加函數(shù)此函數(shù)實現(xiàn)的功能主要是,添加一個學生的信息,也就是說調(diào)用一次這個函 數(shù)只能添加一個學生的信息。在此函數(shù)中也使用文件處理的方式,但使用的是以 追加的方式打開文件,使輸入的學生信息寫在文件里原有信息的后面。2.3 刪除函數(shù)此函數(shù)實現(xiàn)的功能主要是,刪除一個學生的信息。在此函數(shù)中,先以讀的方 式打開文件,讀出文件里的信息在顯示在屏幕

6、上,用戶再根據(jù)提示信息輸入想要 刪除第幾個人的信息,關(guān)閉文件。再以寫的方式打開文件,以一個if條件語句控 制,再重新將學生信息寫入文件(除了打算刪除的那個學生的信息),由于是以寫的 方式打開的文件,所以文件里原有的輸入就都沒有了,存入的新的數(shù)據(jù)。2.4 修改函數(shù)此函數(shù)實現(xiàn)的功能主要是,修改一個學生的信息。此函數(shù)的設(shè)計方法和刪除 函數(shù)的設(shè)計思想相類似,應(yīng)用的思想都是將學生信息重新寫入文件的方法,將原 有數(shù)據(jù)覆蓋。2.5 查詢函數(shù)在查詢功能中,可以按多條件查詢,本系統(tǒng)分為兩個查詢條件,即按學號查詢和 按姓名查詢。使用if語句來選擇查詢條件。2.5.1 按學號查詢根據(jù)提示信息輸入學號后,然后使用一個

7、for循環(huán)語句,從第一個學生開始檢 索,如果該學生的學號和輸入的學號相等,則輸出該學生的信息,由于學生的 學 號是唯一固定的,所以并使用break語句跳出循環(huán)。當無查詢結(jié)果時,會輸出一條提示信息“無此人信息!”。2.5.2 按姓名查詢根據(jù)提示信息輸入姓名后,然后使用一個for循環(huán)語句,從第一個學生開始檢 索,如果該學生的姓名和輸入的姓名一樣,則輸出該學生的信息,由于學生 的姓 名有可能重復(fù)出現(xiàn),所以不能使用break語句跳出循環(huán),應(yīng)該從第一個學生開始檢 索直到最后一名學生。當無查詢結(jié)果時,會輸出一條提示信息“無此人信息!”。2.6 顯示函數(shù)此函數(shù)實現(xiàn)的功能主要是,顯示所有學生的信息。先是從文件

8、中讀取學生信息、, 然后在輸出到顯示窗口中。用一個for循環(huán)語句,來把所有學生的信息都輸出。2.7 退出系統(tǒng)當輸入“ 0”時,就能退出系統(tǒng),這是通過while語句來控制實現(xiàn)的。2.8 保存函數(shù)將輸入程序的數(shù)據(jù)保存到文件中2.9 統(tǒng)計函數(shù)根據(jù)選擇的統(tǒng)計方式,然后使用一個for循環(huán)語句,從第一個學生開始檢索,如果該學生的 信息和選擇統(tǒng)計方式一樣,則計數(shù)變量自增,應(yīng)該從第一個學生開始檢索直到最后一名學生。最后 輸出結(jié)果源程序清單和執(zhí)行結(jié)果1、源程序#include<iostream>#include<string>#include<fstream>#include

9、<iomanip>/ 輸入操縱const int TMAX=50;/ 定義常變量 using namespace std;class Person( public: int num; string name; string sex; int age; int banji;public:Person(int n=0,string nm="",string s='H,int a=0,int b=O):num(n),name(nm),sex(s),age(a),banji(b);virtual void lnput();虛函數(shù),派生類中重新定義virtual

10、void Output();int GetNum()return num;/ 獲取編號string GetName()return name;/獲取姓名);class zhongxuesheng:virtual public Person/聲明為虛基類是因為在派生類中只繼承一次 public: string depart; int spec;int title;int yuwen;int shuxue;int yingyu;int choicel;int choice2;public:zhongxuesheng(int n=0,string nm="n,string s=H男 n,i

11、nt a=0,int b=0,string d=H上海路"jnt sp=0,int t=O,int yw=0,int sx=0,int yy=O):Person(n,nm,s5a5b),depart(d),spec(sp)5title(t),yuwen(yw)5shuxue(sx),yingyu(yy);void lnput() (coutvv”請輸入學生生學號n«endl;cin»num;coutvv” 請輸入學生名字"vvendl; cin»name;cout«*,選擇性別";coutvv”(1.男 2.女)"

12、vvendl; coutvv” 請輸入你的選擇"«endl; cin»choice2;switch(choice2)(case 1 :sex=n 男 *'break;case 2:sex=n 女 *'break;default:cout«M 輸入錯誤。n«endl;break;)coutvv” 請輸入學生年齡 “vvendl; cin»age;coutvv”請輸入學生班級,'«endl;cin»banji;cout«H 選擇地址"«endl; cout«

13、;setw(10)«"1.上海路"«setw(10)«M2.北京東路 H«setw(10)«"3.路"vvsetw(10)vv”4.順外路"vvsetw(10)vv”5.南京東路”«setw(10)«"6.南京西路,«setw(10)«"7.解放東路"«setw(10)«H8.西路”vvsetw(10)vv”9.青山湖大道"vvendl;coutvv”請輸入你的選擇,'«endl

14、;北京西解放上海路1break;北京東路";break;北京西路”;break;順外路H;break;<南京東路H;break;南京西路“;break;解放東路”;break;解放西路cm»choice1;break;青山湖大道1break;switch(choice1)1 輸入錯誤。yendl;breakcase 1 :depart='fcase 2:depart=" '«endl;case 3:depart=Hcase 4:depart=Hcase 5:depart="fcase 6:depart=Hcase 7:de

15、part=Hcase 8:depart='fcase 9:depart=f,default:cout«H cout«H地理成績 cin»spec;cout«n 歷史成績"«endl; cin»title;cout«n 語文成績 H«endl; cin»yuwen;cout«n 數(shù)學成績 H«endl; cin»shuxue;cout«H 英語成績"«endl; cin»yingyu;void Output() cout

16、vvsetw(10)vv“ 學號 " vvsetw(10)vv" 姓名 " vvsetw(10)vv” 性另(j ” vvsetw(10)vv“ 年齡” vvsetw(10)vv” 班級 *' «endl;cout«setw(10)«num «setw(10)«name «setw(10)«sex «setw(10)«age «setw(10)«banji «endl;cout«setw(10)«K 地址 "

17、 «setw(10)«"地理 " «setw(10)«H 歷史 " «setw(10)«H 語文 “ vvsetw(10)vv“ 數(shù)學 “ vvsetw(10)vv” 英語 H «endl;cout«setw(10)«depart «setw(10)«spec «setw(10)«title «setw(10)«yuwen «setw(10)«shuxue «setw(10)«

18、yingyu «endl;);class daxuesheng:virtual public Person/大學生public:string zzmm;/ 家庭住址string zc;/ 專業(yè)int choice2;/ 性別選擇int choicel;int yuwen;int shuxue;int yingyu;intdili;int lishi;string lianxi;public:daxuesheng(int n=0,string nm=,H,string s="男",int a=0,int b=0,string z="",strin

19、g zc="",intyw=0,int sx=0,int yy=O,int dl=O,int ls=0,string lx=,"'):Person(n,nm,s,a),zzmm(z),zc(zc),yuwen(yw),shuxue(sx),yingyu(yy),dili(dl),l ishi(ls),lianxi(lx); void lnput() (cout«n 輸入學號"«endl;cin»num;cout«n 輸入名字"«endl;cin»name;cout«&

20、#39;t選擇性別”;coutvv”(1.男 2.女)"vvendl;coutvv”請輸入你的選擇"«endl;cin»choice2;switch(choice2) case 1 :sex=H 男"break;case 2:sex="女"break;default:cout«"輸入錯誤。"«endl;break;)cout«n 輸入年齡"«endl;cin»age;coutvv”請輸入學生班級,'«endl;cin»

21、banji;cout«H 選擇地址"«endl;coutvvsetw(10)vv”1.上海路"vvsetw(10)vv”2.北京東路 "vvsetw(10)vv”3.北京西 路,«setw(10)«"4. 順外路"vvsetw(10)«"5.南京東路”«setw(10)«"6.南京西路 "vvsetw(10)vv”7.解放東路 "vvsetw(10)vv”8.解放 西路 “vvsetw(10)vv”9.青山湖大道"vvendl

22、;coutvv”請輸入你的選擇n«endl;cin»choice1;switch(choicel)(case 1 :zzmm=H 上海路 "break;case 2:zzmm="北京東路 'break;case 3:zzmm="北京西路 'break;case 4:zzmm=" 順外路:break;case 5:zzmm="南京東路 'break;case 6:zzmm=' 南京西路 break;case 7:zzmm="解放東路break;case 8:zzmm="解放西

23、路break;case 9:zzmm="青山湖大道 H;break; default:cout«M 輸入錯誤。"«endl;break;)cout«u 輸入專業(yè)"«endl;cin»zc;cout«H 地理成績"«endl;cin»dili;coutvv“歷史成績"«endl;cin»lishi;cout«H 語文成績"«endl; cin»yuwen;cout«H 數(shù)學成績"«

24、;endl; cin»shuxue;cout«H 英語成績 H«endl; cin»yingyu;cout«H 聯(lián)系電話"«endl; cin»lianxi;void Output()(coutvvsetw(10)vv“ 學號”vvsetw(10)vv" 姓名”vvsetw(10)vv” 性另!J ”vvsetw(10)vv“ 年齡”«endl;cout«setw(10)«num «setw(10)«name «setw(10)«sex

25、 «setw(10)«age «endl;coutvvsetw(10)vv" 班級"vvsetw(10)vv" 地址”vvsetw(10)vv” 專業(yè)”vvsetw(10)vv" 地理”vvsetw(10)vv“ 歷史” «endl;cout«setw(10)«banji«setw(10)«zzmm«setw(10)«zc«setw(10)«dili«setw(10)«lishi«endl;cout

26、1;setw(10)«"語文"vvsetw(10)vv“ 數(shù)學”vvsetw(10)vv“ 英語”vvsetw(10)vv” 聯(lián)系電話”«endl; cout«setw(10)«yuwen«setw(10)«shuxue«setw(10)«yingyu«setw(12)«lianxi«endl;);class xiaoxuesheng:virtual public Person/小學生public:int yuwen;/ 語文int yingyu; 英語int sh

27、uxue;/ 數(shù)學int choice2;/ 選擇性別public:xiaoxuesheng(int n=0,string nm='Hstring s="男 n,int a=0,int b=O,int yw=0Jntyy=O,int sx=0):Person(n,nm5s,a),yuwen(yw),yingyu(yy)5shuxue(sx);void lnput()(cout«n 輸入學號"«endl;cin»num;coutvv” 輸入姓名"«endl;cin»name;cout«-選擇性別”;

28、coutvv”(1.男 2.女)"«endl;coutvv”請輸入你的選擇“vvendl;cin»choice2;switch(choice2) case 1 :sex=H 男 =break;case 2:sex="女 'break;default:cout«"輸入錯誤。"«endl;break;cout«"輸入年齡"vvendl; cin»age;cout«"輸入班級"«endl; cin»banji;coutvv”

29、 語文成績"«endl; cin»yuwen;cout«"英語成績"«endl; cin»yingyu;cout«"數(shù)學成績 n«endl;cin»shuxue;void Output()coutvvsetw(10)vv” 職工編號 “ vvsetw(10)vv" 姓名 " vvsetw(10)vv" 性另!J ” vvsetw(10)vv“ 年齡 " vvsetw(10)vv“ 班級 " vvsetw(10)vv” 語文 *

30、' «setw(10)«" 語 " vvsetw(10)vv” 數(shù)學 M «endl;cout«setw(10)«num «setw(10)«name «setw(10)«sex «setw(10)«age «setw(10)«banji «setw(10)«yuwen «setw(10)«yingyu «setw(10)«yingyu «endl;class xiao

31、_Manage/小學生管理類xiaoxuesheng zhongTMAX;/TMAX為常量,為數(shù)組中可存儲的教師記錄的最大數(shù); int top; /top表示當前系統(tǒng)中存儲的記錄個數(shù);public:/添加; 顯示; 查詢; 修改; 刪除;xiao Manaqe()(top=0:) /初始時記錄的個數(shù)為° '所以設(shè)置toP=°;void Add();void Show();void Search();void Edit();void Delete();void Total();/統(tǒng)計;void Save();/保存void Read();/可從文件中將記錄讀取到該類的

32、數(shù)組中;小學生void xiao_Manage:Add()/if(top>=TMAX)coutvv” 用戶已滿 H«endl;return;xiaoxuesheng t;/聲明又寸象cout«*,輸入新添加的人員的信息”vvendl;t.lnput();for(int i=0;i<top;i+)if (t.GetNum()=zhongi.GetNum()/輸入的編號與存在的編號比較(coutvv”該編號的人員已存在M«endl;return;zhongtop=t;top=top+1;cout«"添加成功!"«en

33、dl;)void xiao_Manage:Show()/ 小學生jf(top=0)(cout«n 無數(shù)據(jù)!H«endl;return;else(for(int i=0;i<top;i+) zhongi.Output();)void xiao_Manage:Search()/ 小學生if(top=0)cout«"當前系統(tǒng)中沒有存儲記錄"«endl; return;int choice; coutvv”請選擇查找方式:1.按編號查找2.按姓名查找vvendl; cin»choice; switch(choice) case

34、 1:coutvv”請輸入要查找的編號:K«endl;int num;cin»num;for(int i=0;i<top;i+)if(zhongi.GetNum()=num)<zhongi.Output(); return; )cout«"查無此人! "«endl;break;case 2:coutvv”請輸入要查找的姓名n«endl;string name; cin»name;for(int i=0;i<top;i+)df(zhongi.GetName()=name)<zhongi.Out

35、put();) )for( i=0;i<top;i+)if(zhongi.GetName()=name) return;cout«"查無此人! n«endl;break;default :cout«"無此選項!請重試!"«endl;break; )void xiao_Manage:Edit()/ 小學生 if(top=0) (cout«"當前系統(tǒng)中沒有存儲記錄r'«endl; return; int num;coutvv”請輸入要查找的教編號:"«endl; c

36、in»num;for(int i=0;i<top;i+) (if(zhongi.GetNum()=num) (coutvv”請對這位教師的信息進行修改:“vvendl;zhongi.lnput();coutvv" 修改成功"«endl;return;)cout«n 查無此人 H«endl;void xiao_Manage:Delete()/ 小學生if(top=0)(cout«"當前系統(tǒng)中沒有存儲記錄!"«endl; return;)cout«n1、按編號查找刪除2、按姓名查找刪

37、除”vvendl;int choice;cin»choice;switch(choice)(case 1:coutvv”請輸入編號:“;int num; cin»num;for(int i=0;i<top;i+)(if(num=zhongi.num)(cout«"是否確認刪除 1、是 2、否 ,'«endl; int choice; cin»choice; switch(choice)(case 1:for(int j=i;j<top-1;j+)zhong0=zhong0+1;cout«"刪除成

38、功! n«endl;top-;break;case 2:return;default:cout«"無止匕項,失貝攵! "«endl;break;Jreturn;)cout«"無it匕人! "«endl; ;break;case 2:coutvv”請輸入姓名:“;string name;cin»name;for(int i=0;i<top;i+)(if(name=)(cout«u 是否確認刪除 1、是 2、否 n«endl; int choice;c

39、in»choice; switch(choice)case 1:for(int j=i;j<top-1 ;j+)zhongj=zhongj+1;cout«"刪除成功! "«endl;top-;break;n«endl;break;return;case 2:return;default:cout«"無止匕項,失貝攵!)cout«"無jit人! "«endl; break;default:cout«H 沒有此項,失敗:n«endl;break;)voi

40、d xiao_Manage:Total()/ 小學生cout«-1按人數(shù)統(tǒng)計2按性別統(tǒng)計,'«endl;int choice;coutvv” 請輸入你的選擇"vvendl; cin»choice;switch(choice) (case 1 :coutvv” 小學生人數(shù)為:H«top«endl;break;case 2int a=0,b=0;/分別用于統(tǒng)計男女的人數(shù)for(int i=0;i<top;i+) (if(zhongi.sex="男 *') a+;if(zhongi.sex="女 *

41、') b+;)cout«"男性人數(shù)為,«a«endl;cout«"女性人數(shù)為,«b«endl;Jbreak;default:cout«n 輸入錯誤。請重新輸入 H«endl;break; )void xiao_Manage:Save()/ 小學生 (ofstream 用ofstreamout("D:yingLtxt",ios:out);定義文件流對象,打開磁盤文件 來支持從磁盤文件的輸入if(!out) (cout«"打開失敗 r«end

42、l;return;cout«"打開成功!"«endl;for(int i=0;i<top;i+) (out«zhongi.num«M H««H H«zhongi.sex«H M«zhongi.age«M H«zhongi.yuwen«M H«zhongi.yingyu«endl;/向磁盤文件輸出數(shù)據(jù) cout«n 寫入成功! *'«endl;out.close();void xia

43、o_Manage:Read()/ 小學生ifstream in("D:ying1 .txt",ios:in);/ifstream if(!in)用來支持向磁盤文件的輸出cout«"打開失敗!"«endl;return;)int i=0;while(in»zhongi.num»»zhongi.sex»zhongi.age»zhongi.yuwen»zhongi.yingyu)/當讀取成功執(zhí)行下面的語句zhongi.Output(); i+;top+;in.

44、close(););class zhong_Managezhongxuesheng zhongTMAX; int top; /top/TMAX為常量,為數(shù)組中可存儲的教師記錄的最大數(shù); 表示當前系統(tǒng)中存儲的記錄個數(shù);public:zhong_Manage()top=0; / void Add(); / void Show(); / void Search(); / void Edit();/void Delete(); / void Total (); / void Save();/void Read();/); void zhong_Manage:Add()初始時記錄的個數(shù)為0,所以設(shè)置to

45、p=0;添加;顯示;查詢;修改;刪除;統(tǒng)計;保存到文件;讀取到該類的數(shù)組中;if(top>=TMAX)coutvv”用戶已滿"«endl; return;zhongxuesheng t;cout«"輸入新添加的人員的信息”vvendl; t.lnput();for(int i=0;i<top;i+)if (t.GetNum()=zhongi.GetNum()coutvv”該編號的人員已存在n«endl; return;)zhongtop=t; top=top+1;cout«"添加成功!"«en

46、dl;)void zhong_Manage:Show()(if(top=0) (cout«*, 無數(shù)據(jù)!n«endl; return;for(int i=0;i<top;i+) zhongi.Output();void zhong_Manage:Search()if(top=0) (cout«"當前系統(tǒng)中沒有存儲記錄"«endl; return;int choice;coutvv”請選擇查找方式:1.按編號查找2.按姓名查找.,'«endl;cin»choice;switch(choice) (cas

47、e 1: coutvv” 請輸入要查找的編號:M«endl; intnum;cin»num; for(int i=0;i<top;i+)df(zhongi.GetNum()=num) <zhongi.Output();return;)cout«"查無此人! n«endl;break;case 2:coutvv”請輸入要查找的姓名M«endl;string name;cin»name;for(int i=0;i<top;i+) (if(zhongi.GetName()=name)(zhongi.Output(

48、);) )for( i=0;i<top;i+)if(zhongi.GetName()=name) return;cout«M 查無此人! "«endl;break;default :cout«"無此選項!請重試!"«endl;break;)void zhong_Manage:Edit()(if(top=0)(cout«"當前系統(tǒng)中沒有存儲記錄!n«endl;return;int num;coutvv”請輸入要查找的教編號:n«endl;cin»num;for(int i

49、=0;i<top;i+)(if(zhongi.GetNum()=num) (cout«H 請對該生信息進行修改:u«endl; zhongi.lnput(); coutvv" 修改成功"«endl;return;cout«H 查無此人 n«endl;void zhong_Manage:Delete()if(top=0)coutvv”當前系統(tǒng)中沒有存儲記錄!"«endl; return;)coutvv”1、按編號查找刪除2、按姓名查找刪除"«endl;int choice;cin&

50、#187;choice;switch(choice) (case 1:coutvv”請輸入編號:”;int num;cin»num;for(int i=0;i<top;i+)(if(num=zhongi.num)(cout«*, 是否確認刪除 1、是 2、否"vvendl; int choice;cin»choice;switch(choice)(case 1:(for(int j=i;j<top-1 ;j+) zhongj=zhongj+1;coutvv” 刪除成功! n«endl;top-; ;break;case 2:retu

51、rn;default:cout«H 無此項失敗! "«endl;break;return;)cout«"無此人! n«endl; ;break;case 2: string name;(cout«n請輸入姓名:cin»name;for(int i=0;i<top;i+)(if(name=) (coutvv” 是否確認刪除 1、是 2、否"«endl; int choice;cin»choice; switch(choice) case 1:for(int j

52、=i;j<top-1;j+)zhong0=zhong0+1;cout«H 刪除成功! H«endl; top-;break; case 2:return; default:cout«M 無也匕項,失貝攵! H«endl;break;return;)Jcout«"無小匕人! "«endl; break;default:cout«n 沒有此項,失?。?quot;«endl;break;)void zhong_Manage:Total()<cout«"1按人數(shù)統(tǒng)計2按性

53、別統(tǒng)計3按地址統(tǒng)計n«endl; int choice;coutvv” 請輸入你的選擇"«endl; cin»choice;switch(choice)(case 1 :cout«', 中學生人數(shù)為:"vvtopvvendl;break;case 2(int a=0,b=0;for(int i=0;i<top;i+)if(zhongi.sex="男")a+;if(zhongi.sex="女 *') b+;cout«"男生人數(shù)為n«a«endl;

54、cout«"女生人數(shù)為,«b«endl; Jbreak;case 3:int a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;/ 數(shù)分別統(tǒng)計各地的人for(int i=0;i<top;i+)(if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart

55、=" if(zhongi.depart=" if(zhongi.depart="cout«M上海路人數(shù)為"«a1«endl;上海路")a1+;北京 東路”)a2+;北京西 路 ”)a3+;順外路”)a4+;南京 東路")a5+;南京西 路u) a6+;解放東路 ”)a7+;解放西路”) a8+;青山湖大道”) a9+;coutvv”北京東路人數(shù)為n«a2«endl;coutvv”北京西路人數(shù)為n«a3«endl;coutvv”順外路人數(shù)為n«a4«

56、;endl;cout«M南京東路人數(shù)為 cout«H南京西路人數(shù)為 COUt«"解放東路人數(shù)為 COUt«"解放西路人數(shù)為"«a5«endl;"«a6«endl;n«a7«endl;"«a8«endl;cout«M青山湖大道人數(shù)為,«a9«endl; Jbreak;default:cout«H 輸入錯誤。請重新輸入"«endl;break;void zhong_Man

57、age:Save() (ofstream out("D:ying2.txt",ios:out); if(!out) (coutvv” 打開失敗 r«endl;return;cout«"打開成功!H«endl; for(int i=0;i<top;i+)out«zhongi.num«M n ««,f H «zhongi.sex«H n «zhongi.age«H ,f «zhongi.depart«H n &#

58、171;zhongi.spec«H n «zhongi.title «endl;cout«M 寫入成功! H«endl; out.close();void zhong_Manage:Read()ifstream in(MD:ying2.txt",ios:in); if(!in) (coutvv” 打開失敗!H«endl;return;int i=0;while(in»zhongi.num»»zhongi.sex»zhongi.age »zhongi.de

59、part»zhongi.spec»zhongi.title) (zhongi.Output();i+;top+;in.close(););class da_Manage表示當前系統(tǒng)中存儲的記錄個數(shù);int top; /toppublic:da_Manage()top=0; /void Add();/void Show(); /void Search(); /daxuesheng zhongTMAX;/TMAX為常量,為數(shù)組中可存儲的教師記錄的最大數(shù);初始時記錄的個數(shù)為0,所以設(shè)置top=0 添加;顯示;查詢;if(top>=TMAX)修改;刪除;統(tǒng)計;保存到文件;讀取

60、到該 類的數(shù)組中;void Edit();/void Delete(); / void Total(); / void Save();/void Read();/); void da_Manage:Add()( coutvv” 用戶已滿 “vvendl; return;daxuesheng t;cout«n輸入新添加的人員的信息“vvendl;t.lnput();for(int i=0;i<top;i+)if (t.GetNum()=zhongi.GetNum() coutvv”該編號的人員已存在n«endl; return; )zhongtop=t;top=top+

61、1;cout«n 添加成功!n«endl; )void da_Manage:Show()if(top=0) (cout«H 無數(shù)據(jù)!"«endl; return;for(int i=0;i<top;i+) zhongi.Output();void da_Manage:Search() (if(top=0) (cout«"當前系統(tǒng)中沒有存儲記錄"«endl; return;int choice;coutvv”請選擇查找方式:1 .按編號查找2.按姓名查找,Jvvendl; cin»choic

62、e; switch(choice) (case 1:coutvv”請輸入要查找的編號:n«endl;int num;cin»num;for(int i=0;i<top;i+)if(zhongi.GetNum()=num) (zhongi.Output(); return;)cout«"查無此人! n«endl;break;case 2:coutvv”請輸入要查找的姓名n«endl;string name;cin»name;for(int i=0;i<top;i+)(if(zhongi.GetName()=name

63、)(zhongi.Output();) )for( i=0;i<top;i+)if(zhongi.GetName()=name) return;cout«"查無此人! "«endl;break;default :cout«"無此選項!請重試!"«endl;break; )void da_Manage:Delete()(if(top=0)cout«H當前系統(tǒng)中沒有存儲記錄!H«endl; return;cout«-1按編號查找刪除2、按姓名查找刪除M«endl;int c

64、hoice;cin»choice;switch(choice)(case 1:coutvv”請輸入編號:“;int num;cin»num;for(int i=0;ivtop;i+)(if(num=zhongi.num)cout«n是否確認刪除1、是2、否M«endl;int choice;cin»choice;switch(choice)(case 1:(for(int j=i;j<top-1 ;j+)zhong0=zhong0+1;coutvv”刪除成功! "«endl;top-;break;case 2:return;default:cout&#

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論