已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑混凝土钢筋车维修施工合同
- 城市轻轨路基防护协议
- 2024上海市国际货物运输代理合同
- 2024年度:联合研发协议与技术规范书
- 农村土地租赁协议:农村科研基地
- 2024年度汽车广告宣传合作协议
- 稀土企业项目部劳务管理办法
- 超市管理办法
- 体育科学博士研究员招聘合同
- 服装行业招投标资格评定
- 小学数学教学中数学模型的构建与应用
- 经导管主动脉瓣置换术(TAVR)患者的麻醉管理
- 运筹学智慧树知到答案2024年哈尔滨工程大学
- 行政执法证专业法律知识考试题库含答案(公路路政)
- 《人行自动门安全要求》标准
- 广铁集团校园招聘机考题库
- 第一章、总体概述:施工组织总体设想、工程概述、方案针对性及施工标段划分
- 2024-2030年中国语言服务行业发展规划与未来前景展望研究报告
- 2024-2030年白玉蜗牛养殖行业市场发展现状及发展前景与投资机会研究报告
- HGT 2902-2024《模塑用聚四氟乙烯树脂》
- 2024 年上海市普通高中学业水平等级性考试 物理 试卷
评论
0/150
提交评论