版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
#教職工信息管理系統(tǒng)源碼#include<iostream.h>#include<string.h>#include<fstream.h>#include<stdlib.h>#definemaxsize100fstreamiofile;//文件(wQnj詒n)指針classTime〃時間(shj詒n)類{public:intyear;intmonth;intday;};classTelem//個人信息{public:charname[20];charsex[10];Timebirthtime;//組合(zJhQ)Time類charnum[20];charwage[20];Timeworktime;intyear;chardepartment[20];friendistream&operator>>(istream&input,Telem&T);friendostream&operator<<(ostream&output,Telem&T);friendintoperator-(Time&t1,Time&t2);};classPeople:virtualpublicTelem〃雇員(gJyu右n)類{public:People();virtualvoidAddF()=0;〃添加(t詒njia)virtualvoidAddall()=0;virtualvoidAdd()=0;virtualvoidDisplay();//輸出數(shù)組的內容virtualvoidDisplaypart(charp[]);virtualvoidFindname(charn[]);virtualvoidFindyear(int);virtualvoidDel(charn[])=0;virtualvoidDel(int);protected:Telemdata[maxsize];Timenow;intlength;};classTeacher:virtualpublicPeople〃派生(paisheng)虛基類{public:virtualvoidAddF();virtualvoidAddall();virtualvoidAdd();virtualvoidDisplay();virtualvoidDel(inti);virtualvoidDel(charn[]);};classworker:virtualpublicPeople〃派生(paisheng)虛基類{public:virtualvoidAddF();virtualvoidAddall();virtualvoidAdd();virtualvoidDisplay();virtualvoidDel(inti);virtualvoidDel(charn[]);};People::People()//系統(tǒng)(x]t6ng)自動生成的構造函數(shù)length=0;now.year=2010;now.month=7;now.day=6;}voidPeople::Display()//引用(ylnyong){inti;for(i=0;i<length;i++)cout<<data[i];}voidPeople::Displaypart(charp[])//引用(ylnyong)數(shù)組{inti,c;for(i=0;i<length;i++)if(strcmp(data[i].wage,p)==0){coutvv"輸出選擇姓名1性別2編號3工資4出生日期5工作時間(shj詒n)6年齡7系別8退出選擇9"vvendl;while(cin>>c){switch(c){case1:coutv<"姓名(乂山&皿伍&):"<<4&1&[打.皿皿6<<6口41力2&上case2:coutv<"性^1」(乂山&“?):"<<4&1&[打.$6乂<<6口41力2&上case3:coutvv"編號(b詒nhao):"vvdata[i].numvvendl;break;case4:coutvv"工資:"vvdata[i].wagevvendl;break;case5:coutvv"出生日期:"vvdata[i].birthtime.yearvv""vvdata[i].birthtime.monthvv""vvdata[i].birthtime.dayvv""vvendl;break;case6:coutvv"工作時間:"vvdata[i].worktime.yearvv""vvdata[i].worktime.monthvv""vvdata[i].worktime.dayvv""vvendl;break;case7:coutvv"年齡:"vvdata[i].yearvvendl;break;case8:cout<<"系別:"<<data[i].department<<endl;break;case9:gotoloop;default:coutvv"操作錯誤"vvendl;}}loop:;}}voidPeople::Findname(charn[])//引用{inti;for(i=0;ivlength;i++)if(strcmp(data[i].name,n)==0)//對象引用coutvvdata[i];}voidPeople::Findyear(inty){inti;for(i=0;ivlength;i++)if(data[i].year==y)coutvvdata[i];}voidPeople::Del(inti){intj;if(iv1||i>length)coutvv"不存在(cCinz含i)第"vvivv"個元素";for(j=i;jvlength;j++)data[j-1]=data[j];length--;}voidworker::AddF(){intflag=0;iofile.open("worker_information.txt",ios::inlios::binary);//文件的打開(d右kai)與關閉while(iofile.seekg(ios::cur)){iofile.seekg(length*sizeof(data[length]),ios::beg);iofile.read((char*)&data[length],sizeof(data[length]));〃文件(wQnj詒n)的隨機訪問length++;if(length==maxsize){flag=1;gotoloop;}}People::Del(length);coutvv"添加(t詒nj詒)人員信息成功……"vvendl;loop:if(1==flag)coutvv"人員(rQnyu右n)信息儲存空間已滿……"vvendl;iofile.close();}voidworker::Addall(){charans;intflag=0;iofile.open("worker_information.txt",ios::out|ios::binary);do{cin>>data[length];data[length].year=now-data[length].birthtime;iofile.write((char*)&data[length],sizeof(data[length]));coutvv"添加人員信息成功……"vvendl;length++;if(length==maxsize){flag=1;gotoloop;}coutvv"contine(Y|N)?";cin>>ans;}while('y'==ans||'Y'==ans);loop:if(1==flag)coutvv"人員信息(x]nxD儲存空間已滿"vvendl;iofile.close();}voidworker::Add(){intflag=0;iofile.open("worker_information.txt",ios::app|ios::out|ios::binary);if(length==maxsize){flag=1;gotoloop;}cin>>data[length];data[length].year=now-data[length].birthtime;iofile.write((char*)&data[length],sizeof(data[length]));coutvv"添加人員信息(x]nxD成功……"vvendl;length++;loop:if(1==flag)coutvv"人員信息(x]nxD儲存空間已滿"vvendl;iofile.close();}voidworker::Display(){coutvv"☆工人(gOngren)信息★☆★☆"vvendl;if(0==length)coutvv"無"vvendl;inti;for(i=0;ivlength;i++)coutvvdata[i];}voidworker::Del(charn[]){inti,j,k;for(i=0;i<length;i++)if(strcmp(data[i].name,n)==0){k=i+1;break;}if(k<1)coutvv"不存在姓名(x]ngming)"vvnvv"的人員信息";for(j=k;j<length;j++)data[j-1]=data[j];length--;coutvv"刪除人員(rQnyu右n)信息成功"vvendl;}voidworker::Del(inti){intj;if(iv1||i>length)coutvv"不存在(cCinz含i)第"vvivv"個元素";for(j=i;jvlength;j++)data[j-1]=data[j];length--;coutvv"刪除(sh呑nchd)成功……"vvendl;}voidTeacher::AddF(){intflag=0;iofile.open("Teacher_information.txt",ios::in|ios::binary);while(iofile.seekg(sizeof(data[length]),ios::cur)){if(iofile.seekg(length*sizeof(data[length]),ios::beg))iofile.read((char*)&data[length],sizeof(data[length]));elsebreak;length++;if(length==maxsize){flag=1;gotoloop;}People::Del(length);coutvv"添加人員信息(x]nxD成功……"vvendl;loop:if(1==flag)coutvv"人員信息(x]nxD儲存空間已滿"vvendl;iofile.close();}voidTeacher::Addall(){charans;intflag=0;iofile.open("Teacher_information.txt",ios::in|ios::out|ios::binary);do{cin>>data[length];data[length].year=now-data[length].birthtime;iofile.write((char*)&data[length],sizeof(data[length]));coutvv"添加人員(rQnyu右n)信息成功……"vvendl;length++;if(length==maxsize){flag=1;gotoloop;}coutvv"contine(Y|N)?";cin>>ans;}while('y'==ans||'Y'==ans);loop:if(1==flag)coutvv"人員信息儲存(chucun)空間已滿……"vvendl;iofile.close();}voidTeacher::Add(){intflag=0;iofile.open("Teacher_information.txt",ios::app|ios::out|ios::binary);if(length==maxsize){flag=1;gotoloop;}cin>>data[length];data[length].year=now-data[length].birthtime;iofile.write((char*)&data[length],sizeof(data[length]));coutvv"添加(t詒njia)人員信息成功……"vvendl;length++;loop:if(1==flag)coutvv"人員信息儲存(chJcdn)空間已滿……"vvendl;iofile.close();}voidTeacher::Display(){coutvv"☆教師(jiaoshi)信息☆★☆"vvendl;if(0==length)coutvv"無"vvendl;inti;for(i=0;ivlength;i++)coutvvdata[i];}voidTeacher::Del(charn[]){inti,j,k;for(i=0;ivlength;i++)if(strcmp(data[i].name,n)==0){k=i+1;break;}if(kvl)coutvv"不存在姓名(x]ngming)"vvnvv"的人員信息";for(j=k;jvlength;j++)data[j-l]=data[j];length--;coutvv"刪除(shanchd)人員信息成功……"vvendl;}voidTeacher::Del(inti)intj;if(i<1||i>length)coutvv"不存在(cCinz含i)第"vvivv"個元素";for(j=i;j<length;j++)data[j-1]=data[j];length--;coutvv"刪除成功……"vvendl;}istream&operator>>(istream&input,Telem&T){inty,m,d;coutvv"請輸入姓名(以*結尾):"vvendl;input.getline(T.name,20,'*');coutvv"請輸入性別(x]ngbiQ)(以*結尾男或女):"vvendl;input.getline(T.sex,10,'*');coutvv"編號(b詒nhao)(以*結尾):"vvendl;input.getline(T.num,20,'*');coutvv"工資(gongzi)(以*結尾):"vvendl;input.getline(T.wage,20,'*');coutvv"請輸入(shCirJ)出生日期:"vvendl;input>>y>>m>>d;T.birthtime.year=(y>=1900&&yv=2100)?y:1900;T.birthtime.month=(m>=1&&mv=12)?m:1;T.birthtime.day=(d>=1&&dv=31)?d:1;coutvv"請輸入(shCirJ)系別(以*結尾):"vvendl;input.getline(T.department,20,'*');coutvv"參加工作時間:"vvendl;input>>y>>m>>d;T.worktime.year=(y>=1900&&yv=2100)?y:1900;T.worktime.month=(m>=1&&mv=12)?m:1;T.worktime.day=(d>=1&&dv=31)?d:1;returninput;}ostream&operatorvv(ostream&output,Telem&T)coutvv"姓名:";output<<T.name<<endl;coutvv"性別:";output<<T.sex<<endl;coutvv"編號:";outputvvT.numvvendl;coutvv"工資:";outputvvT.wagevvendl;coutvv"出生日期:";outputvvT.birthtime.yearvv""vvT.birthtime.monthvv""vvT.birthtime.dayvvendl;coutvv"系別:";outputvvT.departmentvvendl;coutvv"參加工作時間:";outputvvT.worktime.yearvv""vvT.worktime.monthvv""vvT.worktime.dayvvendl;coutvv"年齡:";outputvvT.yearvvendl;returnoutput;}intoperator-(Time&t1,Time&t2){returnt1.year-t2.year;}voidShowmenu(){coutvvendl;coutvv"歡迎進入教職工信息管理系統(tǒng)"vvendlvvendl;coutvv"2010年7月7日發(fā)布(fabu)"vv"版權所有:swa"vvendlvvendlvvendl;
coutvv"★人員(rQnyuan)信息管理系統(tǒng)★☆★☆★☆★☆★"<<endl<<endl;cout<<"★1-從鍵盤錄入全部人員(renyuan)記錄☆cout<<""<<endl<<endl;cout<<!!☆2-增加(zpngj詒)一位人員記錄★"<<endl<<endl;cout<<!!★3-顯示(x詒nsh])全部人員記錄☆"<<endl<<endl;cout<<!!☆4-按系別輸出人員信息(可選)★cout<<!!☆2-增加(zpngj詒)一位人員記錄★"<<endl<<endl;cout<<!!★3-顯示(x詒nsh])全部人員記錄☆"<<endl<<endl;cout<<!!☆4-按系別輸出人員信息(可選)★!!<<endl<<endl;cout<<!!★5-按姓名或年齡檢索所有信息^!!<<endl<<endl;cout<<!!☆6-顯示菜單目錄★"<<endl<<endl;cout<<!!★7-結束程序運行☆"<<endl<<endl;cout<<!!★☆★☆★☆★☆★☆★★☆★☆★☆★☆★☆★☆"<<endl;}intmain(){Teachertea;workerstu;People*pt=&tea;People*ps=&stu;intc=0,k=0,l=0,i=0;charnam[20],part[20];Showmenu();for(;;){coutvv"請根據菜單執(zhí)行相應操作:cin>>c;switch(c){case1:cout<<"★☆★☆★☆★錄入全部人員記錄★☆★☆★☆★"<<endl;cout<<"★☆★☆★從鍵盤輸入教師信息☆★☆★☆"<<endl;pt->Addall();cout<<"☆從鍵盤輸入工人(gongren)信息☆"vvendl;ps->Addall();break;}case2:{coutvv"★☆★☆★☆★☆從鍵盤(jianpan)增加一位人員記錄☆★☆★☆★☆"vvendl;coutvv"★☆★☆★☆★☆教師(jiaoshT)操作請按1工人操作請按2★☆★☆★☆★☆"vvendl;cin>>k;if(1==k)pt->Add();elseif(2==k)ps->Add();elsecoutvv"操作(c呑ozub)錯誤..."vvendl;break;}case3:{coutvv"★☆★☆★☆★☆★☆顯示全咅0(quanbu)人員記錄☆★☆★☆★☆★☆"vvendl;pt->Display();ps->Display();break;case4:{cout<<"★☆★☆★☆★☆★☆按部門輸出人員信息(可選)★☆★☆★☆★☆★☆"<<endl;cout<<"★☆★☆★☆教師操作請按1工人操作請按2★☆★☆★☆"<<endl;cin>>k;if(1==k){cout<<"請輸入要輸出人員的系別(以*結尾):"<<endl;cin.getline(part,20,'#');pt->Displaypart(part);}elseif(2==k){coutvv"請輸入要輸出人員(renyuan)的系別(以*結尾):"<<endl;cin.getline(part,20,'#');ps->Displaypart(part);}elsecoutvv"操作(c呑ozub)錯誤……"vvendl;break;}case5:{cou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年甘肅省甘南自治州公開招聘警務輔助人員筆試自考題2卷含答案
- 2022年四川省雅安市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 2022年浙江省湖州市公開招聘警務輔助人員輔警筆試自考題1卷含答案
- 晨會主持發(fā)言稿
- 廣西梧州市(2024年-2025年小學六年級語文)統(tǒng)編版隨堂測試(下學期)試卷及答案
- 2024年姿態(tài)控制推力器、推進劑貯箱項目資金需求報告代可行性研究報告
- 《應收款項新》課件
- 《稱贊教學》課件
- 2025年毛紡織、染整加工產品項目立項申請報告模范
- 2025年水乳型涂料項目提案報告模范
- 新產品試制流程管理辦法
- 王牌電話交換機說明書
- 列管式換熱器-換熱面積計算
- 10個地基基礎工程質量通病及防治措施
- 25m預應力混凝土簡支T梁橋設計(共30頁)
- 籃球校本課程教案
- 高一學生文理分班意向表
- 高等傳熱學部分答案
- 地球物理學進展投稿須知
- 機床精度檢驗標準 VDI3441 a ISO230-2
- 解析電力施工項目的信息化管理
評論
0/150
提交評論