题目:小型公司工资管理系统
功能:
1、公司各部门员工信息分类录入;
2、公司销售部工资情况查询;(分类各销售经理下属销售员情况)
3、公司总体工资情况查询;
要求:
实现一个工资管理系统,系统的主要功能是计算职工当月工资并要求存档案。
公司是一个不大不小公司,职工有种5类型,他们是技术人员,销售人员,文秘,技术经理,销售经理。世界从来就不是公平的,在公司内部也一样,不同职位工资不同。
技术人员工资是按小时算,薪酬为40元。销售人员工资是按销售提成,月工资为销售总额的5%。文秘为有4000元底薪,奖金要看当月的工作情况而定。技术经理和销售经理,均有每月5000元固定工资。技术经理工作业绩分为三个等级,每级有1000元奖金,销售经理资金由他管理团队销售业绩而定,为总经额的0.3%。
分析:
技术人员 工作小时*时薪40元
销售人员 销售总额的5%
文秘 4000底薪+奖金
技术经理 5000底薪+奖金(1000-3000)
销售经理 5000底薪+总经额0.3%
先定义一个雇员类Employee,由雇员类公有派生出技术员类Tech,销售员类Seller,文秘类Secretary和技术经理类YManager,再由销售员类Seller公有派生出销售经理类XManager。把基类都定义为虚基类。通过基类去写的派生类就可以调基类的公有成员。利用for循环把文秘数据,技术员数据,销售员数据,技术经理数据和销售经理数据输入,利用switch进行选择系统进行的工作。在主菜单中进行调用各函数,从而实现系统各功能的运行。
不足:
这个程序有挺多不足的地方啊。。。
首先是题目要求——文秘和技术经理的工资是由底薪还有奖金组成的,但由于我不知道怎么理解这个奖金,所以程序里没有实现这个功能。
员工信息的录入方面,没有删除错误录入信息的功能,万一录入信息错误必须重新录入此类全部员工的信息。并且程序很硬性地规定要录入4名文秘、4名技术员、8名销售员、4名技术经理、4名销售经理的信息,其中每名销售经理旗下有2名销售员。最后展示情况的表格也是根据这个数量设置的。
还有一个我一开始没有发现的漏洞,一开始设置了销售员有“所属销售经理编号”的输入,本来想根据这个编号归类销售员的,但由于后来不知道怎么实现,所以没去管它。结果导致销售员的归类与所输入的“所属销售经理编号”无关,第1、2个输入的销售员信息默认归类到第1个输入的销售经理旗下,以此类推。
代码: