职工信息管理系统源代码.doc_第1页
职工信息管理系统源代码.doc_第2页
职工信息管理系统源代码.doc_第3页
职工信息管理系统源代码.doc_第4页
职工信息管理系统源代码.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

源代码#include #include #include #include double Cwage; double Swage; double Mwage; int ID; class Ddegree protected: int Num; char Name20; char Sex10; int Borntime; int Age; int degree; double Salary; Ddegree *next; public: Ddegree(char ID,char *Ename,char *Esex,int Eborntime,int Edegree) this-Num=ID; strcpy(this-Name,Ename); strcpy(this-Sex,Esex); this-Borntime=Eborntime;this-degree=Edegree; void Getage()Age=2009-Borntime;virtual void Calcwage()=0; virtual void Output()=0; friend class Company; ; class Xxs:public Ddegree private: double Workload; public: Xxs(char ID,char *Ename,char *Esex,int Eborntime,int Edegree,double Eworkload):Ddegree(ID,Ename,Esex,Eborntime,Edegree) this-Workload=Eworkload; double GetWorkload() return Workload; void SetWorkload(double Amount) this-Workload=Amount; void Calcwage() Salary=Cwage+Workload*20; void Output() Getage();Calcwage(); coutNumtNametSextBorntime年tAge岁t小学生tSalaryWorkload=Eworkload; double GetWorkload() return Workload; void SetWorkload(double Amount) this-Workload=Amount; void Calcwage() Salary=Swage+Workload*20+1000; void Output() Getage();Calcwage(); coutNumtNametSextBorntime年tAge岁t初中生tSalaryWorkload=Eworkload; double GetWorkload() return Workload; void SetWorkload(double s) Workload=s; void Calcwage() Salary=Mwage+Workload*20+1000; void Output() Getage();Calcwage(); coutNumtNametSextBorntime年tAge岁t高中生tSalaryendl; ; class Dxs:public Ddegree public: Dxs(char ID,char *Ename,char *Esex,int Eborntime,int Edegree):Ddegree(ID,Ename,Esex,Eborntime,Edegree) void Calcwage() Salary=Mwage+2000; void Output() Getage();Calcwage(); coutNumtNametSextBorntime年tAge岁t大学生tSalarynext; delete Worker; Worker=p; Worker=0; char Name20; void Add(); void Modify(); void Delete(); void Query(); void Set(); void Save(); ; void Company:Add() Ddegree *p; char Name20; char Sex10; int Borntime; int degree; double Workload; coutn* 新增职工 *n; coutID; coutName;coutSex;coutBorntime;coutdegree; while(degree !=1°ree !=2°ree !=3°ree !=4) cout输入有误,请重新输入:endl; coutdegree; if(degree!=4) coutWorkload; switch(degree) case 1:p=new Xxs(ID,Name,Sex,Borntime,degree,Workload); break; case 2:p=new Czs(ID,Name,Sex,Borntime,degree,Workload); break; case 3:p=new Gzs(ID,Name,Sex,Borntime,degree,Workload); break; case 4:p=new Dxs(ID,Name,Sex,Borntime,degree); break; p-next=0; if(Worker) Ddegree *p2; p2=Worker; while(p2-next) p2=p2-next; p2-next=p; else Worker=p; cout新增职工成功!endl; void Company:Modify() int Num; int degree=NULL; double Workload; coutn* 修改职工信息 *n; coutNum; Ddegree *p1,*p2; p1=Worker; while(p1) if(p1-Num=Num) break; else p2=p1; p1=p1-next; if(p1!=NULL) p1-Output(); coutp1-Name; coutp1-Sex;coutp1-Borntime;if(degree=1) coutWorkload; (Xxs *)p1)-SetWorkload(Workload); else if(degree=2) coutWorkload; (Czs *)p1)-SetWorkload(Workload); else if(degree=3) coutWorkload; (Gzs *)p1)-SetWorkload(Workload); cout修改职工信息成功!n; else cout错误:未找到该职工信息!n; void Company:Delete() int Num; coutn* 删除职工 *n; coutNum; Ddegree *p1,*p2; p1=Worker; while(p1) if(p1-Num=Num) break; else p2=p1; p1=p1-next; if(p1!=NULL) if(p1=Worker) Worker=p1-next; delete p1; else p2-next=p1-next; delete p1; cout找到并删除n; else cout错误:未找到该职工信息!n; void Company:Query() int check,count(0); coutn* 查询职工信息 *n; cout编号t姓名t性别t出生时间 年龄t学位t工资(元/月)Output(); p=p-next; coutcheck; Ddegree *p4=Worker; while(p4) if(p4-Num=check) if(p4-degree=1) (Xxs *)p4)-Output(); count+; break; else if(p4-degree=2) (Czs *)p4)-Output(); count+; break; else if(p4-degree=3) (Gzs *)p4)-Output(); count+; break; else if(p4-degree=4) (Dxs *)p4)-Output(); count+; break; else p4=p4-next; if(count=0) cout错误:未找到该职工信息!endl; void Company:Set() coutn* 设置基础数据 *n; cout小学生基本工资(CwageCwage; cout初中生基本工资(MwageMwage; cout高中生基本工资(SwageSwage; cout基础数据已设置!endl; void Company:Save() fstream fDdegree,fBase; char c; coutc; if(toupper(c)!=Y) return;elsefDdegree.open(Ddegree.txt,ios:out); fDdegree编号t姓名t性别t出生时间t年龄t学位tendl;Ddegree *p=Worker; while(p) fDdegreeNumtNametSextBorntimettAgetdegreedegree=1) fDdegreeGetWorkload()degree=2) fDdegreeGetWorkload()degree=3) fDdegreeGetWorkload()t;fDdegreenext; fDdegree.close(); fBase.open(base.txt,ios:out); fBase小学生基本工资tCwageendl; fBase初中生基本工资tSwageendl; fBase高中生基本工资tMwageendl; fBaseIDtIDendl; fDdegree.close(); coutn保存职工和基础数据已经完成.n; void main() int a; Company c; do coutn* * * 职工信息管理系统 * * n; cout 1:增加职工信息 *n; cout 2:修改人员信息 *n; cout 3:删除职工信息 *n;cout 4:查询职工信息 *n; cout 5:基础数据设置 *n;cout 6:数据存入磁盘 *n; cout 7:退出管理系统 *n;cout* * * wyp12制作 * * * * * *n;couta; switch(a) case 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论