




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#include#include#include#includestatic int m;static int n;static int p;static int q;static int r;static int u;static int v;static int w;static char PFS16=iamaboy;static char PFS116=iamagirl;static char PFS216=iamnotaboy;/*基类CEmployee:*/class CEmployeepublic:CEmployee()Salary=0.0;void Get_Zname();void Get_Name();void Get_Number();void Get_Sex();void Get_Age();void show();virtual void input();virtual void pay();virtual void save()=0;public:char *Zname;char *Name;char Sex;int Age;int Number; double Salary;int Pming;void CEmployee:Get_Number()int id;do coutid;if(id1135|id1101)cout请输入正确的工号(11011135)!endlendl;while (id1135);Number=id;void CEmployee:Get_Name()char a20;do Name=new charstrlen(a)+1;couta;if( strlen(a)20 | strlen(a)4 ) cout请输入一个标准的姓名(420个连续的字符)!endl20|strlen(a)4 );strcpy(Name,a);void CEmployee:Get_Sex()char c;coutc; while (c!=m & c!=f) cout您输入的信息有误。请查下后重新输入!endlendl;coutc; Sex=c;void CEmployee:Get_Age()int d;do coutd;if(d60|d16)cout年龄不合法!endlendl;while (d60);Age=d;void CEmployee:Get_Zname() char b40;do Zname=new charstrlen(b)+1;coutb;if( strlen(b)40 | strlen(b)4) cout请输入正确的职称(440个连续的字符!)!endl40|strlen(b)4); strcpy(Zname,b);void CEmployee:input()Get_Number();Get_Name(); Get_Sex();Get_Age();Get_Zname();coutendl;void CEmployee:pay()/子类中加入.void CEmployee:show()cout.setf(ios:left);cout.width(8);coutNumber ;cout.width(7);coutName ;cout.width(10);coutSex;cout.width(7);coutAge;cout.width(9);coutZname;cout.width(8);coutSalary;cout.width(9);coutPming;/* 菜单Menu()*/void Menu()coutnn;cout * 小型公司工资管理系统设计 *endl;cout *endl;cout * tt1.数据录入及保存. *n;cout * tt2.数据查看. *n;cout * tt3.数据删除. *n;cout * tt4.数据备份. *n;cout * tt5.修改密码. *n;cout * tt6.关于. *n;cout * tt7.帮助及说明 *n;cout * tt8.退出系统. *n;cout *endl;coutendl;couttt 请选择您需要的服务: endl;/* 子类CTechnician*/class CTechnician :virtual public CEmployeeprivate:float HourlyRate;int WorkHours;public:CTechnician()HourlyRate=100;void pay()Salary=HourlyRate*WorkHours;void input();void save();void show_tapes();void operator=(CTechnician &c1);int operator(CTechnician &c2);void print()CEmployee:show();coutendl;void CTechnician:operator=(CTechnician &c1)Age=c1.Age;Name=c1.CTechnician:Name;Number=c1.CTechnician:Number;Pming=c1.CTechnician:Pming;Salary=c1.CTechnician:Salary;Sex=c1.CTechnician:Sex;Zname=c1.CTechnician:Zname;HourlyRate=c1.HourlyRate;WorkHours=c1.WorkHours;int CTechnician:operatorc2.Salary)return 1;elsereturn 0;void CTechnician:input()cout技术员信息输入:endl;CEmployee:input();coutWorkHours;void CTechnician:save()fstream outfile;outfile.open(list.txt,ios:app);if(!outfile)cout打开文件失败n;abort();outfile技术员信息 endl;outfile职工号 Number 姓名 Name 姓别 Sex 年龄 Age 工资 Salary 排名 Pmingendl;outfile.close();void CTechnician:show_tapes()int f;cout根据此技术员的平时表现为此技术员打分.endl;cout请输入分数(0100):f;cout技术员的评估状态:90)cout此技术员 优 80)cout此技术员 良 70)cout此技术员 中60)cout此技术员 一般endl;elsecout此技术员 差endl;coutendlendl;/*子类 CManeger */class CManager:virtual public CEmployeeprotected:double MonthlyPay;double Sale;public:CManager()MonthlyPay=8000;void input();void save();void show_tapes();void operator=(CManager &c1);int operator(CManager &c2);void pay()Salary=MonthlyPay;void print()CEmployee:show();coutendl;void CManager:save()fstream outfile1;outfile1.open(list1.txt,ios:app);if(!outfile1)cout打开list1.txt失败!n;abort();outfile1经理信息:endl;outfile1职工号 Number 姓名 Name 姓别 Sex 年龄 Age 工资 Salary 排名 Pmingendl;outfile1.close();int CManager:operatorc2.Salary)return 1;elsereturn 0;void CManager:operator =(CManager &c1)Age=c1.Age;Name=c1.Name;Number=c1.Number;Pming=c1.Pming;Salary=c1.Salary;Sex=c1.Sex;Zname=c1.Zname;MonthlyPay=c1.MonthlyPay;Sale=c1.Sale;void CManager:input()cout经理信息输入:endl;CEmployee:input();void CManager:show_tapes()int f;cout根据此经理的平时表现为此经理打分.endl;cout请输入分数(0100):f;cout*经理的评估状态*90)cout 此经理 优 80)cout 此经理 良 70)cout 此经理 中60)cout 此经理 一般endl;elsecout 此经理 差endl;/* 子类CSaleman*/class CSaleman:virtual public CEmployeepublic:void pay()Salary=CommRate*Sales;void show_tapes();void save();void input();void operator =(CSaleman &c1);int operator(CSaleman &c2);void print()CEmployee:show();coutendl;CSaleman()coutendl;protected:/int Tapes;int Sales; double CommRate;void CSaleman:input()cout销售员信息输入:endl;CEmployee:input();cout请输入提成率:CommRate;cout请输入销售额:Sales;void CSaleman:save()fstream outfile2;outfile2.open(list2.txt,ios:app);if(!outfile2)cout打开list2.txt失败!n;abort();outfile2经理信息:endl;outfile2职工号 Number 姓名 Name 姓别 Sex 年龄 Age 工资 Salary 排名 Pmingendl;outfile2.close();void CSaleman:show_tapes()int f;cout根据此销售员的平时表现为此销售员打分.endl;cout请输入分数(0100):f;cout*销售员的评估状态*90)cout 此销售员 优 80)cout 此销售员 良 70)cout 此销售员 中60)cout 此销售员 一般endl;elsecout 此销售员 差endl;coutendlendl;void CSaleman:operator =(CSaleman &c1)Age=c1.Age;Name=c1.Name;Number=c1.Number;Pming=c1.Pming;Salary=c1.Salary;Sex=c1.Sex;Zname=c1.Zname;CommRate=c1.CommRate;Sales=c1.Sales;int CSaleman:operatorc2.Salary)return 1;elsereturn 0;/*子类 CSalesmanager*/class CSalesmanager:virtual public CManager,virtual public CSalemanprivate:int no4;double sale4;double Total;char name46;public:void CSalemanager()MonthlyPay=5000;void print()CEmployee:show();coutendl; void operator=(CSalesmanager &c1);int operator(CSalesmanager &c2);void input();void save();void show_tapes();void savesale();void pay()double T=CommRate*Total;Salary=MonthlyPay+T;double totalsale()Total=sale0+sale1+sale2+sale3;return Total;void printtotal()coutendl;coutTotal setw(10)Total endl;coutendl;void sort();void saler();void saleprint();void CSalesmanager:input()cout销售经理信息输入:endl;CEmployee:input();cout请输入提成率:CommRate;cout请输入所辖部门的销售总额:Total;int CSalesmanager:operatorc2.Salary)return 1;elsereturn 0;void CSalesmanager:operator =(CSalesmanager &c1)Age=c1.Age;Name=c1.Name;Number=c1.Number;Pming=c1.Pming;Salary=c1.Salary; Sex=c1.Sex; Zname=c1.Zname; CommRate=c1.CommRate;Sales=c1.Sales;void CSalesmanager:save()fstream outfile3;outfile3.open(list3.txt,ios:app);if(!outfile3)cout打开文件list3.txt打败!n;abort();outfile3销售经理信息:endl;outfile3职工号 Number 姓名 Name 姓别 Sex 年龄 Age 工资 Salary 排名 Pmingendl;outfile3.close();void CSalesmanager:show_tapes()int f;cout根据此销售经理的平时表现为此销售经理打分.endl;cout请输入分数(0100):f;cout*销售经理的评估状态*90)cout 此销售经理 优 80) cout 此销售经理 良 70) cout 此销售经理 中60)cout 此销售经理 一般endl;elsecout 此销售经理 差endl;coutendlendl;void CSalesmanager:saler()coutno0;coutname0;coutsale0;coutno1;coutname1;coutsale1;coutno2;coutname2;coutsale2;coutno3;coutname3;coutsale3;void CSalesmanager:sort()int i,j,ni;double tmp;char p;for(j=0;j4;j+)for(i=0;i=4-j;i+)if(saleisalei+1)tmp=salei;salei=salei+1;salei+1=tmp;ni=noi;noi=noi+1;noi+1=ni;p=namei6;namei6=namei+16;namei+16=p;void CSalesmanager:saleprint()coutsetw(10)职工号setw(10)姓名setw(10)销售额endl;coutendl;coutsetw(10)no0setw(10)name0setw(10)sale0 endl;coutendl;coutsetw(10)no1setw(10)name1setw(10)sale1endl;coutendl;coutsetw(10)no2setw(10)name2setw(9)sale2endl;coutendl;coutsetw(10)no3setw(10)name3setw(10)sale3endl;coutendl;coutsetw(20)销售总额setw(10)sale0+sale1+sale2+sale3endl;void CSalesmanager:savesale()fstream outfile4;outfile4.open(list4.txt,ios:app);if(!outfile4)cout打开文件list4.txt打败n;abort();outfile4销售员的业绩:endl;outfile4职工号no0姓名name0工资sale0endl;outfile4职工号no1姓名name1工资sale1endl;outfile4职工号no2姓名name2工资sale2endl;outfile4职工号no3姓名name3工资sale3endl;outfile4.close();/*函数 Message1*/void Message1()CTechnician t;cout请输入要录入信息的技术员人数:n;CTechnician *te;te=new CTechniciann;if(te=NULL)cout堆分配失败!endl;exit(1);if(n!=1)for(int i=0;in;i+)tei.input();tei.pay();for(int j=1;j=n;j+)for(int i=0;in-j;i+)int ti=teitei+1;if(ti=1)t=tei;tei=tei+1;tei+1=t;for(i=0;in;i+)tei.Pming=i+1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排名endl;for(i=0;in;i+)tei.CTechnician:save();tei.CTechnician:print();tei.CTechnician:show_tapes();coutendl;elsete0.input();te0.pay();te0.Pming=1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排名endl;te0.print();te0.show_tapes();te0.save();/*函数Message2()*/void Message2()CManager t1;cout请输入要录入信息的经理人数:p;CManager *te1;te1=new CManagerp;if(te1=NULL)cout堆分配失败!endl;exit(1);if(p!=1)for(int i=0;ip;i+)te1i.input();te1i.pay();for(int j=1;j=p;j+)for(int i=0;in-j;i+)int ti1=te1ite1i+1;if(ti1=1)t1=te1i;te1i=te1i+1;te1i+1=t1;for(i=0;ip;i+)te1i.Pming=i+1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排名endl;for(i=0;ip;i+)te1i.CManager:save();te1i.CManager:print();te1i.CManager:show_tapes();coutendl;elsete10.input();te10.pay();te10.Pming=1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排名endl;te10.print();te10.show_tapes();te10.save();/*函数Message3()*/void Message3()CSaleman t2;cout请输入要录入信息的销售员人数:q;CSaleman *te2;te2=new CSalemanq;if(te2=NULL)cout堆分配失败!endl;exit(1);if(q!=1)for(int i=0;iq;i+)te2i.input();te2i.pay();for(int j=1;j=q;j+)for(int i=0;iq-j;i+)int ti2=te2ite2i+1;if(ti2=1)t2=te2i;te2i=te2i+1;te2i+1=t2;for(i=0;iq;i+)te2i.Pming=i+1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排名endl;for(i=0;iq;i+)te2i.CSaleman:save(); te2i.CSaleman:print(); te22.CSaleman:show_tapes(); coutendl;elsete20.input();te20.pay(); te20.Pming=1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排名endl;te20.print();te20.save();te20.CSaleman:show_tapes();/*函数Message4*/void Message4()CSalesmanager t3;cout请输入要录入信息的销售经理人数:r;CSalesmanager *te3;te3=new CSalesmanagerr;if(te3=NULL)cout堆分配失败!endl;exit(1);if(r!=1)for(int i=0;ir;i+)te3i.input();te3i.pay();for(int j=1;j=r;j+)for(int i=0;ir-j;i+)int ti3=te3ite3i+1;if(ti3=1)t3=te3i;te3i=te3i+1;te3i+1=t3;for(i=0;ir;i+)te3i.Pming=i+1;coutendl;cout- 职工信息表 -endl;coutendl;cout 工号 姓名 性别 年龄 岗位 工资 排
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济宁市2024-2025学年八年级上学期语文期中测试试卷
- 高速公路档案培训课件
- 高血压因素课件
- 高能相机基础知识培训课件
- 建设工程压覆矿产资源评估服务合同
- QMS考试试题及答案
- 电网知识新员工培训课件
- 【Nox聚星】2025年欧洲网红营销生态报告
- 高考加油课件app
- 电瓶车充电安全知识培训课件
- 云南省怒江傈僳族自治州本年度(2025)小学一年级数学部编版质量测试(下学期)试卷及答案
- 2025春季学期国开电大本科《管理英语3》一平台在线形考综合测试形考任务试题及答案
- CJJ1-2025城镇道路工程施工与质量验收规范
- 2024年中国电信国际有限公司招聘笔试真题
- 纪委执纪场所审查谈话系统解决方案
- 智慧矿山整体规划建设方案
- 两办意见、《条例》、八项硬措施、治本攻坚三年行动方案学习课件
- 2025年恒丰理财有限责任公司招聘笔试参考题库含答案解析
- 森林防火工程技术标准
- 推牌9公式和技巧
- 基于知识图谱技术的计算机网络链路漏洞检测研究
评论
0/150
提交评论