摘 要
在当前的社会形势下,科技迅速的发展。各个机构都拥有自己的管理系统,加强对
内部人员及其各类信息的管理,例如对工资的管理。学校也不例外,同样也需要一套完
善的高校人员工资管理系统对本校教师、实验员、行政人员、教师兼职实验员、行政人
员兼职教师等人员进行各类信息的管理。因此学校要做一套高校人员工资管理系统 ,为
的是更进一步的对学校的教师、实验员、行政人员、教师兼职实验员、行政人员兼职教
师各类信息及工资的管理。
本文利用 Microsoft Visual C++ 6.0 编写程序,实现了用户对高校人员基本信息及工
资的添加删除修改的管理操作。
本系统主要有六个功能模块:对各类职工基本信息和工资的添加功能、对各类职工
基本信息和工资的查询功能、对各类职工基本信息和工资的修改功能、对各类职工基本
信息和工资的删除功能、对各类职工基本信息和工资的浏览功能、对各类职工信息进行
的添加、删除、修改结果保存功能。已经过全面的系统测试,能够很好的运行,达到了
预期的效果
关键词:系统设计 信息 添加 删除 修改 保存
北华航天工业学院课程设计报告
目 录
摘要.............................................................................................................................................Ⅰ
第一章 绪论........................................................................................................................1
1.1 课程设计的目的.................................................................................................1
1.2 课程设计的背景和意义.....................................................................................1
1.2.1 课程设计的背景.........................................................................................1
1.2.2 课程设计的意义...................................................................................1
1.3 课程设计环境.....................................................................................................2
第二章 需求分析...............................................................................................................3
2.1 问题描述.............................................................................................................3
2.2 功能要求.............................................................................................................3
2.3 问题的解决方案.................................................................................................4
第三章 系统设计...............................................................................................................5
3.1 数据设计.............................................................................................................5
3.1.1 类设计...................................................................................................5
3.1.2 类之间的关系.......................................................................................9
3.1.3 函数设计...............................................................................................9
3.2 结构设计...........................................................................................................10
3.2.1 系统流程图.........................................................................................10
3.2.2 界面设计.............................................................................................12
第四章 系统实现...............................................................................................................16
4.1 类实现...............................................................................................................16
4.2 函数实现...........................................................................................................22
4.3 主函数实现.......................................................................................................31
第五章 系统测试.............................................................................................................33
5.1 模块测试...........................................................................................................33
5.2 课程设计过程中遇到的问题...........................................................................35
总 结.................................................................................................................................36
致 谢.................................................................................................................................37
参考文献.............................................................................................................................38
附 录.................................................................................................................................39
北华航天工业学院课程设计报告
第一章 绪论
1.1 课程设计的目的
(1)熟练掌握 C++语言的基本知识和技能
(2)更好掌握面向对象程序设计的基本思路和方法
(3)利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
1.2 课程设计的背景和意义
1.2.1 课程设计的背景
1. 理论研究基础
(1)进一步了解和掌握面向对象的程序设计
(2)对 C++语言的基本知识的掌握和运用
2. 技术层面的支持
(1)对类定义、类对象、继承、异常处理、多态、链表及指针、文件的输入/输出和
创建等内容的掌握。
(2)对于 C++进一步的运用,C 语言的条件语句、循环语句、判断语句、函数的调用、
的使用等各种语句的运用。
1.2.2 课程设计的意义
(1)可以让学生学习到课外书籍面向对象程序设计的思路和方法,丰富自己的经验,
增强学生的思考与动手能力。
(2)综合实际应用的需求是课程设计既覆盖教学所要求的知识点,有接近工程的实际
需求,训练自己实际分析问题和解决问题以及编程的能力。做到理论结合实际。
(3)通过详细的实例分析,循序渐进的描述,启发学生顺利的完成设计。为学生广泛
阅读,独立创新,独立思考和培养对学习 C++的兴趣创造了极好的条件。
- 1 -
1
北华航天工业学院课程设计报告
1.3 课程设计环境
1. 在 Microsoft Visual C++ 6.0 开发平台上编写程序源代码,修改,增加功能,通过编译、
连接,直到完全无误,最终执行程序,反复输入新的数据进行验证并进一步完善。
2. 在 Word 中存放源代码,并存储到外接设备上(如 U 盘、MP3、MP4),并在 Word 中
书写程序报告,通过打印机将报告打印并制定成册上交。
- 2 -
2
北华航天工业学院课程设计报告
第二章 需求分析
2.1 问题描述
某高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。
共有的信息包括:编号、姓名、性别和职工类别。每类人员特有的信息,请根据情况自行
添加。
职工工资的计算方法如下:
教师:
实验员:
基本工资+课时费;
基本工资+实验室补助;
行政人员:
基本工资+行政补贴;
教师兼职实验员: 基本工资+课时费+实验室补助;
行政人员兼职教师:基本工资+行政补贴+课时费;
其中:
1)基本工资:教师 800 元,实验员 650 元,行政人员 750 元
2)行政补贴:250 元
3)实验室补助:150 元
4)课时费的计算方法为:20*本月课时数
2.2 功能要求
(1)对各类人员信息完成的基本功能有:
1) 添加功能:程序能够添加相应的记录;
2) 查询功能:能根据编号和姓名进行查询,并显示相应的记录信息;
3) 编辑功能:根据查询结果对相应的记录进行修改;
4)删除功能:根据查找结果,完成具体记录的删除。
5)保存功能:将对高校人员信息进行的添加、删除、修改结果保存到文本文件中。
(2)本程序处理的任务是:输入职工的相关数据,经过计算后,输出职工的月工资,
并将所有信息保存在文本文件中。
(3)学生在完成本次课程设计的基本要求后,进一步完善程序,从如下几个方面加以
考虑:
1) 添加人员记录时,考虑各种数据的有效性。
2)组合查询功能的实现。
3)编辑数据时,注意操作的方便
- 3 -
3
北华航天工业学院课程设计报告
4)删除数据时,考虑删除操作的方便
5)输入、输出操作时的方便、易用
2.3 问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
2)分析系统中的各个实体及它们之间的关系;
3)根据问题描述,设计系统的类层次;
4)完成类层次中各个类的描述;
5)完成类中各个成员函数的定义;
6)完成系统的应用模块;
7)功能调试;
8)完成系统总结报告
- 4 -
4
北华航天工业学院课程设计报告
第三章 系统设计
3.1 数据设计
3.1.1 类设计
根据问题描述,建立了 Person 基类,从 Person 中派生出的三类职工类,再以 Teacher、
Assistant、Manager 为基类派生出另两类职工类,及 Person 的友元类 College 类;
Person 基类设计如下:
class Person
{ protected:
//职工的编号
//职工的姓名
double NO;
char Name[20];
int Duty;
//职工的类别(教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师)
double Salary;
Person *next;
//职工的基本工资
//指针域
public:
//基类构造函数
//指针域初始化设置
//基类虚析构
Person()
{next=0; }
virtual ~Person() {}
virtual void Input()=0;
virtual void Input(ifstream& ifs)=0;
virtual void Output()=0;
virtual void Output(ofstream& ofs)=0;
virtual double Incoming()=0;
friend class College;
//从键盘输入职工信息
//从文件输入职工信息
//向屏幕输出职工信息
//向文件输出职工信息
//计算职工的工资
};
五类职工类设计如下:
1 教师类
class Teacher:virtual public Person
{protected:
- 5 -
5
北华航天工业学院课程设计报告
int Hours;
//上课课时
public:
Teacher()
{ Duty=1;
Salary=800;
//构造函数,初始化部分数据
//键盘补充输入其它数据
}
void Input();
void Input(ifstream& ifs);//向文件补充写入数据
void Output();
void Output(ofstream& ofs);//向文件读入补充数据
double Incoming();//计算工资
};
//输出显示补充数据
② 实验员类
class Assistant:virtual public Person
{
protected:
int Allowance;
int Hours;
public:
//实验室补助
Assistant()
//构造函数,初始化部分数据
{
Duty=2;
Salary=650;
Allowance=150;
//键盘补充输入其它数据
}
void Input();
void Input(ifstream& ifs);//向文件补充写入数据
void Output();
void Output(ofstream& ofs);//向文件读入补充数据
double Incoming();//计算工资
};
//输出显示补充数据
③ 行政人员类
class Manager:virtual public Person
- 6 -
6