c++某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中的雇员分为经理、技术人员。月薪计算方法如下:经理拿固定目薪;技术人员按小时领取月薪。功能需求: (1)设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。 (2)添加功能:根据用户选择的人员类别,添加经理或者技术人员。要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复,并取消添加。 (3)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;可显示当前系统中所有记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 (5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
时间: 2023-06-27 14:04:20 浏览: 155
员工工资管理 C++
3星 · 编辑精心推荐
好的,这是一个比较完整的程序需求,我们可以先从类的设计入手。
首先,我们需要设计一个基类 Employee,包含编号、姓名、性别、所在部门和级别等基本信息,并且定义一个虚函数 calculateSalary() 用于计算月薪。因为经理和技术人员的月薪计算方式不同,所以我们可以设计两个派生类 Manager 和 Technician,它们分别继承 Employee,并重写了 calculateSalary() 方法。
为了避免多次继承带来的问题,我们可以设计一个虚基类 BasicInfo,包含编号、姓名、性别、所在部门等信息,并让 Employee 继承 BasicInfo。这样,在 Manager 和 Technician 继承 Employee 时,就不会出现重复继承 BasicInfo 的情况。
接下来,我们需要设计一个管理类 Company,用于管理公司的员工信息。它包含一个员工数组和员工数量,提供添加、查询、编辑和删除等功能,还需要具备文件的输入/输出功能。
以上是类的设计,接下来我们可以开始编写代码。
阅读全文