学校人员管理系统设计文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学校人员管理系统
计算机师范一班 20111946 王婷提纲:
设计要求主要流程实现要点及依据补充说明
设计要求
设计并实现简单的大学各类人员信息管理系统。对各类人员信息进行管理,包括增加、删除、查询、修改、排序和统计。要求用面向对象方法设计一个异质链表,该链表用来存储大学中各类人员的信息。希望将人员信息保存到文件中,便于下次操作。
主要流程
A。提示进入系统--
B。询问载入已有文件还是新建一个文件并作相应处理--
C。询问进行何种操作(增加、删除、查询、修改、排序和统计)--
D。根据选择进行处理--
E。询问是否要继续操作(是,转到C处继续循环,否,往下执行)--
F询问是否保存文件并作相应处理--
G。退出系统
实现要点及依据
类的关系:定义四个类:person,teacher,student,worker,list,其中teacher,student 和worker从person继承,并将某些共有的成员函数在person中定义为虚函数,以提供共同的接口。另外,将链表类list声明为前面四者的友元函数,以方便对其成员的访问。
异质链表:此表包含一个头节点和头指针。节点的格式是固定的,并没有采用变长的形式。实现的思路是:节点包含三个域:对象类型域(用整数表示)-对象指针域(指向相应的对象类型)-下一个节点的指针域(把后一个节点连接起来)。
文件的读写:我采用了两个类ifstream和ofstream,利用其提供的read()和write()函数,实现对文件的读写。
补充说明
在开始编写程序的时候,我对异质链表并不熟悉,要如何实现也没有底。曾经考虑过用模板,但中间出现了我无法修改的错误而作罢,而现在采取的这一种方式,不知道是不是正规的方式,有没有潜在的设计缺陷。另外,由于我对多态也掌握的不好,有些应该用多态的,我实际上是用if语句来实现的。
实现要点及依据
类的关系:定义四个类:person,teacher,student,worker,list,其中teacher,student 和worker从person继承,并将某些共有的成员函数在person中定义为虚函数,以提供共同的接口。另外,将链表类list声明为前面四者的友元函数,以方便对其成员的访问。
异质链表:此表包含一个头节点和头指针。节点的格式是固定的,并没有采用变长的形式。实现的思路是:节点包含三个域:对象类型域(用整数表示)-对象指针域(指向相应的对象类型)-下一个节点的指针域(把后一个节点连接起来)。
文件的读写:我采用了两个类ifstream和ofstream,利用其提供的read()和write()函数,实现对文件的读写。
源代码:
见附件压缩包。解压后在vc++6.0环境下编译运行。