版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于C+的面向对象程序设计实例课程设计报告报告题目:高校人员信息管理系统作者所在系部:计算机科学与工程系 作者所在专业:计算机科学与技术 作者所在班级:作者姓名:指导教师姓名:完成时间:2010年6月基于C+勺面向对象程序设计实例任务书一.目的与要求1、目的(1)要求学生能够熟练掌握 C+转言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求(1)要求利用面向对象的方法以及 C+勺编程思想来完成系统的设计。(2)在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系 统功能,并且要建立
2、清晰的类层次关系。(3)在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员函数。(4)主函数中提供菜单选项,并给出足够的选择信息以及提示信息。(5)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入 值给出出错信息,指出错误类型,等待重新输入。3、创新要求在基本要求达到后,可根据实际情况进行创新设计,如根据查找结果进行修改的功 能及设计出比较友好的界面等。二.验收方式完成设计内容之后,即可开始验收。验收时,首先由学生简要说明所做题目的思路、 设计结构及实现过程,然后运行程序并进行测试,对
3、输出结果作出解释,同时认真回答 教师提出的问题。三.课设报告在完成验收之后,提交课设报告。其中报告中需包括系统设计要求,设计思路,系统功能模块 图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。另外,课设报告要严格遵守模板文件的格式要求,思路清晰,内容详实丰富。四.成绩评定课设总成绩=验收成绩(50%) +课程设计报告成绩(30%) +程序源代码(10%) + 课设态度、考勤与遵守教学制度情况 (10%)五.说明1、每位同学在以下的题目中任选一个来完成。2、学生应严格遵守课堂秩序,按时上机,认真完成各项任务。3、上机前做好充分的准备,包括事先写好主要程序代
4、码,以保证充分利用上机的时 问调试程序。4、每位同学各自独立完成自己的题目,禁止抄袭或拷贝。5、必须按规定时间上交课设报告。六.课设题目题目1“高校员工信息管理系统”1、问题描述某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括: 编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实 验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称 等。2、功能要求(1)基本功能1)添加功能:程序能够任意添加上述四类人员的记录, 可提供选择界面供用户选择 所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示 数据
5、添加重复并取消添加。2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到, 给 出相应的提示信息,如果找到,则显示相应的记录信息。3)显示功能:可显示当前系统中所有记录,每条记录占据一行。4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。 如果当前系统中没有相应的 人员记录,则提示“记录为空! ”并返回操作;否则,输入要删除的人员的编号或姓名, 根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6)统计功能:能根据多种参数进行人员的统计。 例如,统计四类人员数量以及 总数,或
6、者统计男、女员工的数量,或者统计某年龄段人员的数量等。7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。(2)扩展功能在完成以上基本功能的基础上,可自行进行扩展或完善,例如:1)添加人员记录时,考虑各种数据的有效性。2)组合查询功能的实现。3)可按人员的某些信息进行排序。4)对文件的读写使用二进制信息。3、问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系;3)根据问题描述,设计系统的类层次;
7、4)完成类层次中各个类的描述;5)完成类中各个成员函数的定义;6)完成系统的应用模块;7)功能调试;8)完成系统总结报告。在当前的学校人员管理体制下,高等学校不但要有浓厚的学风气息、雄厚的师资力 量、先进精良硬件设备,与此同时,作为先进科学技术和优秀文化的承载者和传播者, 更需要有一个执行效率高并且便于操作的现代信息化管理系统,以实现对高校各类人员 进行添加、查找、修改、删除、统计、保存、读取等动态管理的目的。本文利用Microsoft Visual C+6.0的ADO写程序,实现了高校对实验员、教师、 行政人员、教师兼行政人员的管理操作。本系统主要有四个管理模块一一实验员管理系统、教师管理系
8、统、行政人员管理系 统、教师兼行政人员管理系统。已经过全面的系统测试,能够很好的运行,达到了预期 的效果。关键词:系统设计类信息人员管理摘要I.第1章绪论1.1.1 课程设计的目的1.1.2 课程设计的背景和意义 . 课程设计的背景 . 课程设计的意义 .1.1.3 课程设计环境 1.第2章需求分析2.2.1 问题描述2.2.2 功能需求2.2.3 问题的解决方案3.第3章系统设计4.3.1 数据设计 类设计 类之间关系5.3.2 结构设计 系统流程图 界面设计6.第4章系统实现9.4.1 类实现9.4.2 函
9、数实现1.14.3 主函数实现21第5章系统测试235.1 模块测试235.2 课程设计过程中遇到的问题 32总结.33.致谢.34.参考文献35第1章绪论1.1 课程设计的目的(1)要求学生能够熟练掌握 C+胡言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。1.2 课程设计的背景和意义1.2.1 课程设计的背景1 .理论研究基础(1)综合C+魏程知识,结合实际加以应用。(2)参考课本对课本熟悉,应用类、数组等内容。2 .技术层面的支持安装Microsoft Visual C+ 6.0 集成开发环境。1.2
10、.2 课程设计的意义综合复习C+晌向对象程序设计的所有知识点,进一步熟练面向对象程序的开发方 法和流程,提高学生独立分析问题和解决问题的能力,培养学生的中、小型实践项目开发 能力。让我们提前感受到编写软件的过程和解决问题的方法。1.3 课程设计环境软件环境:Microsoft Visual C+ 6.0集成开发环境。硬件环境:图书馆五楼机房,笔记本电脑。第2章需求分析2.1 问题描述某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括: 编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验 员还包含的信息由:所在实验室、职务;行政人员还包含的信息有
11、:政治面貌、职称等2.2 功能要求(1)基本功能1)添加功能:程序能够任意添加上述四类人员的记录, 可提供选择界面供用户选择所 要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提 示数据添加重复并取消添加。2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3)显示功能:可显示当前系统中所有记录,每条记录占据一行。4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人 员记录,则提示“记录为空! ”并返回操
12、作;否则,输入要删除的人员的编号或姓 名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的 记录不存。6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数, 或者统计男、女员工的数量,或者统计某年龄段人员的数量等。7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。(2)扩展功能在完成以上基本功能的基础上,可自行进行扩展或完善,例如:1)添加人员记录时,考虑各种数据的有效性。2)组合查询功能的实现。3)可按人员的某些信息进行排序。4)对文件的读写使用二进制信息。2.
13、3问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系;3)根据问题描述,设计系统的类层次;4)完成类层次中各个类的描述;5)完成类中各个成员函数的定义;6)完成系统的应用模块;7)功能调试;8)完成系统总结报告。33.1数据设计3.1.1类设计此系统共设计了九个类:差(class Teacher彳亍政人员类基类中启int num;int age;string name;string sex;virtual void Input();virtual void Output();int
14、 GetNum();string GetName();实验员类中添加了string library;string zw;int choice2;教师类中添加了string depart;string spec;string title;int choicel;int choice2;行政人员类中添加了string zzmm;string zc;int choice2;教师兼行政人员类添加了int choicel;int choice2;学类( class Person,头验员类(class Experimenter,教师类(class Staff,教师兼行政人员类(class Tea_Sta公
15、用数据成员用于记录类成员的编号公用数据成员用于记录类成员的年龄公用数据成员用于记录类成员的姓名公用数据成员用于记录类成员的性别公有数据成员函数用于输入成员信息公有数据成员函数用于输出成员信息公有数据成员函数用于获得成员编号公有数据成员函数用于获得成员姓名公有数据成员用于记录类成员的实验室公有数据成员用于记录类成员的职务公有数据成员用于选择成员的性别公有数据成员用于记录类成员的部门公有数据成员用于记录类成员的专业公有数据成员用于记录类成员的职称公有数据成员用于选择成员的部门公有数据成员用于选择成员的性别公有数据成员用于记录类成员的政治面貌公有数据成员用于记录类成员的任职职称公有数据成员用于选择成
16、员的性别公有数据成员用于选择成员的部门公有数据成员用于选择成员的性别还有四个功能相同的功能函数类,其中有 Exp_Manage类Tea_Manage类Staf_Manage类Tea_Staf_Manag酸。分别实现不同的相应功能。Tea_Sta TeaTMAX; TMAX为常量,为数组中可存储的教师记录的最大数;int top;top表示当前系统中存储的记录个数;Tea_Staf_Manage()top=0;初始时记录的个数为 0,所以设置top=0;void Add();实现该类记录的添加;void Show();实现该类所有记录的显示;void Search();实现该类记录的查询;voi
17、d Edit();实现该类记录的修改;void Delete();实现该类记录的删除;void Total();实现该类记录的统计;void Save();将该类记录保存到文件;void Read();可从文件中将记录读取到该类的数组中;实验员、教师、行政人员管理类中函数都相同,在此略。3.1.2 类之间的关系基类:(class Person 派生类有:(class Experimenter , (class Teacher , (class Staff) (class Tea_Sta四个平行关系的类,实现不同类的功能:(class Exp_Manage (class Tea_Manage(c
18、lass Staf_Manage) (class Tea_Staf_Manage3.1.3 函数设计在四个管理类中定义了以下相同函数,功能如其后所说void Add();实现该类记录的添加;void Show();实现该类所有记录的显示;void Search();实现该类记录的查询;void Edit();实现该类记录的修改;void Delete();实现该类记录的删除;void Total();实现该类记录的统计;void Save();将该典记录保存到文件;void Read();可从文件中将记录读取到该类的数组中;53.2结构设计3.2.1系统流程图图313.2.2界面设计主菜单界面
19、图32主菜单界面图实验员类菜单界面图34教师类菜单界面图7图33实验员类菜单界面图教师类菜单界面l-lDk一欢迎进入北华航天工业学院人员管理系统一 e”主菜单首苒苒首首实验员管理2”教师管理 加行政管理 姓教师行政管理 用退出系统:V VV VI HI 请输入您的选择+2师管理*暑 + + + + + + + + + + =TMAX)cout用户已满endl;return;Teacher t;cout输入新添加的人员的信息endl;t.Input();for(int i=0;itop;i+)if (t.GetNum()=Teai.GetNum()cout”该编号的人员已存在endl;retur
20、n;)Teatop=t;top=top+1;cout”添力口成功!endl;)显示功能:可显示当前系统中所有记录,每条记录占据一行。void Tea_Manage二Show()if(top=0)cout无数据!endl;return;)coutsetw(10)编号setw(10)姓名setw(10)性另1Jsetw(10)年龄setw(10)系部setw(10)专业setw(10)职称endl;for(int i=0;itop;i+)Teai.Output();)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相 应的提示信息,如果找到,则显示相应的记录信息。void
21、Tea_Manage二Search()if(top=0)cout当前系统中没有存储记录endl;return;int choice;cout请选择查找方式:1.按编号查找2.按姓名查找.choice;switch(choice)case 1:cout”请输入要查找的编号:num;for(int i=0;itop;i+)if(Teai.GetNum()=num)Teai.Output();return;cout查无此人! endl;break;case 2:cout”请输入要查找的姓名name;for(int i=0;itop;i+)if(Teai.GetName()=name)Teai.Out
22、put();for( i=0;itop;i+)if(Teai.GetName()=name)return;cout查无此人! endl;break;default :cout”无止匕选项!请重试!endl;break;void Tea_Manage二Edit()if(top=0)cout当前系统中没有存储记录!endl;return;int num;cout”请输入要查找的教编号:num;for(int i=0;itop;i+)if(Teai.GetNum()=num)cout请对这位教师的信息进行修改:endl;Teai.Input();cout修改成功endl;return;cout查无止
23、匕人endl;删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员 记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所 输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。void Tea_Manage二Delete()if(top=0)cout当前系统中没有存储记录!endl;return;cout1、按编号查找删除2、按姓名查找删除“choice;switch(choice)case 1:coutnum;for(int i=0;itop;i+)if(num=Teai.num)cout”是否确认删除?1、是2、否 cho
24、ice;switch(choice)case 1:for(int j=i;jtop-1;j+)Teaj=Teaj+1;cout删除成功! endl;top-;break;case 2:return;default:cout”无止匕项,失败! endl;break;return;cout无止匕人! endl; ;break;case 2:coutname;for(int i=0;itop;i+)if(name=T)endl;coutchoice;switch(choice)case 1:for(int j=i;jtop-1;j+)Teaj=Teaj+1;cout删除成功! end
25、l;top-;break;case 2:return;default:cout”无止匕项,失败! endl;break;return;cout无止匕人! endl; break;default:cout没有止匕项,失败:endl;break;统计功能:能根据多种参数进行人员的统计。 例如,统计类中人员数量以及总数,或者统计男、女员工的数量,不同部门员工数量等。void Tea_Manage:Total()(cout1按人数统计 2按性别统计3按系别统计endl;int choice;cout请输入你的选择choice;switch(choice)(case 1:cout教师类人数为:topen
26、dl;break;case 2:(int a=0,b=0;for(int i=0;itop;i+)(if(Teai.sex=男)a+;if(Teai.sex=女)b+;)cout男教师人数为aendl;cout女教师人数为bendl;break;case 3:(int a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;for(int i=0;itop;i+)(if(Teai.depart=电子系)a1+;if(Teai.depart=机械系)a2+;if(Teai.depart=经管系)a3+;if(Teai.depart=建工系)a4+;if(Teai
27、.depart=计算机系)a5+;if(Teai.depart=外语系)a6+;if(Teai.depart=贝才会系)a7+;if(Teai.depart=材料系)a8+;if(Teai.depart=文法系)a9+;cout电子系教师人数为 cout机械系教师人数为 cout经管系教师人数为 cout建工系教师人数为a1endl;a2endl;a3endl;a4endl;cout计算机系教师人数为a5endl;cout外语系教师人数为 cout财会系教师人数为 cout材料系教师人数为 cout文法系教师人数为a6endl;a7endl;a8endl;a9endl;break;defaul
28、t:cout输入错误。请重新输入endl;break;保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。void Tea_Manage二Save()ofstream out(D:ying2.txt,ios:out);if(!out)cout打开失败!endl;return;cout”打开成功!endl;for(int i=0;itop;i+)outTeai.numTTeai.sexTeai.ageTeai.departTeai.specTeai.titleendl;cout”写入成功! endl;out.close();读取功能:可将保存在文件中的人员信息读入到当前
29、系统中,供用户进行使用void Tea_Manage二Read()ifstream in(D:ying2.txt,ios二in);if(!in)cout打开失败!Teai.numTTeai.sexTeai.ageTeai.departTeai.specTeai.title)Teai.Output();i+;top+;in.close();;教师函数主界面的定义void TeaMenu()Tea_Manage t; int choice;endl;while(choice!=0)cout n*教师管理*cout+”endl;cout|endl;cout退出|endl;cout|e
30、ndl;cout+”endl;coutchoice; switch(choice) case 1:t.Add();break;case 2:t.Search();break;case 3:t.Edit();break;case 4:t.Delete();break;case 5:t.Show();break;case 6:t.Save();break;case 7:t.Read();break;case 8:t.Total();break;case 0:cout退出成功!endl;break;default:cout”无止匕选项!请重试!endl;break;系统主菜单函数定义,根据不同人选择
31、不同的子系统int main()cout*欢迎进入北华航天工业学院人员管理系统*endl;int choice;docout* 主菜单 *nendl;coutendl;cout|endl;cout实验员管理 2=教师管理3=行政管理4=教师行政管理 0=退出系统 |endl;cout|endl;coutendl;coutchoice;switch(choice)case 1:ExpMenu();break;case 2:TeaMenu();break;case 3:StafMenu();break;case 4:Tea_StafMenu();break;case 0:coutn 您已安全退出系
32、统.endl;break;default:coutn 没有此选项.请重选.endl;break;while(choice!=0);coutn*欢迎您下次再使用本系统!*endl;return 0;4.3主函数实现#include#include#include#includeconst int TMAX=50;using namespace std;int main()cout*欢迎进入北华航天工业学院人员管理系统*endl;int choice;*主菜单 *nendl;docoutcoutendl;cout|endl;cout实验员管理2=教师管理3=行政管理4=教师行政管理 0=退出系统
33、|endl;cout|endl;coutendl;coutchoice;switch(choice)case 1:ExpMenu();break;case 2:TeaMenu();break;case 3:StafMenu();break;case 4:Tea_StafMenu();break;case 0:coutn 您已安全退出系统.endl;break;default:coutn 没有此选项.请重选.endl;break;while(choice!=0);coutn*欢迎您下次再使用本系统!*?课设口匕111名工11皿g豆1371名了“18* exe*教师管 理*讦+i工.添加2.查找3
34、.修改 4.删除5.显示6.保存7.读取8.统计0=退出;+前入您操作的选项1 712 2系系系子兽电都12 212 2图515读取信息界面8.统计模块(类内人数统计)图516类内人数统计界面(性别统计)s课设Debug、工hangKiangling- exe图517性别统计界面(系别统计) F: LY课谱 DebuezhangxiaiiEyinEA ex e教师官理*讦+*#+#+4-+*+*+*+1.添加2.查找?.修改 4.删除S .显示6.保存实取8 .统计值=退出+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
35、 + + + + + + + + + +选屣按性别统计3技系别统计为为为为数为为为为 数数数数人数数数数 人人人人师人人人人 吊巾巾师市巾巾 系系系系机系系系系 孑拽5考,-!一科法 电整建,财材文图518系别统计界面5.2课程设计过程中遇到的问题遇到的问题:1 .开始编写程序时,不知道如何将这些功能进行实现;2 .添加新成员时未考虑到编号能否重复;3 .查询时未考虑到进行多条件查询;4 .完成读取函数后,不知道如何调用;5 .应用数组形式编写程序时,应考虑尽量大的分配空间;解决办法:通过参考大量资料和老师的辅导,函数功能的实现通过switch语句在主菜单进行操作来实现;添加新成员时首先通过编号进行查询,来说明编号不重复,查询后若编号存在则 提示“该人员已存在”若不存在则进行添加;查询时可以通过编号和姓名两种途径实现; 读取函数编写完毕后,可通过主菜单的操作来实现信息的读取;总结通过两星期的C+邮言程序设计的商上机实践,在老师、同学和有关资料的帮助下顺 利完成了课程设计的任务,加深了对 C+胸向对象程序设计的认识,还能够把这学期所学 的理论知识和实践联系起来,在所要编写的程序和设计的管理系统中渐渐成长。虽然我们 对这些C+邮言知识运用得还不是很熟练,但在此次课程设计的基础上可使我们发现很多 问题,使我们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级地理商务星球版“华夏沃土·家国经纬”主题探究导学案
- PEP小学英语六年级上册Unit 2 Ways to Go to School单元整合复习教案
- 【教学评一体化】小学三年级数学上册(人教版)核心素养知识清单
- 《初中英语中考一轮复习晨读高效教案》
- 安全事故整改措施课件
- 八年级物理《噪声的危害与控制》跨学科实践教学设计
- 北师大版三年级下册数学 找规律(乘法算式中的规律)教学设计
- 北师大版小学数学三年级上册《小熊购物》混合运算教学设计
- 第10课 悦目月历-添加文字图层和设置图层样式教学设计初中信息技术清华大学版2012七年级下册-清华大学版2012
- 2025-2026学年长城的故事教学设计
- 2026青岛城运控股集团有限公司招聘31人考试参考题库及答案解析
- 2026年北京市海淀区初三下学期二模语文试卷和答案
- 《超龄劳动者基本权益保障暂行规定》解读课件
- 2026年2026年新版七年级下册道德与法治期末复习核心考点提纲详细版新版
- 五年级下册《道德与法治》知识点
- 2026届广西南宁市中考语文模拟预测题含解析
- 2026年广西物流职业技术学院教师招聘笔试备考试题及答案解析
- 2026年托幼机构卫生保健人员培训试卷及答案
- 内蒙古乌海市国创数字产业发展有限责任公司招聘笔试题库2026
- 广告牌的制作安装及售后服务方案
- 浮力实验说课课件
评论
0/150
提交评论