C小型企业工资管理系统_第1页
C小型企业工资管理系统_第2页
C小型企业工资管理系统_第3页
C小型企业工资管理系统_第4页
C小型企业工资管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、一、需求分析1. 从要求上来看是要对各个员工的各种情况(名字、年龄、性别、职位、工资状况进行输入。然后可以输出.2. 可以对于员工数据进行修改,可以查询.3. 对于员工的各种情况系统还可以进行统计排名.二、概要设计首先,创建了一个employee类.然后派生出四个类: manager、technician、salesman、sales manager.在派生类中定义了三个构造函数,分别是:数据输入函数(Input,表格输出函数(Print,排序函数(Pay.其次,在总体结构上,建立以各根菜单,用于选择各种功能.1. Input(数据输入:输入员工的各种数据.2. Total(数据统计:将员工的

2、总数据进行对比排序,然后输出.3. Output(数据显示:显示输入的各种数据.4. Save(数据保存:对输入的数据进行保存备份.5. Eixt(退出程序:执行退出程序命令.三、详细设计1. Input(数据输入: 定义了各个岗位的人员的类,并把每个类的人员的属性设为类中的保护成员,其中技术工的工作时间和每小时的所得为私有成员,而销售员的销售额、经理的工资和销售经理的所辖部门的销售额和其底薪设为公有成员,再依次录入。2. Total(数据统计: 根据所有类的工资算法在其所属类中定义一个函数void pay(来根据各个职位的具体情况来计算工资,并且算出的工资经过冒泡法排序.void print

3、total(cout<<""< cout<<"Total "< "< cout<<""< 3. Output(数据显示: 通过do-while循环以及制表格和setw的使用将输入的数据和统计并排序的数据以表格的形式打印出来,销售额合计一栏宽度要大些。void saleprint(cout<<""< "< "< "< cout<<""< cout

4、<<""< "< "< "< cout<<""< cout<<""< "< "< "< cout<<""< cout<<""< "< "< "< void print(cout<<""< cout<<"&q

5、uot;< "< "< " < "< "< 4. Save(数据保存: 通过函数save(来将输入的数据和统计并排序的数据进行保存.例如:void save(fstream outfile;outfile.open("f:flsdfj.txt",ios:app;if(!outfilecout<<"f can't open.n"abort(;outfile<<"Sales manger"< outfile<&

6、lt;"ID"< 5. Eixt(退出:利用exit来完成退出系统功能。四、设计和调试分析程序清单:#include #include #include #include #include class employeepublic:employee(salary=0;void pay(void print(void input(cout<<"ID:"cin>>no;cout<<" NAME:"cin>>name;cout<<" SEX(m/w:"ci

7、n>>sex;cout<<" AGE:" cin>>age;protected:int no;char name8;float salary;char sex;int age;class manager:virtual public employeeprotected:float monthlypay,sale;public:manager(monthlypay=8000;void input(cout<<"Manger"employee:input(;void save(fstream outfile;o

8、utfile.open("f:flsdfj.txt",ios:app;if(!outfilecout<<"f can't open.n"abort(;outfile<<"Manger"< outfile<<"ID"< void pay(salary=monthlypay;void print(cout<<""< cout<<""< "< "< <&

9、lt;""< "< "< ;class technician:virtual public employeeprivate:float hourlyrate;int workhours;public:technician(hourlyrate=100;void pay(cout< cin>>workhours;salary=hourlyrate*workhours;void input(cout<<"TECHNICIAN"< void save(fstream outfile;ou

10、tfile.open("f:flsdfj.txt",ios:app;if(!outfilecout<<"f can't open.n"abort(;outfile<<"TECHNICIAN"< outfile<<"ID"< void print(cout<<""< cout<<""< "< "< <<""< &quo

11、t;< "< ;class salesman:virtual public employeeprotected:float commrate;float sales;public:salesman(commrate=0.04;void input(cout<<"SALEMAN"employee:input(;void save(fstream outfile;outfile.open("f:flsdfj.txt",ios:app;if(!outfilecout<<"f can't open.

12、n"abort(;outfile<<"TECHNICIAN"< outfile<<"ID"< void pay(cout< cin>>sales;salary=sales*commrate;void print(cout<<""< cout<<""< "< "< < "< "< "< ;class salesmanager:virt

13、ual public manager,virtual public salesmanprivate:float total;int no1,no2,no3,no4;char name18,name28,name38,name48;float sale1,sale2,sale3,sale4;public:void salemanager(monthlypay=5000;commrate=0.005;void input(cout<<"Sales manger"employee:input(;void save(fstream outfile;outfile.ope

14、n("f:flsdfj.txt",ios:app;if(!outfilecout<<"f can't open.n"abort(;outfile<<"Sales manger"< outfile<<"ID"< void savesale(fstream outfile;outfile.open("f:flsdfj.txt",ios:app;if(!outfilecout<<"f can't open.n&quo

15、t;abort(;outfile<<"The salary of saleman of sales manger and themselves"< outfile<<"ID"< outfile<<"ID"< outfile<<"ID"< outfile<<"ID"< void pay(cout< salary=monthlypay+commrate*total;float totalsale(tota

16、l=sale1+sale2+sale3+sale4;return total;void printtotal(cout<<""< cout<<"Total "< "< cout<<""< void sort(salesmanager pint tmp,i,j;for(j=0;j<2;j+for(i=0;i<2;i+if(total tmp=salary;total=p.salary;p.salary=tmp;tmp=no;no=p.no;p.no=tmp

17、;void saler(cout<<"Staff ID:"cin>>no1;cout<<" Staff NAME:"cin>>name1;cout<<" Sales volume:"cin>>sale1;cout<<"Staff ID:"cin>>no2;cout<<" Staff NAME:"cin>>name2;cout<<" Sales volume

18、:"cin>>sale2;cout<<"Staff ID:"cin>>no3;cout<<" Staff NAME:"cin>>name3;cout<<" Sales volume:"cin>>sale3;cout<<"Staff ID:"cin>>no4;cout<<" Staff NAME:"cin>>name4;cout<<"

19、Sales volume:"cin>>sale4;void saleprint(cout<<""< "< "< "< cout<<""< cout<<""< "< "< "< cout<<""< cout<<""< "< "< "< cout&

20、lt;<""< cout<<""< "< "< "< void print(cout<<""< cout<<""< "< "< " < "< "< ;void main(manager m4;technician t4;salesman s4;salesmanager sm4;t1.save(;int flag=1,oper

21、ate;docout<<" # The system of salary manger #n"cout<<" n" cout<<" Chose your actions n"cout<<" Input:1,Enter n"cout<<" Total:2,Enter n"cout<<" Output:3,Enter n"cout<<" Save:4,Enter n"cout&

22、lt;<" Exit:5,Enter n"cout<<" n" cout<<" Please chose one action: "cin>>operate;switch(operatecase 1:cout<<"Waiting for a minute!"< for(int i=0;i<4;i+mi.input(;for(int j=0;j<4;j+tj.input(;for(int k=0;k<4;k+sk.input(;for(in

23、t l=0;l<4;l+sml.input(;for(int i=0;i<4;i+mi.pay(;for(int j=0;j<4;j+tj.pay(;for(int k=0;k<4;k+sk.pay(;for(int l=0;l<4;l+sml.pay(;sml.saler(;break;case 2:cout<<"Waiting for a minute!"< for(int l=0;l<4;l+sml.totalsale(;for(int i=0;i<4;i+for(int j=0;j<2;j+smj.s

24、ort(smj+1; cout<<"The saleman of the first sales manger"< cout<<""< cout<<"ID NAME SALARY "< sm0.saleprint(;sm0.printtotal(; cout<<" The order is complete"< cout<<"List names of every sales manger"< cout&l

25、t;<""< cout<<"ID NAME SEX AGE SALARY "< for(int k=0;k<4;k+smk.print(;cout<<""< ;break;case 3:cout<<"Waiting for a minute!"< cout<<" The blank of the :"< cout<<""< cout<<"ID NAME SEX AGE SALARY "< for(int i=0;i<4;i+mi.print(;cout<<""< cout<<""< cout<<""< cout<

温馨提示

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

评论

0/150

提交评论