《面向对象程序设计》课程设计任务书-实例-0624_第1页
《面向对象程序设计》课程设计任务书-实例-0624_第2页
《面向对象程序设计》课程设计任务书-实例-0624_第3页
《面向对象程序设计》课程设计任务书-实例-0624_第4页
《面向对象程序设计》课程设计任务书-实例-0624_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告实例:C+程序设计课程设计报告题目高等院校人员管理系统专 业: 学 号: 设 计 者: 时 间: 1、系统设计目标及意义、功能本题目要完成一个高等院校的人员信息管理系统,能够实现学校中各类人员的信息录入、查询、修改、删除、统计、保存、显示等操作。假设高校中有三类人员:授课教师、行政人员、行政人员兼职教师(既上课又完成行政人员的工作)。系统具体实现的功能如下:1) 从文件中加载员工信息:系统可以实现把存储在文件person.txt中的学校人员基本信息加载到系统中,可以避免数据的重复录入。2) 增加学校员工信息:系统可以实现键盘录入新员工信息,员工信息包括员工编号、类型、姓名、性别、年

2、龄、政治面貌、学历、工资等。如果目前学校无员工,则直接录入员工信息;如果有员工,则自动生成新员工的编号(增加1)。学校人员分为授课教师、行政人员、行政人员兼职教师三类,各类员工的工资计算方法如下:授课教师工资=基本工资+课时费(20*学时数)行政人员工资=基本工资+行政补贴行政人员兼职教师工资=基本工资+行政补贴+课时费(15*学时数)3)查询学校员工信息:系统可以实现按“编号”或“姓名”查询员工,并输出相关信息。 4)修改学校员工信息:系统可以实现对录入的员工信息重新进行编辑、修改,分别修改员工的姓名、性别、年龄、政治面貌、学历和工资信息。5)删除学校员工信息:系统可以实现当员工离开学校时删

3、除相关信息。6)统计学校员工信息:系统可以统计学校中的党员人数和女员工人数。7)学校员工信息存盘:系统可以实现把员工基本信息存储到磁盘文件person.txt中,方便用户以后读取数据,避免重复录入。8)显示所有员工信息:系统可以输出学校所有员工的信息,包括员工编号、姓名、性别、年龄、政治面貌、学历、工资、人员类型等。9)系统界面采用文本菜单方式,交互性好,系统界面如图10所示:图10 高等院校人员管理系统界面图 系统数据存盘文件格式如下:编号 姓名 性别 年龄 政治面貌 学历 工资 员工类型1000张莉女 38党员 博士5500 11001白飞女 28群众 硕士2500 21002孟丹男 40

4、党员 博士7500 3其中员工类型为1表示授课教师,2表示行政人员,3表示行政人员兼职教师2、系统详细设计 系统使用类来组织管理数据,共包括五个类,分别是学校类school、员工类person、任课教师类teacher、行政人员类staff、行政人员兼职教师类staffteacher。员工类person用来描述学校内各类人员具有的公共属性及操作,由于学校里授课教师、行政人员、行政人员兼职教师这三类人员工资的计算方法不同,表现出多态性,因此以person类为基类,分别派生出授课教师类teacher、行政人员类staff,再以teacher类和staff类为基类,派生出行政人员兼职教师类staff

5、teacher。由于学校里人员总数允许变动、不确定,因此学校类school采用链表保存所有人员信息,并用共同的方法操作所有人员,类school与类person之间是类的聚合关系,上述类关系用UML标识如图11所示:学校类school员工类person授课教师类teacher行政人员类staff行政人员兼职教师类staffteacher图11 高等院校人员管理系统类关系的UML图l 员工类person。类属性包括编号(no)、姓名(name)、性别(sex)、年龄(age)、政治面貌(party)、学历(study)、工资(pay)、员工类型(type)、指向下一个员工的指针(mynext),实

6、现对员工类的描述。成员函数包括提取员工编号(getnum)、提取姓名(getname)、提取性别(getsex)、提取年龄(getage)、设置年龄(setage)、提取政治面貌(getparty)、提取学历(getstudy)、提取员工类型(gettype)、提取工资(getpay)、设置工资(setpay)、提取指向下一个员工指针(getnext)、设置指向下一个员工指针(setnext)、输出员工信息(output),及虚函数:输入函数(input),计算工资函数(calpay)。 l 授课教师类teacher。类属性包括职称(teachpos)、每小时课时费(coursefee)、课时

7、数(coursenum) 。成员函数包括虚函数实现:输入函数(input),计算工资函数(calpay)。 l 行政人员类staff。类属性包括职务级别(pos)、行政补贴(stafffee)。成员函数包括虚函数实现:输入函数(input),计算工资函数(calpay)。l 行政人员兼职教师类staffteacher。成员函数包括虚函数实现:输入函数(input),计算工资函数(calpay)。l 学校类school。负责对学校人员信息的管理,类属性包括指向学校中第一位员工的指针(myfirst)。成员函数包括从文件中加载员工信息(load)、增加员工信息(add、input、insert)、

8、按编号查询员工信息(findnum)、 按姓名查询员工信息(findname)、修改员工信息(modify)、删除员工信息(deleteperson)、统计员工信息(count)、员工信息存盘(save)、显示学校所有员工信息(showall)等 。在基于UML的可视化建模工具Rational Rose中高等院校人员管理系统各类关系的UML图形标识如图12所示:图12 Rational Rose中系统类关系的UML图3、系统主要功能模块流程图 加载员工信息增加员工信息查询员工信息修改员工信息删除员工信息统计员工信息员工信息存盘信息显示员工信息退出系统创建学校对象显示系统操作菜单根据输入执行不同

9、操作开始图13 主函数main的流程图1)主函数main的流程图(见图13) 2)从文件中加载员工信息school:load流程图(见图14) 3)增加员工信息 school:add、school:input、school:insert流程图(见图15)NY结束开始员工编号自动加1学校目前是否有员工?(add)根据员工的类型调用相应派生类的成员函数getpay计算员工工资学校员工链表中加入新创建员工结点(insert)键盘输入新员工编号键盘输入新员工基本信息(类型、姓名、性别、年龄、政治面貌、学历)(input)图15 增加员工信息流程图NYYN结束开始打开学校读取一条员工记录文件读取失败或文

10、件结束文件未读到尾学校员工链表中加入新结点关闭文件图14 从文件中加载员工信息流程图4)按编号或姓名查询员工信息school:findnum、school:findname流程图(见图16) NYYN开始输入待修改员工的编号遍历学校员工链表学校是否有员工输出无此员工有待修改员工吗修改此员工信息(姓名、性别、年龄、政治面貌、学历、工资)图17 修改员工信息流程图NYYN开始输入待查员工的编号和姓名遍历学校员工链表学校是否有员工输出无此员工是否有待查员工输出此员工信息output图16 按编号或姓名查询员工信息流程图5)修改员工信息school:modify流程图(见图17)6)删除员工信息sch

11、ool:deleteperson流程图(见图18) 7)统计员工信息school:count流程图(见图19)8)员工信息存盘school:save流程图(见图20)12开始统计计数器初始化amount=0遍历学校员工链表统计员工党员人数输入统计的选项输出学校中党员人数amount遍历学校员工链表统计女员工人数输出学校中女员工人数amount图19 统计员工信息流程图NYYN开始输入待删除员工的编号遍历学校员工链表学校是否有员工输出无此员工有待删除员工吗删除链表中此员工结点并修改学校员工链表图18 删除员工信息流程图 结束开始打开学校关闭文件图20员工信息存盘流程图 4、系统测试 XXX功能测试(要求有截图,略)5、课程设计心得体会 (略,需说明系统设计、开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论