用C++编程——小型公司工资管理系统.doc_第1页
用C++编程——小型公司工资管理系统.doc_第2页
用C++编程——小型公司工资管理系统.doc_第3页
用C++编程——小型公司工资管理系统.doc_第4页
用C++编程——小型公司工资管理系统.doc_第5页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

#include #include #include #include using namespace std;const int n=2;class Employeeprotected:int num;string name;int age;char sex;double salary;public:Employee(int n=0,int a=0,double sa=0)num=n;age=a;salary=sa;virtual void input();virtual void print();virtual void txtout() ;int funnum()return num;string funname()return name;void Employee:input()coutnum;coutname;coutsex;coutage;class Technician:public Employeeprotected:int hours;int hourlypay;public:Technician(int hp=100)hourlypay=hp;virtual void input();virtual double pay()return (salary=hours*hourlypay);virtual void print();virtual void txtout();void Technician:input()cout技术员的;Employee:input();couthours;class Manager:public Employeepublic:Manager(double sa=8000)salary=sa;virtual void input();virtual void print();virtual void txtout();void Manager:input()cout经理的;Employee:input();class Salesman:public Employeeprotected:double commrate;/提成int Smnum;/所属经理的编号double sales;/销售额public:Salesman(double com=0.04)commrate=com;virtual void input();virtual double pay()return (salary=sales*commrate);virtual void print();virtual void txtout();int funnum1()return Smnum;double funsales()return sales;void Salesman:input()cout销售员的;Employee:input();coutsales;coutSmnum;class Salesmanager:public Employeeprotected:double basepay,sumsales,commrate;/底薪,销售总额,提成public:Salesmanager(double base=5000,double com=0.005)basepay=base;commrate=com;virtual void input();virtual void print();virtual void print1();virtual void pay();virtual void shujutongji();virtual void txtout();Technician tecn;Manager mann;Salesman sal2*n;Salesmanager sman;/定义全局变量void Salesmanager:input()cout销售经理的;Employee:input();void Salesmanager:pay()for(int i=0;in;i+) smai.sumsales=0; for(int j=0;j2*n;j+) if(salj.funnum1()=smaj.num) smaj.sumsales=smaj.sumsales+salj.funsales(); smai.salary=basepay+smai.sumsales*commrate;void Salesmanager:print()for(int i=0;in;i+) smai.sumsales=0; cout职工编号为smai.num销售经理下属销售员的业绩为:endl; coutendl; cout 职工号 姓名 销售额 endl; for(int j=0;j2*n;j+) if(salj.funnum1()=smai.num) smai.sumsales=smai.sumsales+salj.funsales(); coutendl; coutsetw(10)salj.funnum()setw(10)salj.funname()setw(10)salj.funsales()endl; coutendl; cout销售额总计setw(22)smai.sumsalesendl; coutendl;void Salesmanager:shujutongji()for(int i=0;in;i+) smai.sumsales=0; for(int j=0;j2*n;j+) if(salj.funnum1()=smai.num) smai.sumsales+=salj.funsales(); smai.salary=basepay+smai.sumsales*commrate;for(int k=0;kn-1;k+) for(int m=k+1;mn;m+) if(smak.salarysmam.salary) Salesmanager sma1; sma1=smak;smak=smam;smam=sma1; cout销售经理按工资排序为:endl; coutendl; cout职工号姓名性别年龄工资endl; for(int e=0;en;e+) coutendl; coutsetw(8)smae.numsetw(8)setw(8) smae.sexsetw(8)smae.agesetw(8)smae.salaryendl; coutendl;void Technician:print()coutendl;cout 职工号 姓名 性别 年龄 工资 endl;for(int i=0;in;i+) coutendl; coutsetw(8)teci.numsetw(8)setw(8) teci.sexsetw(8)teci.agesetw(8)teci.pay()endl;coutendl;void Manager:print()coutendl;cout 职工号 姓名 性别 年龄 工资 endl;for(int i=0;in;i+) coutendl; coutsetw(8)mani.numsetw(8)setw(8) mani.sexsetw(8)mani.agesetw(8)mani.salaryendl;coutendl;void Salesman:print()coutendl;cout 职工号 姓名 性别 年龄 工资 所属部门经理编号 endl;for(int i=0;i2*n;i+) coutendl; coutsetw(8)sali.numsetw(8)setw(8) sali.sexsetw(8)sali.agesetw(8)sali.pay()setw(18)sali.funnum1()endl;coutendl;void Salesmanager:print1()/coutendl;cout 职工号 姓名 性别 年龄 工资 endl;for(int i=0;in;i+) coutendl; coutsetw(8)smai.numsetw(8)setw(8) smai.sexsetw(8)smai.agesetw(8)smai.salaryendl;coutendl;void Technician:txtout()/技术员数据备份ofstream outfile(d:output.txt,ios:app);if(!outfile)cout备份失败!endl;outfile* 公司职员信息备份 *endl;outfile*技术员信息*endl;outfileendl;outfile 职工号 姓名 性别 年龄 工资 endl;for(int i=0;in;i+) outfileendl; outfilesetw(8)teci.numsetw(8)setw(8) teci.sexsetw(8)teci.agesetw(8)teci.pay()endl;outfileendl;outfile*endl;void Manager:txtout()/经理数据备份ofstream outfile(d:output.txt,ios:app);if(!outfile)cout备份失败!endl;outfile*经理信息*endl;outfileendl;outfile 职工号 姓名 性别 年龄 工资 endl;for(int i=0;in;i+) outfileendl; outfilesetw(8)mani.numsetw(8)setw(8) mani.sexsetw(8)mani.agesetw(8)mani.salaryendl;outfileendl;outfile*endl;void Salesmanager:txtout()/销售经理数据备份ofstream outfile(d:output.txt,ios:app);if(!outfile)cout备份失败!endl;outfile*销售经理信息*endl;outfileendl;outfile 职工号 姓名 性别 年龄 工资 endl;for(int i=0;in;i+) outfileendl; outfilesetw(8)smai.numsetw(8)setw(8) smai.sexsetw(8)smai.agesetw(8)smai.salaryendl;outfileendl;outfile*endl;void Salesman:txtout()/销售员数据备份ofstream outfile(d:output.txt,ios:app);if(!outfile)cout备份失败!endl;outfile*销售员信息*endl;outfileendl;outfile 职工号 姓名 性别 年龄 工资 所属部门经理编号 endl;for(int i=0;i2*n;i+) outfileendl; outfilesetw(8)sali.numsetw(8)setw(8) sali.sexsetw(8)sali.agesetw(8)sali.pay()setw(18)sali.funnum1()endl;outfileendl;outfile*endl;int main()for(int i=0;i+) int j; cout小型公司工资管理系统endl; coutendl; cout请选择您所需的操作endl; cout 数据输入:1,并按回车键 endl; cout 数据统计:2,并按回车键 endl; cout 数据打印:3,并按回车键 endl; cout 数据备份:4,并按回车键 endl; cout 退出系统:5,并按回车键 endl; coutendl; coutj; coutendl; switch(j) case 1: for(int i=0;in;i+)teci.input();coutendl; cout-endl; for(i=0;in;i+)mani.input();coutendl; cout-endl; for(i=0;i2*n;i+)sali.input();coutendl; cout-endl; for(i=0;in;i+)smai.input();coutendl; ;break; case 2: Salesmanager sma1; sma1.print(); sma1.shujutongji(); ;break; case 3: cout 请等待.endl; cout职工基本情况一览表如下endl; coutendl; cout技术员endl; Technician tec1;tec1.print();coutendl; cout-endl; cout经理endl; Manager man1;man1.print();coutendl; cout-endl; cout销售经理endl; Salesmanager sma1;sma1.print1();coutendl; cout-endl; cout销售员endl; Sal

温馨提示

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

评论

0/150

提交评论