1、 C+课程设计报告课程设计报告 课程: 学号: 姓名: 班级: 教师: 课程设计任务书 姓 名 班 级 课程名称 高校工资管理系统 课程性质 C+程序设计 设计时间 2013 年 6 月 25 日2013 年 7 月 5 日 设计名称 高校职工信息与工资管理系统 设计要求 问题的描述(功能要求): 高校有五类职工:教师,实验员,行政人员,教师兼 职实验员,行政人员兼职教师。为了实现工资发放的自动 功能,现要求编写程序来自动完成此功能。同时注意生成 的相关数据结果以文件方式存放在硬盘中。程序应具备从 键盘录入,文件的可继续录入,任意职工的工资查询(可 由职工编号和职工姓名来实现),若有职工由于工
2、作调动, 则可进行相对应的调整动作。 设计思路 与 设计过程 本程序设计了 6 个类,其中 Person 类为抽象基类, Teacher 类、Assistant 类、Manager 类以 Person 类为直 接基类, Teacher_Assistant 类为 Teacher 类和 Assistant 类的派生类,Manger_Teacher 类为 Manager 类和 Teacher 类的派生类, Salary_Management 类为 Person 类的友元类, 提供实现管理功能的相应的函数,主要实现职工信息的录 入,查询、修改、添加、删除、浏览和退出系统的功能。 计划与进度 6 月末完
3、成题目的分析设计, 7 月 1 号完成程序代码的 编写,7 月 4 号初步调试工作基本完成。 任课教师 意 见 说 明 课程设计名称: 高校工资管理系统 1.设计内容: 问题的描述(功能要求): 高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼 职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同 时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入, 文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现), 若有职工由于工作调动,则可进行相对应的调整动作。 相关信息: 每一学期将学校职工的本学期任职情况及上学期工作的相关情况输
4、入计算 机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法 如下: 其中工资的基本构成如下: 教师: 基本工资+课时费; 实验员: 基本工资+实验室补助; 行政人员: 基本工资+行政补贴; 教师兼职实验员: 基本工资+课时费+实验室补助; 行政人员兼职教师:基本工资+行政补贴+课时费; 其中: 1.课时费:教师每一月的基本工作量为 24,实验员每学期基本工作量为 0, 行政人员没有基本工作量,每节课时费为 30 元;课时费=(上学期工作量-基本工 作量)*30; 注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*30 为负值。 2.基本工资:教师 1000
5、 元,实验员 800 元,行政人员 900 元。 3.行政补贴:250 元。 2.设计目的与要求: 2.1 设计目的 达到熟练掌握 C+语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法; 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2 设计要求 要求利用面向对象的方法以及 C+的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统的设计中,至少要用到面向对象的一种机制。 3.系统分析与设计 3.1 主要知识点 本程序共有三个文件组成,分别是 Salary.h, Salary.cpp 和 main.cpp; Salary.h 中定义了
6、程 序所需的类,全局函数,以及要用到的标准头文件。用到的知识主要有类的继承与派生,纯 虚函数,头文件的组织,链表操作,程序菜单选择和处理函数的组织和编写,文件的读写操 作。 3.2 关键技术 程序中每一种数据类型用一个类来实现,共设计了 6 个类。人员类 Person,教师类 Teacher,实验员类 Assistant,行政人员类 Manager,教师兼实验员类 Teacher_Manager,行 政人员兼教师类 Manager_Teacher 以及工资信息管理类 Salary_Management。每一种类都定 义了相应的成员函数。具体定义如下所示: (1)类)类 Person 类 Person 为抽象类, 为另外五个类的基类, 在类 Person 中, 成员变量 ID 表示职工编号, name 表示职工姓名,duty 表示岗位类别,salary 表示职工工资以及 next 表示 Person 类的指 针域。两个 inpu