欢迎来到天天文库
浏览记录
ID:41844277
大小:586.02 KB
页数:25页
时间:2019-09-03
《c++小型公司工资管理系统实践报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、中国石油大学(华东)信息与控制工程学院《程序设计实习》报告小型公司工资管理系统的设计专业班级:电子09-2学号:09052213姓名:李少兴时间:2010.8.22-2010.8.27指导教师:王武礼2010年8月目录一、实习内容1二、设计思路2三、程序清单3四、运行结果4五、程序使用说明5六、总结及心得体会6—、实习内容木次实习的内容是设计一个小型公司的工资管理系统,通过这个系统实现对经理、技术员、销售员及销售经理等公司成员的职工号、姓名、年龄、月工资等信息的数据输入、数据处理、数据的输出显示、数据的
2、备份等功能。本次实习主要是针对较难综合题目进行分析、编程、调试和运行,这利于我们进一步掌握面向过程和面向对象程序的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题解决问题的能力。本次实习的题目及要求如下:1..题目:小型公司工资管理系统的设计2.设计说明与基本要求(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、性别、年龄、月工资等信息;(2)工资的计算方法:经理:固定月薪为8000元;技术员:工作时间X工资(100元/小时);销售员:销售额X
3、4%提成;销售经理:底薪(5000元)+下屈销售员销售额总额X0.5%;(3)员工基本数据的输入:要求每类人员不能少于4人,其中销售员需要8名,每名销售经理手下有2名销售员。⑷各类的数据成员访问权限设置为:protected二、设计思路1.类的层次结构2.设计思路首先要总体设计,要有一个菜单,用于选择各项功能,用来进行数据的录入,数据的统计,数据的打印,数据的备份,退出系统等功能。这就要充分利用了类的继承与派生的知识,先定义一个雇员类employee,由雇员类共有派生出技术员类tec,销售员类selle
4、r,经理类manager,又由经理类公有派牛出销售经理类smanagero把基类定义成虚基类,通过基类去写的派生类就可以调用基类的公有成员。程序中宜使用全局变量,便于修改,简便清晰,然后利用for循环把经理数据,技术员数据,销售员数据,销售经理数据输入,再利用switch选择系统进行的工作,在主菜单中进行调用各函数,从而实现各功能。而各项功能的实现就需要定义相应的函数,其中输入功能的实现就需要在基类定义输入函数set(),乂由于各派生类中都要输入数据且稍有不同,所以比较适宜将set()函数设为虚函数,便
5、于简化程序。数据的统计和打印,主要是制表和数据的输出,所以定义biaol()、biao2()分别用来输入表头和表尾,定义get()函数來用于数据的输出,与此相似表格的备份也如此,孤儿定义各个备份函数如beifen()beifen1()等,来进行数据的备份。程序中要求销售经理工资排序则采用的冒泡排序法实现。三、程序清单#include#include#include#includeusingnamespacestd;fstreamf;
6、classemployee{public:virtualvoidset(){cout«H其姓名:”;cin»name;cout«n性别:”;cin»sex;cout«n年龄:”;cin»age;}voidGet(){COUt«uI1111T"«endl;cout«M
7、"«setw(10)«num«H
8、”;intn=10-strlen(name);for(inti=0;i9、"«"n«sex«""«"10、"«setw(10)«age«"11、H«setw(1012、)«pay«n13、n«endl;}protected:intnum,age;doublepay;charsex,name]10];};classtec:publicemployee{public:voidset(){cout«H技术员的编号:”;cin»num;cout«endl;employee::set();cout«endl;coutvv”工作时间:”;cin»time;pay=100*time;}voidbeifen(){f«"I11F-H1n«endl;intn=10-strlen(name);14、f«n15、H«setw(10)«num«n16、n;for(inti=0;i17、f«name«n18、n«n,,«sex«,'n«n19、,'«setw(10)«time«"20、',«setw(10)«pay«"21、H«endl;}protected:doubletime;};classseller:publicemployee{protected:doublesale;intsm;public:voidse
9、"«"n«sex«""«"
10、"«setw(10)«age«"
11、H«setw(10
12、)«pay«n
13、n«endl;}protected:intnum,age;doublepay;charsex,name]10];};classtec:publicemployee{public:voidset(){cout«H技术员的编号:”;cin»num;cout«endl;employee::set();cout«endl;coutvv”工作时间:”;cin»time;pay=100*time;}voidbeifen(){f«"I11F-H1n«endl;intn=10-strlen(name);
14、f«n
15、H«setw(10)«num«n
16、n;for(inti=0;i17、f«name«n18、n«n,,«sex«,'n«n19、,'«setw(10)«time«"20、',«setw(10)«pay«"21、H«endl;}protected:doubletime;};classseller:publicemployee{protected:doublesale;intsm;public:voidse
17、f«name«n
18、n«n,,«sex«,'n«n
19、,'«setw(10)«time«"
20、',«setw(10)«pay«"
21、H«endl;}protected:doubletime;};classseller:publicemployee{protected:doublesale;intsm;public:voidse
此文档下载收益归作者所有