C++課程設計 教職工信息管理系統(tǒng)源代碼_第1頁
C++課程設計 教職工信息管理系統(tǒng)源代碼_第2頁
C++課程設計 教職工信息管理系統(tǒng)源代碼_第3頁
C++課程設計 教職工信息管理系統(tǒng)源代碼_第4頁
C++課程設計 教職工信息管理系統(tǒng)源代碼_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、教職工信息管理系統(tǒng)源碼#include #include #include #include#define maxsize 100 fstream iofile; /文件指針class time /時間類 public: int year; int month; int day; class telem /個人信息 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ù)組的內容 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、自動生成的構造函數(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 編號3 工資4 出生日期5 工作時間6 年齡7 系別8 退出選擇9c) switch(c) case 1: cout姓名:datai.n

6、ameendl;break; case 2: cout性別:datai.sexendl;break; case 3: cout編號: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工作時間: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操作錯誤.endl; loop:; void people:findname(char n) /引用 int i; for(i=0;ilength;i+) if(strcmp(,n)=0) /對象引用 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個元素; for(j=i;jlength;j+) dataj-1=dataj; length-; void worker:addf() int flag=0; iofile.open(worker_information.txt,ios:in|ios:binary); /文件的打開與關閉 while(iofile.seekg(ios:cur) iofile.seekg(length*sizeof(datalength),ios:beg); iofile

9、.read(char*)&datalength,sizeof(datalength); /文件的隨機訪問 length+; if(length=maxsize) flag=1; goto loop; people:del(length); cout添加人員信息成功.endl; loop: if(1=flag) cout人員信息儲存空間已滿.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人員信息儲存空間已滿.datalength; datalength.year=now-datalength.birthtime; iofile.write(char*)&datalength,sizeof(datalength); cout添加人員信息成功.endl; length+; loop: if(1=flag) cout人員信息儲存空間已滿.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個元素; 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人員信息儲存空間已滿.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人員信息儲存空間已滿.datalength; datalength.year=now-datalength.birthtime; iofile.write(char*)&datalength,sizeof(datalength); cout添加人員信息成功.endl; length+; loop: if(1=flag) cout人員信息儲存空間已滿.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個元素; for(j=i;jlength;j+) dataj-1=dataj; length-; cout刪除成功.(istream& input,telem& t) int y,m,d; cout請輸入姓名(以*結尾):endl; input.getline(t.name,20,*); cout請輸入性別(以*結尾 男或女):endl; input.getline(t.sex,10,*); cout編號(以*結尾):endl; input.getline(t.num,20,*); cout工資(以*結尾):endl; input.getline(t.wage,20,*);

17、 cout請輸入出生日期:ymd; t.birthtime.year=(y=1900&y=1&m=1&d=31)?d:1; cout請輸入系別(以*結尾):endl; input.getline(t.department,20,*); cout參加工作時間: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編號:; out

18、putt.numendl; cout工資:; outputt.wageendl; cout出生日期:; outputt.birthtime.year t.birthtime.month t.birthtime.dayendl; cout系別:; outputt. departmentendl; cout參加工作時間:; 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 歡 迎 進 入 教 職 工 信 息 管 理 系 統(tǒng)endlendl; cout 2010 年7月7日發(fā)布 版權所有: 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-結束程序運行 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 教師操作請按1 工人操作請按2 k; if(1=k) pt-add(); else if(2=k) ps-add(); else cout操作錯誤.endl; break; case 3: cout 顯示全部人員記錄 display(); ps-disp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論