1、 C+课程设计 高 校 工 资 管 理 系 统 2 1.系统概述 通过设计一个较为简单的高校工资管理系统,进一步熟悉 C+中类的概念、类的封 装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分析、编码测试、模 块组装与整体调试的全过程,加深对 C+的理解与 Visual C+环境的使用;逐步熟悉程序设 计的方法,并养成良好的编程习惯。 2.总体设计 2.1 职工类的设计 基于 C+中类的概念,类的封装,继承和抽象。编写一个 Person 的基类包含共有的相关信 息和操作,然后使职工类都继承于此基类从而实现多态。 2.2 应用类的设计 编写一个 Person 类的友元类 Colleg
2、e 类来实现添加,删除,查找等功能。 2.3 文件的读写设计 通过 College 类中的 Save () 函数来实现数据的存储, 保存在 Person.dat 中, 而通过 Load ()函数来实现 Person.dat 数据的读入。 3.详细设计及系统实现 3.1 Person 类 class Person /人员类(抽象类) protected: int No; /编号 char Name20; /姓名 char Duty; /人员类别标志(0-教师,1-实验员,2-行政人员,3- 教师兼实验员,4-行政兼教师) double Salary; /基本工资 Person *next; /指
3、针域 public: Person() /基类构造 next=0; /指针域设置为空 virtual Person() /基类虚析构 virtual void Input()=0; /从键盘输入数据 virtual void Input(ifstream /从文件输入数据 virtual void Output()=0; /向屏幕输出数据 virtual void Output(ofstream /向文件输出数据 3 virtual double Incoming()=0; /计算收入 friend class College; ; 3.2 Teacher 类 class Teacher:vi
4、rtual public Person /教师类 protected: int Hours; /教师课时 public: /为对象设置数据分为两种途径,通过)构造函数,)一般成员函数 /分开可以使得程序中应用更加灵活 /本程序采用:缺省构造+Input() Teacher() /构造函数,初始化部分数据 Duty=0; Salary=800; void Input() /键盘补充输入其它数据 coutName; coutNo; coutHours; void Input(ifstream void Output() coutNo; coutNo; coutTeacher:Hours; coutNo; coutHours; void Input(ifstream void Output() coutnext; char ch=m; 9 /创建新结点,录入数据,连接到链表