版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+课设高校人员信息管理系统BigWork设计报告报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者 所在专业: 计算机科学与技术 作者所在班级: 作 者 姓 名 :指导教师姓名: 完 成 时 间 : 2013-6-201一(目的与要求1、目的要求学生能够熟练掌握C+语言的基本知识和技能。基本掌握面向对象程序设计的基本思路和方法。能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求(1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计。(2)在系 统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能,并 且要建立清晰的类层
2、次关系。在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员 函数。主函数中提供菜单选项,并给出足够的选择信息以及提示信息。 (5) 程序 具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。3、创新要求 在基本要求达到后,可根据实际情况进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。二(验收方式未定。三(课设报告在完成验收之后,提交课设报告。其中报告中需包括系统设计要求,设计思 路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关 键程序代码,总结,参考书目等。另外,课设报告要严格遵守模板文件的格式要 求,思路清晰,内容详
3、实丰富。四(成绩评定占期末成绩的20%五(说明1、每位同学在以下的题目中任选一个来完成。2、学生应严格遵守课堂秩序,按时上机,认真完成各项任务。3、上机前做好充分的准备,包括事先写好主要程序代码,以保证充分利用上 机的时间调试程序。4、每位同学各自独立完成自己的题目,禁止抄袭或拷贝。5、必须按规定时间上交课设报告。2六(课设题目题目1 “高校人员信息管理系统”、问题描述 1某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性 别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿某高
4、校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包 括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职 称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面 貌、职称等。2、功能要求基本功能添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户 选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录 时,则提示数据添加重复并取消添加。查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找 到,给出相应的提示信息,如果找到,则显示相应的记录信息。显示功能:可显示当前系统中所有记录,每条记录占据一行
5、。编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一 性。删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相 应的人员记录,则提示“记录为空”并返回操作;否则,输入要删除的人员的编 号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示 相应的记录不存。统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及 总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使 用。3摘要在当前的学校人员管理体
6、制下,高等学校不但要有浓厚的学风气息、雄厚的师 资力量、先进精良硬件设备,与此同时,作为先进科学技术和优秀文化的承载者和传播 者,更需要有一个执行效率高并且便于操作的现代信息化管理系统,以实现对高校各类人 员进行添加、查找、修改、删除、统计、保存、读取等动态管理的目的。本文利用Microsoft Visual C+6. 0的ADO编写程序,实现了高校对实验员、 教师、行政人员、教师兼行政人员的管理操作。本系统主要有四个管理模块实验员管理系统、教师管理系统、行政人员管 理系统、教师兼行政人员管理系统。已经过全面的系统测试,能够很好的运行,达到了 预期的效果。关键词:系统设计 类 信息目录摘要 第
7、1章 绪 1课程设计的目的 1课程设计的背景和意义 1课程设计的背景 1课程设计的意义 11.3 课程设计环境 1第2章 需求分析 2问题描述 功能需求 2问题的解决方案 3第3章 系统设计 4数据设计 4类设计 4类之间关系 53.2结构设计 系统流程图 63.2.2 界面设计 6第4章 系统实现 94.1 类实现 94.2 函数实现 .114.3 主函数 实现 21第1章 绪论课程设计的目的要求学生能够熟练掌握C+语言的基本知识和技能。基本掌握面向对象程序设计的基本思路和方法。能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题课程设计的背景和意义1.2.1课程设计的背景理论研究基
8、础综合C+编程知识,结合实际加以应用。参考课本对课本熟悉,应用类、数组等内容。技术层面的支持安装Microsoft Visual C+ 6.0集成开发环境。课程设计的意义综合复习C+面向对象程序设计的所有知识点,进一步熟练面向对象程序 的开发方法和流程,提高学生独立分析问题和解决问题的能力,培养学生的中、小型实 践项目开发能力。让我们提前感受到编写软件的过程和解决问题的方法。5课程设计环境软件环境:Microsoft Visual C+ 6.0集成开发环境。硬件环境:图书馆五楼机房,笔记本电脑。第2章 需求分析问题描述 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包 括
9、:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职 称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面 貌、职称等 2.2 功能要求基本功能添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户 选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时, 则提示数据添加重复并取消添加。查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找 到,给出相应的提示信息,如果找到,则显示相应的记录信息。显示功能:可显示当前系统中所有记录,每条记录占据一行。编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯
10、一 性。删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相 应的人员记录,则提示“记录为空”并返回操作;否则,输入要删除的人员的编号 或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相 应的记录不存。统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及 总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使 用。问题的解决方案 根据系统功能要求,可以将问题解决分为以下步骤: )应用系统分析,建立该系统的功能模
11、块框图以及界面的组织和设计; 1分析系统中的各个实体及它们之间的关系;根据问题描述,设计系统的类层次;完成类层次中各个类的描述;完成类中各个成员函数的定义;完成系统的应用模块;功能调试;完成系统总结报告。 第3章系统设计 3.1 数据设计类设计此系统共设计了九个类:基类(class CCommon),实验员类(class Cassis tan t), 教师类(class Cteacher),行政人员类(class Cexecution),教师兼行政人 员类(class Ct ea_exe )基类中有int number;/编号st ring name;/姓名st ring sex;/性别int
12、 age;/年龄 实验员类中添加了 st ring labora to ry;/所在实验室st ring posi tio n;/职称public:void set(int _number,string _name,string _sex,int _age,string laboratory,string _position)number = _number;name = _name;sex = _sex;age = _age;laboratory = _laboratory;position = _position;/输入实i验员数据void output();Cassistant()/析构
13、函数friend int find_nu(Cassistant assistant, int _nu, int &t);friend int find_na(Cassistant assistant, string _na, int &t);friend void add(Cassistant assistant, int _fa);friend void dele(Cassistant assistant, int _fa);friend void closefile(Cassistant assistant ,int &t);8教师类中添加了st ring depar tment;/所在系
14、部st ring profession;/专业st ring posi tio n;/职称public:void set(int _number,string _name,string _sex,int _age,string department,string _profession,string _position)number = _number;name = _name;sex = _sex;age = _age;department = _department;profession = _profession;position = _position;/输入教师数据void outp
15、ut();/输出教师数据Cteacher()/析构函数9friend int find_nu(Cteacher teacher, int _nu, int &t);friend int find_na(Cteacher teacher, string _na, int &t);friend void add(Cteacher teacher, int _fa);friend void dele(Cteacher teacher, int _fa);friend void closefile(Cteacher teacher ,int &t);friend void _statistics(Ct
16、eacher teacher, int &t);行政人员类中添加了st ring politi cs;/政治面貌st ring posi tio n;/职称void set(int _number,string _name,string _sex,int _age,string_politics,string _position)number = _number;name = _name;sex = _sex;age = _age;politics = _politics;position = _position;/输入行政人员数据void output();10Cexecution()/析构
17、函数friend int find_nu(Cexecution execution, int _nu, int &t);friend int find_na(Cexecution execution, string _na, int &t);friend void add(Cexecution execution, int _fa);friend void dele(Cexecution execution, int _fa);friend void closefile(Cexecution execution ,int &t);friend void _statistics(Cexecuti
18、on execution, int &t); 教师兼行政人员类添加了st ring politi cs;/政治面貌st ring depar tment;/所在系部st ring profession;/专业st ring posi tio n;/职称void set(int _number,string _name,string _sex,int _age,string _politics,string _department,string _profession,string _position)number = _number;name = _name;sex = _sex;age =
19、_age;politics = _politics;department = _department;11profession = _profession;position = _position;/输行政人员兼教师数据void output();Ct ea_exe()/析构函数friend int find_nu(Ctea_exe tea_exe, int _nu, int &t);friend int find_na(Ctea_exe tea_exe, string _na, int &t);friend void add(Ctea_exe tea_exe, int _fa);friend
20、 void dele(Ctea_exe tea_exe, int _fa);friend void closefile(Ctea_exe tea_exe ,int &t);friend void _statistics(Ctea_exe tea_exe, int &t); 3.1.2 类之间的 关系基 基类(class CCommon):实验员类(class Cassis tan t),教师类(classCteacher),行政人员类(class Cexecution),教师兼行政人员类(class Ctea_exe )3.1.3 函数设计 在四个管理类中定义了以下相同函数,功能如其后所说 _
21、add(); 实现该类记录的添加;_query(); 实现该类记录的查询_display(); 实现该类所有记录的显示;_edit(); 实现该类记录的修改;12_delete();实现该类记录的删除;_statistics(); 实现该类记录的统计;XX_put(); 退出Opef ile()读出Closefile()写入3.2 结构设计3.2.1 系统流程图人员类教师类 行政人员类 实验员类教师兼行政人员类图3 13.2.2 界面设计第4章系统实现 4.1 类实现对于基类的定义class CCommon/公有类13protected:int number;/编号st ring name;/
22、姓名st ring sex;/性别int age;/年龄;class Ct eacher:public CCommon/教师类protected:st ring depar tment;/所在系部st ring profession;/专业st ring posi tio n;/职称public:void set(int _number,string _name,string _sex,int _age,string_department,string _profession,string _position)number = _number;name =name;sex =sex;age =
23、 _age;department = _department;profession = _profession;14position = _position;/输入教师数据void output();Cteacher()/析构函数friend int find_nu(Cteacher teacher, int _nu, int &t);friend int find_na(Cteacher teacher, string _na, int &t);friend void add(Cteacher teacher, int _fa);friend void dele(Cteacher teach
24、er, int _fa);friend void closefile(Cteacher teacher ,int &t);friend void _statistics(Cteacher teacher, int &t); ;class Cassis tant: public CCommon/实验员类protected:st ring labora to ry;/所在实验室st ring posi tio n;/职称public:void set(int _number,string _name,string _sex,int _age,string_laboratory,string _po
25、sition)15number = _number;name = _name;sex = _sex;age = _age;laboratory = _laboratory;position = _position;/输入实验员数据void output();Cassistant()/析构函数friend int find_nu(Cassistant assistant, int _nu, int &t);friend int find_na(Cassistant assistant, string _na, int &t);friend void add(Cassistant assistan
26、t, int _fa);friend void dele(Cassistant assistant, int _fa);friend void closefile(Cassistant assistant ,int &t);friend void _statistics(Cassistant assistant, int &t); ;class Cexec utio n:public CCommon/行政人员类protected:st ring politi cs;/政治面貌16st ring posi tio n;/职称public:void set(int _number,string _
27、name,string _sex,int _age,string_politics,string _position)number = _number;name = _name;sex = _sex;age = _age;politics = _politics;position = _position;/输入行政人员数据void output();Cexecution()/析构函数friend int find_nu(Cexecution execution, int _nu, int &t);friend int find_na(Cexecution execution, string _
28、na, int &t);friend void add(Cexecution execution, int _fa);friend void dele(Cexecution execution, int _fa);friend void closefile(Cexecution execution ,int &t);17friend void _statistics(Cexecution execution, int &t); ;class Ct ea_exe:public CCommon/行政人员兼教师类protected:st ring politi cs;/政治面貌st ring dep
29、ar tment;/所在系部st ring profession;/专业st ring posi tio n;/职称public:void set(int _number,string _name,string _sex,int _age,string_politics,string _department,string _profession,string _position) number = _number;name = _name;sex = _sex;age = _age;politics = _politics;department = _department;profession
30、 = _profession;position = _position;/输入行政人员兼教师数据18void output();Ctea_exe() /析构函数 friend int find_nu(Ctea_exe tea_exe, int _nu, int &t);friend int find_na(Ctea_exe tea_exe, string _na, int &t); friend void add(Ctea_exe tea_exe, int _fa);friend void dele(Ctea_exe tea_exe, int _fa);friend void closefil
31、e(Ctea_exe tea_exe ,int &t);friend void _statistics(Ctea_exe tea_exe, int &t); ;4.2 函数实现 对于在四个管理类中定义了相同的函数,以教师类为例 添加功能:void _add(Cteacher *teacher, int &t)/l 添加信息int number,age;string name,sex,department,profession,position;cou t 请输入:endl;while(1)number=t+1;coutname;if(0 = name)19break;cou tsex;if(s
32、ex = M|sex = W)cou tage;cou tdepartment;coutprofession;cou tposition;teachert.set(number,name,sex,age,department,profession,position)7+t;break;elsecou t输入性别错误,请重新输入!endl;display(Cteacher teacher, int &t)/3 显示功能 int i;coutendl;cout编号t姓名t性别t年龄t系部t专业t职称endl;for(i=0;it;i+)teacheri.output();20coutendlend
33、l;查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到 给出相应的提示信息,如果找到,则显示相应的记录信息。void _query(Cteacher teacher, int &t)/2 查询信息int choice;int flag,nu;string na;cou tl编号,2姓名flag;if(1 = flag|2 = flag)break;elsecou t输入错误,请重新输入:!endl;switch(flag)case 1:/编号查询docou t请输入编号!nu;if(find_nu(teacher,nu,t) t)teacherfind_nu(teacher,n
34、u,t).output(); elsecou t查无此人!endl;cout是否继续(1 是,2 否)choice;if(choice = 2)21break;while(choice = 1);break;case 2:/姓名查询docout请输入姓名!na;if(find_na(teacher,na,t)t)teacher find_na(teacher,na,t) .output();elsecou t查无此人!endl;c o u t 是否继续(1是,2否) choice;if(choice = 2)break;while(choice = 1);break;int find_nu(C
35、 teacher t eacher, int _nu, int &t)/编号查询方式 int i;for(i=0;it;i+)if(teacheri.number=_nu)return i;return t;int find_na(C teacher t eacher, st ring _na, int &t)/姓名查询方式 int i;for(i=0;it;i+)22if(=_na)return i;return t;删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应 的人员记录,则提示“记录为空”并返回操作;否则,输入要删除的人员的编号或 姓名,
36、根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不 存。 void Tea_Manage:Delete()if(top=0)cou t当前系统中没有存储记录!endl;return;cou t 1、按编号查找删除2、按姓名查找删除choice;switch(choice)case 1:cou tnum;for(int i=0;itop;i+)if(num=Teai.num)cou t是否确认删除,1、是2、否choice;switch(choice)case 1:for(int j=i;jtop-1;j+)23Teaj=Teaj+1;cou t删除成功endl;top-
37、;break;case 2:return;defaul t: cou t无此项,失败endl;break; return;cou t无此人endl; ;break;case 2:coutname;for(int i=0;itop;i+)if(name=T)否 endl;cou t是否确认删除,1、是2否 choice;switch(choice)case 1:for(int j=i;jtop-1;j+)Teaj=Teaj+1;cou t删除成功endl;top-;break;case 2:return;defaul t:cou t无此项,失败endl;break;24retur
38、n;cou t无此人endl; break;defaul t: cou t没有此项,失败:endl;break;统计功能:对男女人数进行统计。oid _statisti cs(C teacher t eacher, int &t)/统计数据 vint i,boy=0,girl=0,sum=0;for(i=0;it;i+)if(teacheri.sex = W)girl+;if(teacheri.sex=M)boy+;sum = girl+boy;cou t教师总共有sumendl;cout男有boy人女有girl人endl; void statist ics _t eacher()/教师统计函
39、数int t;Cteacher teacherMax;t = openfile(teacher);_statistics(teacher,t); 保存功能:可将当前系统中各类人员记录存入文件中。 voidclosef il e(C teacher t eacher, int &t)/ 向文件中写入数据int i,number,age;string name,sex,department,profession,position;25ofstream fout(teacher.txt);for(i=0;it;i+)number=teacheri.number;name=;
40、sex=teacheri.sex;age=teacheri.age;department=teacheri.department;profession=fession;position=teacheri.position;if(number!=0)fout numbert namet sextaget departmentt professiont positionendl; fout.close();读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使 用。 void Tea_Manage:Read()ifstream in(D:ying2.txt,ios:in);if(!in)cou t打开失败!Teai.numTTeai.sexTeai.ageTeai.departTeai.specTeai.title)Teai.Output();i+;top+;in.close();教师函数主界面的定义void TeaMenu()Tea_Manage t;int choice;wh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版土地使用权出让居间合同规范文本-城市综合体开发3篇
- 二零二五版住宅小区车位产权转移及使用权购买合同3篇
- 2025版住宅小区消防设备设施定期检查与维护合同范本2篇
- 2025年度木门行业环保认证与推广合同3篇
- 2025年度国际物流合作解约及责任分担协议书
- 二零二五年度美容店转让合同包括美容院品牌授权及区域代理权
- 2025年度二零二五年度大型活动临时工人搬运服务承包协议
- 2025年度私人承包厂房租赁合同安全责任追究协议
- 二零二五板材行业数据分析与市场预测合同3篇
- 二零二五年度铲车清雪作业安全责任保险合同
- 中考模拟考试化学试卷与答案解析(共三套)
- 新人教版五年级小学数学全册奥数(含答案)
- 风电场升压站培训课件
- 收纳盒注塑模具设计(论文-任务书-开题报告-图纸)
- 博弈论全套课件
- CONSORT2010流程图(FlowDiagram)【模板】文档
- 脑电信号处理与特征提取
- 高中数学知识点全总结(电子版)
- GB/T 10322.7-2004铁矿石粒度分布的筛分测定
- 2023新译林版新教材高中英语必修一重点词组归纳总结
- 苏教版四年级数学下册第3单元第2课时“常见的数量关系”教案
评论
0/150
提交评论