1、目 录 一、 课程设计目的 .1 二、课程设计内容1 1、 题目及简介1 2、 设计说明1 3、程序设计.1 (1)程序流程图.1 (2)程序代码.2 三、 课程设计总结15 参考文献.15 一、 课程设计目的 (1) 要求学生达到熟练掌握 c+语言的基本知识和技能; (2) 基本掌握面向对象程序设计的基础思路和方法; (3) 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 二、 课程设计内容 1 1、题目及简介 (1) 设计题目:小型公司工资管理系统设计 (2) 简介: 公司主要有 4 类人员:经理,技术员,销售员,销售经理。要求存储这些人的职 工号,姓名,月工资,岗位,年龄
2、,性别等信息。 工资的计算方法: 经理:固定月薪为 8000; 技术员:工作时间*小是工资(100 元每小时) ; 销售员:销售额*4%提成; 销售经理:底薪(5000)+所辖部门销售额总额*0.5%; 要求; 1) 输入数据要求每类人员不能少于 4 人,并按一下格式输出: 职员号 姓名 性别 年龄 岗位 工资 排名 及某销售经理管理所辖部门各销售员 的业绩及自己的工资表:职员号 姓名 销售额 销售额合计。 2)总体设计,要有一个菜单,用于选择各项功能,其中 (1)数据录入:输入各种数据; (2)数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序; (3)数据打印:打印上述表格; (4)
3、退出:退出本系统; 2 设计说明 充分利用了类的继承与派生的知识,先定义了一个雇员类 Employee,由雇员类 公有派生出技术员类 Tech,销售员类 Seller,经理类 Manager,由销售员类 Seller,经理类 Manager 公有派生出销售经理类 XManager。把基类都定义为虚 基类。通过基类去写的派生类就可以调基类的公有成员。利用 for 循环把经理数 据,技术员数据,销售员数据,销售经理数据输入,利用冒泡排序法把各销售经 理的资按升序排列。利用 switch 进行选择系统进行的工作。在主菜单中进行调 用各函数,从而实现系统各功能的运行。 3 程序设计(1)程序流程图 雇
4、员类 技术员类 经理类 销 售 员 类 销售经理类 2 (2)程序代码 #include #include #include class Employee/雇员类 protected: int num; int age; char name10; double income; char sex; public: virtual void Set() coutsex; coutnum; couthour; per=100; income=hour*per; ; class Seller: virtual public Employee/销售员类 protected: double salary;/销售额 int ss;/所属经理编号 public: double Gets() return salary; void Set() coutsalary; coutnum; Employee:Set(); income=8000; ; class Xmanager:virtual public Manager,public Seller/销售