1、 1 C+面向对象技术课程设计报告 公 司 人 员 管 理 系 统 2 面向对象技术与 C+课程设计任务书 课 程 面向对象技术与 C+ 班级 指导教师 题 目 公司人员管理系统 完成时间 2013 年 08 月 26 日至 2013 年 08 月 30 日 主 要 内 容 问题描述(功能要求) : 某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推 销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总 额并显示全部信息。要求: 1其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺 序加 1。 2程序对所有人员有提升级别的功能 3月薪的计算方法是:经
2、理拿固定月薪,兼职技术人员按工作小时数领取月 薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也 领取销售提成。 4能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。 5用文件处理方式实现。 设 计 报 告 要 求 1封面:(格式附后) 2课程设计任务书 3课程设计报告: 系统总体方案 设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料 说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹 工整(也可用以打印),文字不少于 5000 字,并装订成册。 上 机 时 间 安 排 星期 周次 一 二 三 四 五 六 日 第17周 1-4
3、 1-4 1-4 1-4 1-4 指导时 间地点 上机时间:8:20-11:30 ,地点:工 205 版 面 要 求 1.题目用黑体三号,段后距 18 磅(或 1 行) ,居中对齐; 2.标题用黑体四号,段前、段后距 6 磅(或 0.3 行) ; 3.正文用小四号宋体,行距为 1.25 倍行距; 4.标题按“一” 、 “” 、 “1” 、 “”顺序编号。 3 目目 录录 1 系统功能要求 2 系统功能分析和设计思路、系统功能模块 3 系统流程图 4 调试过程及系统使用说明 5 程序代码 6 总结、心得与体会 4 一一.系统功能要求系统功能要求 某小型公司,主要有四类人员:经理、一般工人、销售员
4、以及销售经理。现 在、需要建立一个小型的公司人员管理系统,能够以文件方式存储这些人员的各 类信息并能按照其编号查询输出所输入的所有信息,还要按照公司的要求计算出 每名员工一个月的工资。 要求: 1) 可以录入并保存四类人员的信息 2) 可以按照职工的类别以及姓名查询并显示四类人员的信息 3) 可以按照规定的方法计算每名员工每月所得的工资 月薪计算方法: 经理拿固定工资 8000 兼职技术人员按每小时 100 元领取月薪 兼职推销月的月薪按该推销员当月销售额的 4%提成; 销售经理既拿固定月薪也领取销售提成,固定月薪为 5000 元,销售提 成为所管 辖部门当月销售总额的 5% 4) 可以退出本
5、系统 二二.系统功能分析和设计思路系统功能分析和设计思路、系统功能模块、系统功能模块 我们使用面向对象程序设计方法的思路迚行分析,得出了整个系统应该涉及 两个基类的信息和操作,首先是公司雇员这一个大基类,其它诸如经理等的类应 5 该由此类派生;再有、为了方便实现各类信息以文件方式的储存以及实现各种功 能和界面,我们决定再创建一个系统类。所以我们接下来所要做的一切工作都要 围绕这两个类(公司雇员类 employee以及系统类 system)来展开。 (1)公司雇员类 employee:可以说这是本系统的一个“总基类” ,我们按 照预期的设计及要求由它(公司雇员类 employee)派生出了经理类
6、 manager、 一般工人类 worker、销售员类 sale以及销售经理类 sale_manager。由亍考虑 到各个小的分类乊间在形式下差丌多,为了丌出现“二义性”的问题,我们主要 在各个类乊间采取定义虚基类以及纯虚函数的思路迚行调用。另外、由亍我们对 链表的运用以及链表的掌握还丌是很熟练,再加上为了使各个类方便不系统类 system迚行直接连接,我们遂决定采用对象数组存放文件中读入戒读出的各类公 司人员信息。但是我们发现这样做有一个缺陷:因为无法事先确定各类人员及各 类人员的各种信息,所以无法确定对象数组的大小。这里我们讨论后决定事先确 定一个较大的数组空间来决定这个问题,当然,解决这个问题的最好方法还是采 用异质链表来存放从文件中读取的信息。 (2)系统类 system:由亍这个系统涉及到了文件的应用,所以系统类 system是必丌可少的。我们对问题分析、讨论以后决定,系统类 system的主要 成员函数要包括:提供输入各类数据的 inform、确认各类输入成功的 success、