版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教職工信息管理系統(tǒng)源碼#include #include #include #include#define maxsize 100 fstream iofile; /文件指針class time /時(shí)間類 public: int year; int month; int day; class telem /個(gè)人信息 public: char name20; char sex10; time birthtime; /組合time類 char num20; char wage20; time worktime; int year; char department20; friend istream
2、& operator(istream& input,telem& t); friend ostream& operator(ostream& output,telem& t); friend int operator-(time & t1,time & t2); ; class people:virtual public telem /雇員類 public: people(); virtual void addf()=0; /添加 virtual void addall()=0; virtual void add()=0; virtual void display(); /輸出數(shù)組的內(nèi)容 vi
3、rtual void displaypart(char p); virtual void findname(char n); virtual void findyear(int ); virtual void del(char n)=0; virtual void del(int ); protected: telem datamaxsize; time now; int length; ; class teacher:virtual public people /派生虛基類 public: virtual void addf(); virtual void addall(); virtual
4、 void add(); virtual void display(); virtual void del(int i); virtual void del(char n); ; class worker:virtual public people /派生虛基類 public: virtual void addf(); virtual void addall(); virtual void add(); virtual void display(); virtual void del(int i); virtual void del(char n); ; people:people() /系統(tǒng)
5、自動(dòng)生成的構(gòu)造函數(shù) length=0; now.year=2010; now.month=7; now.day=6; void people:display() /引用 int i; for(i=0;ilength;i+) coutdatai; void people:displaypart(char p)/引用數(shù)組 int i,c; for(i=0;ilength;i+) if(strcmp(datai.wage,p)=0) cout輸出選擇姓名1 性別2 編號(hào)3 工資4 出生日期5 工作時(shí)間6 年齡7 系別8 退出選擇9c) switch(c) case 1: cout姓名:datai.n
6、ameendl;break; case 2: cout性別:datai.sexendl;break; case 3: cout編號(hào):datai.numendl;break; case 4: cout工資:datai.wageendl;break; case 5: cout出生日期:datai.birthtime.year datai.birthtime.month datai.birthtime.day endl;break; case 6: cout工作時(shí)間:datai.worktime.year datai.worktime.month datai.worktime.day endl;br
7、eak; case 7: cout年齡:datai.yearendl;break; case 8: cout系別:datai.departmentendl;break; case 9: goto loop; default:cout操作錯(cuò)誤.endl; loop:; void people:findname(char n) /引用 int i; for(i=0;ilength;i+) if(strcmp(,n)=0) /對(duì)象引用 coutdatai; void people:findyear(int y) int i; for(i=0;ilength;i+) if(data
8、i.year=y) coutdatai; void people:del(int i) int j; if(ilength) cout不存在第i個(gè)元素; for(j=i;jlength;j+) dataj-1=dataj; length-; void worker:addf() int flag=0; iofile.open(worker_information.txt,ios:in|ios:binary); /文件的打開與關(guān)閉 while(iofile.seekg(ios:cur) iofile.seekg(length*sizeof(datalength),ios:beg); iofile
9、.read(char*)&datalength,sizeof(datalength); /文件的隨機(jī)訪問 length+; if(length=maxsize) flag=1; goto loop; people:del(length); cout添加人員信息成功.endl; loop: if(1=flag) cout人員信息儲(chǔ)存空間已滿.datalength; datalength.year=now-datalength.birthtime; iofile.write(char*)&datalength,sizeof(datalength); cout添加人員信息成功.endl; lengt
10、h+; if(length=maxsize) flag=1; goto loop; coutans; while(y=ans|y=ans); loop: if(1=flag) cout人員信息儲(chǔ)存空間已滿.datalength; datalength.year=now-datalength.birthtime; iofile.write(char*)&datalength,sizeof(datalength); cout添加人員信息成功.endl; length+; loop: if(1=flag) cout人員信息儲(chǔ)存空間已滿.endl; iofile.close(); void worke
11、r:display() cout 工人信息 endl; if(0=length) cout無.endl; int i; for(i=0;ilength;i+) coutdatai; void worker:del(char n) int i,j,k; for(i=0;ilength;i+) if(strcmp(,n)=0) k=i+1;break; if(k1) cout不存在姓名n的人員信息; for(j=k;jlength;j+) dataj-1=dataj; length-; cout刪除人員信息成功.endl; void worker:del(int i) int
12、j; if(ilength) cout不存在第i個(gè)元素; for(j=i;jlength;j+) dataj-1=dataj; length-; cout刪除成功.endl; void teacher:addf() int flag=0; iofile.open(teacher_information.txt,ios:in|ios:binary); while(iofile.seekg(sizeof(datalength),ios:cur) if(iofile.seekg(length*sizeof(datalength),ios:beg) iofile.read(char*)&datalen
13、gth,sizeof(datalength); else break; length+; if(length=maxsize) flag=1; goto loop; people:del(length); cout添加人員信息成功.endl; loop: if(1=flag) cout人員信息儲(chǔ)存空間已滿.datalength; datalength.year=now-datalength.birthtime; iofile.write(char*)&datalength,sizeof(datalength); cout添加人員信息成功.endl; length+; if(length=max
14、size) flag=1; goto loop; coutans; while(y=ans|y=ans); loop: if(1=flag) cout人員信息儲(chǔ)存空間已滿.datalength; datalength.year=now-datalength.birthtime; iofile.write(char*)&datalength,sizeof(datalength); cout添加人員信息成功.endl; length+; loop: if(1=flag) cout人員信息儲(chǔ)存空間已滿.endl; iofile.close(); void teacher:display() cout
15、 教師信息 endl; if(0=length) cout無.endl; int i; for(i=0;ilength;i+) coutdatai; void teacher:del(char n) int i,j,k; for(i=0;ilength;i+) if(strcmp(,n)=0) k=i+1;break; if(k1) cout不存在姓名n的人員信息; for(j=k;jlength;j+) dataj-1=dataj; length-; cout刪除人員信息成功.endl; void teacher:del(int i) int j; if(ilength)
16、 cout不存在第i個(gè)元素; for(j=i;jlength;j+) dataj-1=dataj; length-; cout刪除成功.(istream& input,telem& t) int y,m,d; cout請(qǐng)輸入姓名(以*結(jié)尾):endl; input.getline(t.name,20,*); cout請(qǐng)輸入性別(以*結(jié)尾 男或女):endl; input.getline(t.sex,10,*); cout編號(hào)(以*結(jié)尾):endl; input.getline(t.num,20,*); cout工資(以*結(jié)尾):endl; input.getline(t.wage,20,*);
17、 cout請(qǐng)輸入出生日期:ymd; t.birthtime.year=(y=1900&y=1&m=1&d=31)?d:1; cout請(qǐng)輸入系別(以*結(jié)尾):endl; input.getline(t.department,20,*); cout參加工作時(shí)間:ymd; t.worktime.year=(y=1900&y=1&m=1&d=31)?d:1; return input; ostream& operator(ostream& output,telem& t) cout姓名:; outputt.nameendl; cout性別:; outputt.sexendl; cout編號(hào):; out
18、putt.numendl; cout工資:; outputt.wageendl; cout出生日期:; outputt.birthtime.year t.birthtime.month t.birthtime.dayendl; cout系別:; outputt. departmentendl; cout參加工作時(shí)間:; outputt.worktime.year t.worktime.month t.worktime.dayendl; cout年齡:; outputt.yearendl; return output; int operator-(time & t1,time & t2) ret
19、urn t1.year-t2.year; void showmenu() coutendl; cout 歡 迎 進(jìn) 入 教 職 工 信 息 管 理 系 統(tǒng)endlendl; cout 2010 年7月7日發(fā)布 版權(quán)所有: swaendlendlendl; cout 人員信息管理系統(tǒng) endlendl; cout 1-從鍵盤錄入全部人員記錄 endlendl; cout 2-增加一位人員記錄 endlendl; cout 3-顯示全部人員記錄 endlendl; cout 4-按系別輸出人員信息(可選) endlendl; cout 5-按姓名或年齡檢索所有信息 endlendl; cout 6
20、-顯示菜單目錄 endlendl; cout 7-結(jié)束程序運(yùn)行 endlendl; cout endl; int main() teacher tea; worker stu; people *pt=&tea; people *ps=&stu; int c=0,k=0,l=0,i=0; char nam20,part20; showmenu(); for(;) coutc; switch(c) case 1: cout 錄入全部人員記錄 endl; cout 從鍵盤輸入教師信息 addall(); cout 從鍵盤輸入工人信息 addall(); break; case 2: cout 從鍵盤增加一位人員記錄 endl; cout 教師操作請(qǐng)按1 工人操作請(qǐng)按2 k; if(1=k) pt-add(); else if(2=k) ps-add(); else cout操作錯(cuò)誤.endl; break; case 3: cout 顯示全部人員記錄 display(); ps-disp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲行業(yè)人才招聘總結(jié)
- 美容美發(fā)行業(yè)美工崗位任務(wù)
- 2024年稅務(wù)師題庫及答案【必刷】
- 2024年認(rèn)識(shí)公頃教學(xué)教案
- 2024年秋季二年級(jí)數(shù)學(xué)上冊(cè)教案(17篇)
- 2024年牛頓第一定律教案
- 初中生請(qǐng)假安全協(xié)議書(2篇)
- 2024年計(jì)算機(jī)專業(yè)求職簡(jiǎn)歷模版
- 核心語法知識(shí)夯基綜合測(cè)試-2025屆高三人教版英語一輪復(fù)習(xí)闖關(guān)攻略(解析版)
- 迎接信息化挑戰(zhàn) 打造“數(shù)字化校園”
- 2025年包鋼集團(tuán)公司招聘筆試參考題庫含答案解析
- 貓抓病的護(hù)理
- 2024國(guó)有企業(yè)與私營(yíng)企業(yè)之間的混合所有制改革合作協(xié)議
- 工商企業(yè)管理畢業(yè)論文范文(4篇)
- 2024年廣西廣播電視技術(shù)中心招聘歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- GB/T 15605-2008粉塵爆炸泄壓指南
- DPP4抑制劑比較篇PPT課件
- 中藥飲片購進(jìn)驗(yàn)收記錄表格模板
- TCM遠(yuǎn)紅外發(fā)展初析
- 滑坡穩(wěn)定性計(jì)算及滑坡推力計(jì)算
- 繼教脈圖分析 0
評(píng)論
0/150
提交評(píng)論