一、设计一个小型公司的信息管理系统,内容如下。 某小型公司主要有4类人:经理、兼职技术人员、销售经理、兼职销售员,这些人 具有以下属性: 经理:姓名、编号、级别、固定工资、当月薪水、计算月薪、显示信息。 兼职技术人员:姓名、编号、级别、工作小时、每小时工资额、当月薪水、计算月 薪、显示信息。 兼职销售员:姓名、编号、级别、销售额、销售额提成、当月薪水、计算月薪、显 示信息。 销售经理:姓名、编号、级别、固定工资、销售额、销售额提成、当月薪水、计算 月薪、显示信息。 要求: 1、 人员编号要求基数为1000,每输入一个人员信息编号顺序加1; 2、 要有主函数,在主函数里定义不同类的对象,实现人员信息的输出。 3、月薪计算办法: 经理固定月薪8000元;兼职技术人员按100元/小时领取月薪;兼职推销员按当月销 售额的4%提成;销售经理固定月薪5000,销售提成为所管辖部门当月销售总额的千 分之五。用c++编写

时间: 2023-07-10 09:43:01 浏览: 42
好的,我可以帮你设计一个小型公司的信息管理系统,以下是代码实现: ```cpp #include <iostream> #include <string> using namespace std; // 声明类 class Manager; class PartTimeTech; class PartTimeSales; class SalesManager; // 定义人员类 class Person { protected: string name; int id; int level; float salary; public: static int base_id; Person(string n, int l, float s) { name = n; level = l; salary = s; id = base_id++; } virtual float calcSalary() = 0; virtual void displayInfo() = 0; }; // 定义经理类 class Manager: public Person { private: float month_salary; public: Manager(string n, int l, float s): Person(n, l, s) { month_salary = calcSalary(); } float calcSalary() { return 8000; } void displayInfo() { cout << "姓名:" << name << endl; cout << "编号:" << id << endl; cout << "级别:" << level << endl; cout << "固定工资:" << salary << endl; cout << "当月薪水:" << month_salary << endl; } }; // 定义兼职技术人员类 class PartTimeTech: public Person { private: float work_hour; float hour_salary; float month_salary; public: PartTimeTech(string n, int l, float s, float wh, float hs): Person(n, l, s) { work_hour = wh; hour_salary = hs; month_salary = calcSalary(); } float calcSalary() { return work_hour * hour_salary; } void displayInfo() { cout << "姓名:" << name << endl; cout << "编号:" << id << endl; cout << "级别:" << level << endl; cout << "工作小时:" << work_hour << endl; cout << "每小时工资额:" << hour_salary << endl; cout << "当月薪水:" << month_salary << endl; } }; // 定义兼职销售员类 class PartTimeSales: public Person { private: float sales; float commission; float month_salary; public: PartTimeSales(string n, int l, float s, float sl, float c): Person(n, l, s) { sales = sl; commission = c; month_salary = calcSalary(); } float calcSalary() { return sales * commission; } void displayInfo() { cout << "姓名:" << name << endl; cout << "编号:" << id << endl; cout << "级别:" << level << endl; cout << "销售额:" << sales << endl; cout << "销售额提成:" << commission << endl; cout << "当月薪水:" << month_salary << endl; } }; // 定义销售经理类 class SalesManager: public Person { private: float sales; float commission; float month_salary; public: SalesManager(string n, int l, float s, float sl, float c): Person(n, l, s) { sales = sl; commission = c; month_salary = calcSalary(); } float calcSalary() { return salary + sales * commission * 0.005; } void displayInfo() { cout << "姓名:" << name << endl; cout << "编号:" << id << endl; cout << "级别:" << level << endl; cout << "固定工资:" << salary << endl; cout << "销售额:" << sales << endl; cout << "销售额提成:" << commission << endl; cout << "当月薪水:" << month_salary << endl; } }; // 初始化编号 int Person::base_id = 1000; int main() { // 创建不同类的对象 Manager m("张三", 1, 10000); PartTimeTech ptt("李四", 2, 0, 80, 100); PartTimeSales pts("王五", 3, 0, 100000, 0.04); SalesManager sm("赵六", 4, 5000, 200000, 0.05); // 输出人员信息 m.displayInfo(); cout << endl; ptt.displayInfo(); cout << endl; pts.displayInfo(); cout << endl; sm.displayInfo(); return 0; } ``` 注意:以上代码只是一个简单的示例,实际开发中还需要根据需求进行完善和优化。

相关推荐

最新推荐

recommend-type

基于C/S结构的小型餐饮管理系统设计与实现

为使酒店管理(信息工程)专业的学生掌握设计和实现旅游信息管理系统的方法,对酒店餐饮管理工作的业务流程进行了分析,并在此基础上设计了可供学生在管理信息系统设计课程中使用的餐饮管理系统设计方案。通过教学...
recommend-type

中小型超市综合信息管理系统-毕业设计(源程序).doc

整个超市综合管理信息系统是一个很大的系统,它包括,人事管理模块,公司财务管理模块,商品采购管理模块,商品销售管理模块,企业用户查询模块等,各个模块有很大的相似性,因此,在这里主要以一个模块作为样板详细...
recommend-type

小型仓库管理系统的设计与实现(毕业论文)

小型仓库管理系统的设计与实现(毕业论文) -----------------来自网络 如有侵权 请联系删除
recommend-type

某书店书刊出租和零售管理系统数据库系统设计

(3)为系统维护者提供一个集中维护的平台:系统管理人员能对系统运行的缺陷、故障进行集中处理,使系统管理人员能够快速、有效、连续的对系统进行维护与调整。 第三章需求分析 3.1系统总体的功能需求 系统在界面设计...
recommend-type

中小型超市综合信息管理系统-毕业设计(论文).doc

该系统完成日常超市的综合信息管理和维护,它主要包括以下几个模块:人事信息管理模块,主要包含员工部门信息管理,员工的信息管理,员工考勤管理;商品采购信息管理模块,供应商的信息管理,供应商联系人的信息管理...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB图像处理算法宝典:从理论到实战

![MATLAB图像处理算法宝典:从理论到实战](https://img-blog.csdnimg.cn/20200717112736401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1emhhbzk5MDE=,size_16,color_FFFFFF,t_70) # 1. MATLAB图像处理基础理论 MATLAB图像处理是一种利用MATLAB编程语言进行图像处理的强大工具。它提供了丰富的函数和工具箱,用于图像获取、增强、分
recommend-type

matlab中1/x的非线性规划

在MATLAB中,可以使用非线性规划函数(`fmincon`)来优化一个包含1/x的非线性目标函数。下面是一个简单的例子: ```matlab % 定义目标函数 fun = @(x) 1/x; % 定义约束函数(这里没有约束) nonlcon = []; % 定义初始点 x0 = 1; % 定义优化选项 options = optimoptions('fmincon', 'Display', 'iter'); % 进行非线性规划 [x, fval] = fmincon(fun, x0, [], [], [], [], [], [], nonlcon, options); ``` 在
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。