




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、、F、.前言概要設(shè)計(jì)詳細(xì)設(shè)計(jì)原程序清單和執(zhí)行結(jié)果1. 源程序2. 執(zhí)行結(jié)果34用戶使用說(shuō)明36調(diào)試與測(cè)試36總結(jié)與體會(huì)36參考資料36前言學(xué)生信息管理系統(tǒng), 是針對(duì)學(xué)校人事處的大量業(yè)務(wù)處理工作而開(kāi)發(fā)的管理軟件,是典型的管理信息系統(tǒng)。它是一個(gè)教育單位不可缺少的部分, 它的內(nèi)容對(duì)于學(xué)校管理者來(lái)說(shuō)是至關(guān)重要的,能有效的幫助學(xué)校和老師掌握學(xué)生的情況。 在傳統(tǒng)模式下利用人工進(jìn)行學(xué)生信息管理,Z ./ . , /、.存在著較多的缺點(diǎn),如:效率底,保密性差,時(shí)間一長(zhǎng)將產(chǎn)生大量的文件和數(shù)據(jù),更不便于查找,更新,維護(hù)等。 諸如這些情況,令學(xué)校管理者對(duì)學(xué)生的信息管理帶來(lái)了很大困難,嚴(yán)重影響了教育工作者的工作效率。
2、 隨著科學(xué)技術(shù)的不斷提高, 使用日趨成熟的計(jì)算機(jī)技術(shù)來(lái)代替?zhèn)鹘y(tǒng)的人工模式, 來(lái)實(shí)現(xiàn)學(xué)生信息的現(xiàn)代化管理, 其強(qiáng)大的功能已為人們深刻認(rèn)識(shí), 它已進(jìn)入人- # -類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分, 使用計(jì)算機(jī)對(duì)學(xué)生信息進(jìn)行管理, 具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn)。 例如:檢索迅速、查找方便、 易修改、可靠性高、存儲(chǔ)量大、數(shù)據(jù)處理快捷、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生信息管理的效率,也是學(xué)校實(shí)現(xiàn)科學(xué)化、正規(guī)化管理的重要條件。 因此, 開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情。概要設(shè)計(jì)1、功能模塊圖-3 -2、設(shè)計(jì)思路將學(xué)生信息定義為一個(gè)person類
3、,在類中包含數(shù)據(jù)成員:int num;stri ng n ame;stri ng sex;int age;int banji;,分別表示學(xué)號(hào)、姓名、性別、年齡、班級(jí)。分別定義小、中、大學(xué)三個(gè)類為 class xiaoxuesheng class zhongxuesheng class daxuesheng 并繼承person類,而后分別為它們一個(gè)管理類并定義公有成員函數(shù)voidAdd();實(shí)現(xiàn)數(shù)據(jù)添加功能void Show();實(shí)現(xiàn)數(shù)據(jù)顯示功能void Search();實(shí)現(xiàn)數(shù)據(jù)查詢功能void Edit();實(shí)現(xiàn)數(shù)據(jù)修改功能void Delete();實(shí)現(xiàn)數(shù)據(jù)刪除功能void Total()
4、;實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)功能void Save();實(shí)現(xiàn)數(shù)據(jù)保存功能void Read();可從文件中將記錄讀取到該類的數(shù)組中;然后定義了一個(gè)主菜單函數(shù)和三個(gè)分菜單函數(shù),使功能菜單顯示在運(yùn)行窗口以提示用 戶如何進(jìn)行操作。switch語(yǔ)句來(lái)選擇調(diào)用主菜單主函數(shù)是一個(gè)程序必不可少的,在主函數(shù)中,使用一個(gè) 中的各個(gè)功能函數(shù)。詳細(xì)設(shè)計(jì)1、程序中函數(shù)及數(shù)據(jù)介紹class Personclass zhongxuesheng class daxuesheng class xiaoxuesheng class xiao_Manage class zhong_Manage class da_Manage void xia
5、oMenu() void zhongMenu() void daMenu() int main()學(xué)生類中學(xué)生類大學(xué)生類 小學(xué)生類 小學(xué)生管理類 中學(xué)生管理類 大學(xué)生管理類 小學(xué)生管理菜單函數(shù) 中學(xué)生管理菜單函數(shù) 大學(xué)生管理菜單函數(shù) 主函數(shù)2、函數(shù)功能介紹2.1 顯示函數(shù)顯示保存的數(shù)據(jù)2.2 添加函數(shù)此函數(shù)實(shí)現(xiàn)的功能主要是, 添加一個(gè)學(xué)生的信息, 也就是說(shuō)調(diào)用一次這個(gè)函數(shù)只能添加一個(gè)學(xué)生的信息。 在此函數(shù)中也使用文件處理的方式, 但使用的是以追加的方式打開(kāi)文件,使輸入的學(xué)生信息寫(xiě)在文件里原有信息的后面。2.3 刪除函數(shù)此函數(shù)實(shí)現(xiàn)的功能主要是, 刪除一個(gè)學(xué)生的信息。 在此函數(shù)中, 先以讀的方式打
6、開(kāi)文件, 讀出文件里的信息在顯示在屏幕上, 用戶再根據(jù)提示信息輸入想要?jiǎng)h除第幾個(gè)人的信息, 關(guān)閉文件。 再以寫(xiě)的方式打開(kāi)文件, 以一個(gè) if 條件語(yǔ)句控制,再重新將學(xué)生信息寫(xiě)入文件(除了打算刪除的那個(gè)學(xué)生的信息),由于是以寫(xiě)的方式打開(kāi)的文件,所以文件里原有的輸入就都沒(méi)有了,存入的新的數(shù)據(jù)。2.4 修改函數(shù)此函數(shù)實(shí)現(xiàn)的功能主要是, 修改一個(gè)學(xué)生的信息。 此函數(shù)的設(shè)計(jì)方法和刪除函數(shù)的設(shè)計(jì)思想相類似, 應(yīng)用的思想都是將學(xué)生信息重新寫(xiě)入文件的方法,將原有數(shù)據(jù)覆蓋。- 15 -2.5 查詢函數(shù)在查詢功能中,可以按多條件查詢,本系統(tǒng)分為兩個(gè)查詢條件,即按學(xué)號(hào)查 詢和按姓名查詢。使用 if 語(yǔ)句來(lái)選擇查詢條
7、件。2.5.1 按學(xué)號(hào)查詢根據(jù)提示信息輸入學(xué)號(hào)后,然后使用一個(gè) for 循環(huán)語(yǔ)句,從第一個(gè)學(xué)生開(kāi)始 檢索,如果該學(xué)生的學(xué)號(hào)和輸入的學(xué)號(hào)相等, 則輸出該學(xué)生的信息, 由于學(xué)生的學(xué)號(hào)是唯一固定的,所以并使用 break 語(yǔ)句跳出循環(huán)。 當(dāng)無(wú)查詢結(jié)果時(shí),會(huì)輸出一條提示信息“無(wú)此人信息! ”2.5.2 按姓名查詢根據(jù)提示信息輸入姓名后,然后使用一個(gè) for 循環(huán)語(yǔ)句,從第一個(gè)學(xué)生開(kāi) 始檢索,如果該學(xué)生的姓名和輸入的姓名一樣, 則輸出該學(xué)生的信息, 由于學(xué)生 的姓名有可能重復(fù)出現(xiàn),所以不能使用 break 語(yǔ)句跳出循環(huán),應(yīng)該從第一個(gè)學(xué)生 開(kāi)始檢索直到最后一名學(xué)生。當(dāng)無(wú)查詢結(jié)果時(shí),會(huì)輸出一條提示信息“無(wú)此
8、人信息! ”2.6 顯示函數(shù)此函數(shù)實(shí)現(xiàn)的功能主要是,顯示所有學(xué)生的信息。先是從文件中讀取學(xué)生信息,出。然后在輸出到顯示窗口中。用一個(gè)for 循環(huán)語(yǔ)句,來(lái)把所有學(xué)生的信息都輸2.7退出系統(tǒng)當(dāng)輸入“ 0”時(shí),就能退出系統(tǒng),這是通過(guò) while 語(yǔ)句來(lái)控制實(shí)現(xiàn)的。2.8保存函數(shù)將輸入程序的數(shù)據(jù)保存到文件中2.9統(tǒng)計(jì)函數(shù)根據(jù)選擇的統(tǒng)計(jì)方式,然后使用一個(gè)for 循環(huán)語(yǔ)句,從第一個(gè)學(xué)生開(kāi)始檢索,如果該學(xué)生的信息和選擇統(tǒng)計(jì)方式一樣, 則計(jì)數(shù)變量自增, 應(yīng)該從第一個(gè)學(xué)生開(kāi)始檢索直到最后一名學(xué)生。最后輸出結(jié)果源程序清單和執(zhí)行結(jié)果1、源程序輸入操縱定義常變量#include<iostream> #in
9、clude<string> #include<fstream> #include<iomanip>/ const int TMAX=50;/ using namespace std; class Person public: int num; string name; string sex; int age; int banji;public: Person(intn=0,stringnm="",strings="",inta=0,intb=0):num(n),name(nm),sex(s),age(a),banji(
10、b);virtual void Input();/ 虛函數(shù),派生類中重新定義 virtual void Output();int GetNum()return num;/獲取編號(hào)string GetName()return name;/ 獲取姓名;聲明為虛基類是因?yàn)樵谂缮愔兄焕^承一class zhongxuesheng:virtual public Person/ 次 public:string depart; int spec; int title; int yuwen;int shuxue; int yingyu;int choice1;男 ",int a=0,int b=0,
11、string d="int choice2; public: zhongxuesheng(int n=0,string nm="",string s=" 上海路 ",int sp=0,int t=0,int yw=0,int sx=0,int yy=0):Person(n,nm,s,a,b),depart(d),spec(sp),title(t),yuwen(yw),shuxue(sx),yingyu(yy);void Input()cout<<" 請(qǐng)輸入學(xué)生生學(xué)號(hào) "<<endl; cin>&
12、gt;num;cout<<" 請(qǐng)輸入學(xué)生名字 "<<endl; cin>>name;cout<<" 選擇性別 "cout<<"(1.男 2.女)"<<endl;cout<<" 請(qǐng)輸入你的選擇 "<<endl; cin>>choice2;switch(choice2)case 1:sex=" 男 "break;case 2:sex=" 女 ”;break;default:cout&
13、lt;<" 輸入錯(cuò)誤。 "<<endl;break;cout<<" 請(qǐng)輸入學(xué)生年齡 "<<endl; cin>>age;cout<<" 請(qǐng)輸入學(xué)生班級(jí) "<<endl;cin>>banji;cout<<" 選擇地址 "<<endl;cout<<setw(10)<<"1. 上海路 "<<setw(10)<<"2. 北京東路 &q
14、uot;<<setw(10)<<"3. 北京西路"<<setw(10)<<"4. 順外路"<<setw(10)<<"5. 南京東路”<<setw(10)<<"6. 南京西路 "<<setw(10)<<"7. 解放東路 "<<setw(10)<<"8. 解放 西路"<<setw(10)<<"9.青山湖大道&quo
15、t;<<endl;cout<<" 請(qǐng)輸入你的選擇 "<<endl; cin>>choice1;switch(choice1)上海路 "break; 北京東路 "break; 北京西路 "break; 順外路 "break; 南京東路 "break; 南京西路 "break; 解放東路 "break; 解放西路 "break; 青山湖大道 輸入錯(cuò)誤。case 1:depart="case 2:depart="case 3:depa
16、rt="case 4:depart="case 5:depart="case 6:depart="case 7:depart="case 8:depart=""break;"<<endl;break;case 9:depart="default:cout<<""<<endl;"<<endl;cout<<" 地理成績(jī) cin>>spec;cout<<" 歷史成績(jī)cout<
17、;<setw(10)<<num<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<age<<setw(10)<<banji<<endl;cout<<setw(10)<<"地址 "<<setw(10)<<"地理 "<<setw(10)<<"歷史"<<setw(10)<<"語(yǔ)文
18、 "<<setw(10)<<"數(shù)學(xué)"<<setw(10)<<"英語(yǔ)"<<endl;cin>>title; cout<<" 語(yǔ)文成績(jī) cin>>yuwen;cout<<" 數(shù)學(xué)成績(jī) cin>>shuxue;cout<<" 英語(yǔ)成績(jī)"<<endl;"<<endl;"<<endl;cin>>yingyu; void
19、 Output() cout<<setw(10)<<"學(xué)號(hào)"<<setw(10)<<"姓名"<<setw(10)<<"性別"<<setw(10)<<"年齡"<<setw(10)<<"班級(jí)"<<endl;cout<<setw(10)<<depart<<setw(10)<<spec<<setw(10)<&
20、lt;title<<setw(10)<<yuwen<<setw(10)<<shuxue<<setw(10)<<yingyu<<endl;大學(xué)生家庭住址 專業(yè)性別選擇class daxuesheng:virtual public Person/ public:string zzmm;/ string zc;/ int choice2;/int choice1;int yuwen;int shuxue;int yingyu;int dili;int lishi;string lianxi;public:daxues
21、heng(int n=0,string nm="",string s=" 男 ",int a=0,int b=0,string z="",string zc="",int yw=0,int sx=0,int yy=0,int dl=0,int ls=0,string lx=""):Person(n,nm,s,a),zzmm(z),zc(zc),yuwen(yw),shuxue(sx),yingyu(yy),dili(dl),lishi(ls),lianxi(lx);void Input()cou
22、t<<" 輸入學(xué)號(hào) cin>>num; cout<<" 輸入名字 cin>>name; cout<<" 選擇性別 cout<<"(1. 男 2."<<endl;"<<endl;H.女)"<<e ndl;cout<<" 請(qǐng)輸入你的選擇 "<<endl;cin>>choice2;switch(choice2)case 1:sex=" 男 ”;break;ca
23、se 2:sex=" 女"break;default:cout<<" 輸入錯(cuò)誤。 "<<endl;break;cout<<" 輸入年齡 "<<endl;cin>>age;cout<<" 請(qǐng)輸入學(xué)生班級(jí) "<<endl;cin>>banji;cout<<" 選擇地址 "<<endl;cout<<setw(10)<<"1. 上海路 "&l
24、t;<setw(10)<<"2. 北京東路 "<<setw(10)<<"3. 北京西 路"<<setw(10)<<"4.順外路"<<setw(10)<<"5. 南京東路”<<setw(10)<<"6. 南京西路 "<<setw(10)<<"7. 解放東路 "<<setw(10)<<"8. 解放 西路"<
25、;<setw(10)<<"9.青山湖大道"<<endl;cout<<" 請(qǐng)輸入你的選擇 "<<endl;cin>>choice1;switch(choice1)上海路 "break; 北京東路 "break; 北京西路 "break;case 1:zzmm="case 3:zzmm="case 2:zzmm="case 4:zzmm="case 5:zzmm="case 6:zzmm="case 7:
26、zzmm="case 8:zzmm="順外路 "break;南京東路南京西路解放東路解放西路"break; "break; "break; "break;case 9:zzmm="default:cout<<"青山湖大道 "break;輸入錯(cuò)誤。 "<<endl;break;cout<<" 輸入專業(yè) cin>>zc;cout<<" 地理成績(jī)"<<endl;"<<e
27、ndl;cin>>dili;cout<<" 歷史成績(jī)"<<endl;cin>>lishi; cout<<" 語(yǔ)文成績(jī) cin>>yuwen; cout<<" 數(shù)學(xué)成績(jī) cin>>shuxue; cout<<" 英語(yǔ)成績(jī) cin>>yingyu; cout<<" 聯(lián)系電話 cin>>lianxi;void Output()cout<<setw(10)<<"<
28、;<setw(10)<<"<<setw(10)<<"<<setw(10)<<" <<endl;"<<endl;"<<endl;"<<endl;"<<endl;學(xué)號(hào)" 姓名" 性別" 年齡"cout<<setw(10)<<num<<setw(10)<<name<<setw(10)<<sex&l
29、t;<setw(10)<<age<<endl;cout<<setw(10)<<" 班級(jí) "<<setw(10)<<" 地址 "<<setw(10)<<" 專業(yè) "<<setw(10)<<" 地理 "<<setw(10)<<" 歷史 "<<endl;cout<<setw(10)<<banji <<set
30、w(10)<<zzmm <<setw(10)<<zc<<setw(10)<<dili <<setw(10)<<lishi <<endl;cout<<setw(10)<<" <<setw(10)<<" <<setw(10)<<" <<setw(10)<<" <<endl;語(yǔ)文 " 數(shù)學(xué)" 英語(yǔ)" 聯(lián)系電話 "cout
31、<<setw(10)<<yuwen <<setw(10)<<shuxue <<setw(10)<<yingyu <<setw(12)<<lianxi <<endl;class xiaoxuesheng:virtual public Person/public:int yuwen;/int yingyu;/int shuxue;/int choice2;/public:語(yǔ)文英語(yǔ)數(shù)學(xué)選擇性別小學(xué)生xiaoxuesheng(int n=0,string nm="",stri
32、ng s=" yy=0,int sx=0):Person(n,nm,s,a),yuwen(yw),yingyu(yy),shuxue(sx); void Input() cout<<" 輸入學(xué)號(hào) cin>>num; cout<<" 輸入姓名 cin>>name; cout<<" 選擇性別 cout<<"(1. 男 2."<<endl;"<<endl;H.女)"<<e ndl;男 ",int a=0,
33、int b=0,int yw=0,intcout<<" 請(qǐng)輸入你的選擇 "<<endl;cin>>choice2;switch(choice2)case 1:sex=" 男 ”;break;case 2:sex=" 女"break;default:cout<<" 輸入錯(cuò)誤。 "<<endl;break;cout<<" 輸入年齡 "<<endl;cin>>age;cout<<" 輸入班級(jí)&q
34、uot;<<endl;cin>>banji;cout<<" 語(yǔ)文成績(jī)"<<endl;cin>>yuwen;cout<<" 英語(yǔ)成績(jī)cin>>yingyu;cout<<" 數(shù)學(xué)成績(jī)cin>>shuxue; void Output()"<<endl;"<<endl;cout<<setw(10)<<"職工編號(hào) "<<setw(10)<<&quo
35、t;姓名"<<setw(10)<<"性別"<<setw(10)<<"年齡"<<setw(10)<<"班級(jí)"<<setw(10)<<"語(yǔ)文 "<<setw(10)<<"英語(yǔ)"<<setw(10)<<"數(shù)學(xué)"<<endl;cout<<setw(10)<<num <<setw(10)
36、<<name <<setw(10)<<sex <<setw(10)<<age <<setw(10)<<banji <<setw(10)<<yuwen <<setw(10)<<yingyu <<setw(10)<<yingyu <<endl; ;class xiao_Manage/ 小學(xué)生管理類xiaoxuesheng zhongTMAX; /TMAX int top; /toppublic:=1.量,為常量,為數(shù)組中可存儲(chǔ)的教師
37、記錄的最大數(shù);表示當(dāng)前系統(tǒng)中存儲(chǔ)的記錄個(gè)數(shù);xiao_Manage()top=0; / 初始void Add();/添加;void Show();/顯示;void Search();/查詢;void Edit();/修改;void Delete();/刪除;void Total();/統(tǒng)計(jì);0,所以設(shè)置 top=0;void Save();/void Read();/;void xiao_Manage:Add()/ 保存可從文件中將記錄讀取到該類的數(shù)組中;小學(xué)生if(top>=TMAX)cout<<" 用戶已滿 "<<endl;return;x
38、iaoxuesheng t;/ 聲明對(duì)象cout<<" 輸入新添加的人員的信息 "<<endl;t.Input();for(int i=0;i<top;i+)if (t.GetNum()=zhongi.GetNum()/cout<<" 該編號(hào)的人員已存在 "<<endl; return;zhongtop=t;top=top+1;cout<<" 添加成功 !"<<endl;void xiao_Manage:Show()/ 小學(xué)生輸入的編號(hào)與存在的編號(hào)比較if(
39、top=0)cout<<" 無(wú)數(shù)據(jù) !"<<endl; return; elsefor(int i=0;i<top;i+) zhongi.Output();void xiao_Manage:Search()/ 小學(xué)生if(top=0)cout<<" 當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄 "<<endl; return;int choice;- 19 -cout<<" 請(qǐng)選擇查找方式 :1. 按編號(hào)查找 2. 按姓名查找 ."<<endl; cin>>choic
40、e;switch(choice)case 1:cout<<" 請(qǐng)輸入要查找的編號(hào) :"<<endl;int num; cin>>num;for(int i=0;i<top;i+) if(zhongi.GetNum()=num)zhongi.Output();return;cout<<" 查無(wú)此人! "<<endl;break;case 2:cout<<" 請(qǐng)輸入要查找的姓名 "<<endl;string name;cin>>name;
41、for(int i=0;i<top;i+)if(zhongi.GetName()=name)zhongi.Output();for( i=0;i<top;i+)if(zhongi.GetName()=name) return;cout<<" 查無(wú)此人! "<<endl;break;default :cout<<" 無(wú)此選項(xiàng) ! 請(qǐng)重試 !"<<endl;break;小學(xué)生void xiao_Manage:Edit()/if(top=0)cout<<" 當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄
42、 !"<<endl; return;int num;cout<<" 請(qǐng)輸入要查找的教編號(hào) :"<<endl; cin>>num;for(int i=0;i<top;i+)if(zhongi.GetNum()=num)cout<<" 請(qǐng)對(duì)這位教師的信息進(jìn)行修改 :"<<endl;zhongi.Input();cout<<" 修改成功 "<<endl;return;cout<<" 查無(wú)此人 "&l
43、t;<endl;小學(xué)生void xiao_Manage:Delete()/if(top=0)cout<<" 當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄 !"<<endl; return; cout<<"1、按編號(hào)查找刪除 int choice; cin>>choice; switch(choice) case 1:cout<<"、按姓名查找刪除 "<<endl;請(qǐng)輸入編號(hào):int num; cin>>num;for(int i=0;i<top;i+)if(num=zho
44、ngi.num)cout<<" 是否確認(rèn)刪除? int choice;cin>>choice; switch(choice) case 1:H.1 、是 2 、否 "<<endl;for(int j=i;j<top-1;j+) zhongj=zhongj+1;cout<<"刪除成功! "<<endl;- # -top-;break;case 2:return;default:cout<<" 無(wú)此項(xiàng),失敗! "<<endl;break;return
45、;cout<<" 無(wú)此人! "<<endl; ;break;case 2: cout<<"請(qǐng)輸入姓名: "string name; cin>>name;for(int i=0;i<top;i+)if(name=)cout<<" 是否確認(rèn)刪除? int choice;cin>>choice;1 、是 2 、否 "<<endl;switch(choice)case 1:for(int j=i;j<top-1;j+)zhon
46、gj=zhongj+1;cout<<" 刪除成功! "<<endl;top-;break;case 2:return;default:cout<<" 無(wú)此項(xiàng),失?。?"<<endl;break;return;cout<<" 無(wú)此人! "<<endl; break;default:cout<<" 沒(méi)有此項(xiàng),失?。?"<<endl;break;小學(xué)生void xiao_Manage:Total()/cout<<&
47、quot;1 按人數(shù)統(tǒng)計(jì) 2 按性別統(tǒng)計(jì) "<<endl; int choice;cout<<" 請(qǐng)輸入你的選擇 "<<endl; cin>>choice;switch(choice)case 1:cout<<" 小學(xué)生人數(shù)為 :"<<top<<endl;break; case 2:int a=0,b=0;/ 分別用于統(tǒng)計(jì)男女的人數(shù) for(int i=0;i<top;i+)男") a+; 女") b+;if(zhongi.sex=&q
48、uot;if(zhongi.sex="cout<<" 男性人數(shù)為 "<<a<<endl;cout<<" 女性人數(shù)為 "<<b<<endl;break;default:cout<<" 輸入錯(cuò)誤。請(qǐng)重新輸入 "<<endl;break;void xiao_Manage:Save()/ 小學(xué)生定義文 件流對(duì)象,打 開(kāi)磁盤(pán)文 件,ofstream out("D:ying1.txt",ios:out);/ofstream
49、 用來(lái)支持從磁盤(pán)文件的輸入if(!out)cout<<" 打開(kāi)失敗 !"<<endl; return;cout<<" 打開(kāi)成功 !"<<endl;for(int i=0;i<top;i+)out<<zhongi.num<<" "<<<<" " <<zhongi.sex<<" " <<zhongi.age<<" &qu
50、ot;<<zhongi.yuwen<<" "<<zhongi.yingyu<<endl;/ 向磁盤(pán)文件輸出數(shù)據(jù)cout<<" 寫(xiě)入成功! "<<endl; out.close();void xiao_Manage:Read()/ 小學(xué)生ifstream in("D:ying1.txt",ios:in);/ifstreamif(!in)cout<<" 打開(kāi)失敗 !"<<endl;用來(lái)支持向磁盤(pán)文件的輸出return;int
51、 i=0;while(in>>zhongi.num>>>>zhongi.sex>>zhongi.age>>zhongi.yuwen>>zhongi.yingyu)/當(dāng)讀取成功執(zhí)行下面的語(yǔ)句zhongi.Output();i+; top+; in.close();class zhong_Managezhongxuesheng zhongTMAX; int top; /toppublic:zhong_Manage()top=0; / void Add(); void Show(); void Search
52、(); void Edit(); void Delete(); void Total(); void Save(); void Read();/TMAX 為常量,為數(shù)組中可存儲(chǔ)的教師記錄的最大數(shù);表示當(dāng)前系統(tǒng)中存儲(chǔ)的記錄個(gè)數(shù);/初始時(shí)記錄的個(gè)數(shù)為 0,所以設(shè)置 top=0; 添加; 顯示; 查詢; 修改; 刪除; 統(tǒng)計(jì); 保存到文件; 讀取到該類的數(shù)組中;void zhong_Manage:Add()if(top>=TMAX)cout<<" 用戶已滿 return;"<<endl;- 23 -zhongxuesheng t;cout<&l
53、t;" 輸入新添加的人員的信息 "<<endl;t.Input();for(int i=0;i<top;i+)if (t.GetNum()=zhongi.GetNum()cout<<" 該編號(hào)的人員已存在 "<<endl; return;zhongtop=t;top=top+1;cout<<" 添加成功 !"<<endl;void zhong_Manage:Show()if(top=0)cout<<" 無(wú)數(shù)據(jù) !"<<endl
54、;return;for(int i=0;i<top;i+)zhongi.Output();void zhong_Manage:Search()if(top=0)cout<<" 當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄 "<<endl; return;int choice;cout<<" 請(qǐng)選擇查找方式 :1. 按編號(hào)查找 2. 按姓名查找 ."<<endl;cin>>choice; switch(choice) case 1: cout<<" 請(qǐng)輸入要查找的編號(hào) :"<
55、<endl; int num; cin>>num;for(int i=0;i<top;i+)if(zhongi.GetNum()=num)- 25 -zhongi.Output();return;cout<<" 查無(wú)此人! "<<endl;break;case 2:cout<<" 請(qǐng)輸入要查找的姓名 "<<endl;string name;cin>>name;for(int i=0;i<top;i+)if(zhongi.GetName()=name)zhongi.O
56、utput();for( i=0;i<top;i+)if(zhongi.GetName()=name) return;cout<<" 查無(wú)此人! "<<endl;break;default :cout<<" 無(wú)此選項(xiàng) ! 請(qǐng)重試 !"<<endl;break;void zhong_Manage:Edit()if(top=0)cout<<" 當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄 !"<<endl; return;int num;cout<<" 請(qǐng)輸入要
57、查找的教編號(hào) :"<<endl;cin>>num;for(int i=0;i<top;i+)if(zhongi.GetNum()=num)zhongi.Input();cout<<" 修改成功 "<<endl;return;cout<<" 查無(wú)此人 "<<endl;void zhong_Manage:Delete()if(top=0)cout<<" 當(dāng)前系統(tǒng)中沒(méi)有存儲(chǔ)記錄 !"<<endl;return; cout<&
58、lt;"1、按編號(hào)查找刪除 int choice; cin>>choice; switch(choice) case 1:cout<<"、按姓名查找刪除 "<<endl;請(qǐng)輸入編號(hào): "int num;cin>>num;for(int i=0;i<top;i+)if(num=zhongi.num)cout<<" 是否確認(rèn)刪除? int choice;cin>>choice;switch(choice)case 1:1 、是 2 、否 "<<end
59、l;cout<<"for(int j=i;j<top-1;j+)zhongj=zhongj+1;刪除成功! "<<endl;top-;break;case 2:return;default:cout<<" 無(wú)此項(xiàng),失敗! "<<endl;break;return; ;break;case 2:cout<<" 無(wú)此人! "<<endl;- 27 - cout<<"請(qǐng)輸入姓名: "string name;cin>>na
60、me;for(int i=0;i<top;i+)if(name=)1 、是 2 、否 "<<endl;cout<<" 是否確認(rèn)刪除? int choice; cin>>choice; switch(choice) case 1:for(int j=i;j<top-1;j+) zhongj=zhongj+1; cout<<" 刪除成功! "<<endl;top-;break;case 2:return;default:cout<<" 無(wú)此項(xiàng),
61、失?。?"<<endl;break;return;cout<<" 無(wú)此人! "<<endl; break;default:cout<<" 沒(méi)有此項(xiàng),失敗: "<<endl;break;void zhong_Manage:Total()按地址統(tǒng)計(jì) "<<endl;cout<<"1 按人數(shù)統(tǒng)計(jì) 2 按性別統(tǒng)計(jì) 3int choice;cout<<" 請(qǐng)輸入你的選擇 "<<endl;cin>>
62、choice;switch(choice)case 1:cout<<" 中學(xué)生人數(shù)為 :"<<top<<endl;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ù)為 "<<a<<endl;cout<<" 女生人數(shù)為 "<<b<<
63、endl;break;case 3:分別統(tǒng)計(jì)各地的人int a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;/ for(int i=0;i<top;i+)cout<<" 打開(kāi)成功 !"<<endl;- 31 -if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zhongi.depart=" if(zh
64、ongi.depart=" if(zhongi.depart=" if(zhongi.depart=" 上海路 ") a1+; 北京東路 ") a2+; 北京西路 ") a3+;順外路 ") a4+; 南京東路 ") a5+; 南京西路 ") a6+; 解放東路 ") a7+; 解放西路 ") a8+; 青山湖大道 ") a9+; cout<<"cout<<"cout<<"cout<<"
65、cout<<" cout<<" cout<<" cout<<"上海路人數(shù)為 "<<a1<<endl; 北京東路人數(shù)為 "<<a2<<endl; 北京西路人數(shù)為 "<<a3<<endl;順外路人數(shù)為 "<<a4<<endl; 南京東路人數(shù)為 南京西路人數(shù)為 解放東路人數(shù)為 解放西路人數(shù)為"<<a5<<endl;"<<a6
66、<<endl;"<<a7<<endl;"<<a8<<endl;cout<<" break; default:cout<<"青山湖大道人數(shù)為 "<<a9<<endl;輸入錯(cuò)誤。請(qǐng)重新輸入 "<<endl;break;void zhong_Manage:Save()ofstream out("D:ying2.txt",ios:out);if(!out)cout<<" 打開(kāi)失敗 !
67、"<<endl; return;for(int i=0;i<top;i+)out<<zhongi.num<<" " <<<<" " <<zhongi.sex<<" " <<zhongi.age<<" " <<zhongi.depart<<" " <<zhongi.spec<<" " <<zhongi.title <<endl;cout<<" 寫(xiě)入成功! "<<endl; out.close();void zhong_Manage:Read()ifstream in("D:ying2.txt",ios:in);if(!in)cout<<" 打開(kāi)失敗 !"<<endl;return;int i=0;while(in>>zhongi.num>>>>zhongi.s
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 活動(dòng)場(chǎng)館租用協(xié)議書(shū)
- 酒店簽訂就業(yè)協(xié)議書(shū)
- 銀行轉(zhuǎn)賬協(xié)議書(shū)模板
- 臨時(shí)雇傭委托協(xié)議書(shū)
- 酒水供貨協(xié)議書(shū)模板
- 農(nóng)田澆地用電協(xié)議書(shū)
- 專職律師聘用協(xié)議書(shū)
- 聯(lián)盟平臺(tái)管理協(xié)議書(shū)
- 企業(yè)合作股東協(xié)議書(shū)
- 死亡賠償保密協(xié)議書(shū)
- 急診科培訓(xùn)急性腰痛的鑒別與處理
- 血管外科疾病的診斷和治療
- DISC性格測(cè)試(40題標(biāo)準(zhǔn)版)
- 用人需求申請(qǐng)表
- (完整版)附:《檔案目錄清單》
- 版式設(shè)計(jì)網(wǎng)格課件
- 消防安全檢查表(車間)
- 產(chǎn)品報(bào)價(jià)單(5篇)
- 品牌視覺(jué)形象設(shè)計(jì)智慧樹(shù)知到答案章節(jié)測(cè)試2023年天津科技大學(xué)
- 高考語(yǔ)文復(fù)習(xí)-議論文結(jié)尾寫(xiě)作之深化主旨 練習(xí)
- 漢語(yǔ)詞匯與文化課件
評(píng)論
0/150
提交評(píng)論