ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:30.34KB ,
资源ID:5604995      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5604995.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++高校人员信息管理系统.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++高校人员信息管理系统.docx

1、C+高校人员信息管理系统基于C+的面向对象程序设计实例课程设计报告课程名称 C+面向对象程序设计课题名称 高校人员信息管理系统 专 业 计算机科学与技术 班 级 1220541 学 号姓 名 苗鹏程 指导教师 侯欢欢 (一)、课程设计题目: 高校人员信息管理系统(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (

2、3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 (三)、设计方法和基本原理: 1. 功能要求添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。查询功能可根据编号、姓名等信息对已添加的记录进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。显示功能可显示当前系统中所有记录。修改功能可根据查询结果对相应的记录

3、进行修改,修改时注意编号的唯一性。删除功能对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。统计功能能根据多种参数进行人员的统计。例如:统计四类人员数量以及总数,统计男、女员工的数量,统计某年龄段人员的数量等。保存功能将当前系统中各类人员记录存入文件中。读取功能 将保存在文件中的人员信息读入到当前系统中,以供用户使用。在完成以上基本功能的基础上,可自行进行扩展或完善。2. 问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤:

4、(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书摘 要 2第一章 绪论 211 课程设计的目的 412 课程设计的背景和意义 4121 课程设计的背景 4122 课程设计的意义 413 课程设计环境 5第二章 需求分析 621 问题描述 622 功能要求 623 问题的解决方案 6第三章 系统设计 831

5、数据设计 8311 类设计 8312 类之间的关系 10313 函数设计 1032 结构设计 10321 系统流程图 10322 界面设计 11第四章 系统实现 1341 类实现 1342 函数实现 1343 主函数实现 21第五章 系统测试 2351 模块测试 2352 课程设计过程中遇到的问题 28结 论 29 致谢 30参考书目 311. 第一章 绪论11 课程设计的目的C+面向对象程序设计是计算机专业的基础课程,本课程按照软件程序设计所需能力进行教学设计,提出以项目模块方式带动相关知识点、实践项目和理论并行的思路,将案例贯穿于课程始终,对原有的教学体系、教学内容进行重新编排,按照从易到

6、难的原则,将其巧妙地融入到项目开发过程中,降低学习难度,提高学生学习的信心,有效培养学生的应用能力和学习能力。12 课程设计的背景和意义随着社会的发展,各种公司规模逐渐变大,需要对公司的员工信息进行统一有效的管理,方便的对人员的信息进行增添、查阅、修改、删除、保存,这就必须有一个实用的管理系统。121 课程设计的背景1. 理论研究基础掌握C+基本知识,具体包括:掌握面向对象基本知识和基本概念,掌握静态成员的定义与作用,掌握友元的定义,掌握运算符重载方法,继承与派生,虚函数的定义和使用,输入、输出流操作,文件的创建、打开、读写、关闭等。2. 技术层面的支持(1)定义基类与派生类,将数据成员与成员

7、函数封装在类中。(2)设计增添、显示、查询、修改、删除、保存等函数。122 课程设计的意义(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。帮助了同学系统的掌握C+课程的主要内容。(2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立思考的条件。(3)通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。13 课程设计环境Microsoft Visual C+ 6.02. 第二章 需求分析2.1问题描述某高校有四类人员:教师、实验员、行政人员、教师

8、兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息有:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。2.2功能要求1) 添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。2) 查询功能可根据编号、姓名等信息对已添加的记录进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3) 显示功能可显示当前系统中所有记录。4) 修改功能可根据查询结果对相应的记录进行修改,修改时注意

9、编号的唯一性。5) 删除功能对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。6) 统计功能能根据多种参数进行人员的统计。例如:统计四类人员数量以及总数,统计男、女员工的数量,统计某年龄段人员的数量等。7) 保存功能将当前系统中各类人员记录存入文件中。8) 读取功能 将保存在文件中的人员信息读入到当前系统中,以供用户使用。在完成以上基本功能的基础上,可自行进行扩展或完善。2.3问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:1

10、) 应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2) 分析系统中的各个实体以及它们之间的关系;3) 根据问题描述,设计系统的类层次;4) 完成类层次中各个类的描述;5) 完成类中各个成员函数的定义;6) 完成系统的应用模块;7) 功能调试;8) 完成系统总结报告。3. 第三章 系统设计31 数据设计311 类设计1.人员的管理需包含人员的基本信息,所以定义一个人员类如表3-1所示:表 3-1员工类类名人员类数据成员protected: num(编号) char name20(姓名)char sex10(性别) age(年龄)成员函数public: Input():输入函数 Ou

11、tput():输出函数GetNum():获取编号 GetName(): 获取姓名2. 根据高校人员的工作性质的不同,将所有员工分为教师、实验员、行政人员,教师兼行政人员表3-2教师类类名教师类(公有继承员工类)数据成员protected: char depart20(部门); char spec20(专业); char title20(职称);成员函数public: void Input_1():输入函数 void Output_1():输出函数 char GetDepart(): 获取部门 char GetSpec(): 获取专业 char GetTitle(): 获取职称 friend T

12、ea_Manage:友元教师管理类表3-3实验员类类名实验员类(公有继承员工类)数据成员protected: char textroom20(所在实验室) char post20(职务)成员函数public: void Input_3():输入函数void Output_3():输出函数char GetTextroom(): 获取实验室char GetPost(): 获取职务friend Exp_Manage: 友元实验人员管理类表3-4行政人员类类名行政人员类(公有继承员工类)数据成员public: char politics20:(政治面貌) char title20:(职称)成员函数pu

13、blic: void Input_2():输入函数 void Output_2():输出函数 char GetPolitics():获取政治面貌 char GetTitle():获取职称 friend Sta_Manage:友元行政人员管理类表3-5教师兼行政人员类类名教师兼行政人员类(公有继承员工类)数据成员成员函数Public: void Input_4():输入函数 void Output_4():输出函数 friend Tea_Sta_Manage:友元教师行政人员管理 类4、为了控制以上的类,分别建立了4个管理类,以经理的管理了为例:表 3-6 教师管理类类名教师管理类数据成员 Te

14、acher Tea20 (创建教师的空间); top(统计人员数和进行操作时的指针); 312 类之间的关系员工类派生出教师类、实验员类、行政人员类,教师类和行政人员类派生出教师兼行政人员类。313 函数设计根据要求,为了功能的实现,通过top实现功能。分别以8个功能函数进行对数据的操作(下面以经理类为例)void Add(); (信息的添加) void Search(); (信息的查找) void Edit(); (信息的编辑) void Total(); (信息的统计) void Delete(); (信息的删除) void Show(); (信息的显示) void Save(); (信息

15、的存储) void Read(); (信息的读取)32 结构设计321 系统流程图 322 界面设计1.主菜单界面,如图33所示 图33 主菜单2.教师菜单界面,如图3-4 图34 教师管理界面3. 教师查询界面,如图3-5所示: 图35 教师查询界面4.教师删除界面,如图3-6所示: 图36 教师删除界面4. 第四章 系统实现41 类实现class Person /人员类class Teacher:virtual public Person /教师类class Government:virtual public Person /行政人员类class Experimenter:public P

16、erson /实验员类class Tea_Gover:public Teacher,public Government: /教师兼行政人员类class Tea_manage /教师管理类 class Gov_manage /行政人员管理类class Exp_manage /实验员管理类class Tea_GoverManage /教师兼行政人员管理类42 函数实现void Person:Input() /员工信息输入 cout请输入编号:num; cout请输入名字:name; cout请输入性别:sex; cout请输入年龄:age;void Teacher:Input_1() /教师信息输

17、入 Input(); cout请输入所在系别:depart; cout请输入专业名称:spec; cout请输入职称:title;void Person:Output () /员工信息输出 cout编号:numendl; cout姓名:nameendl; cout性别:sexendl;cout年龄:ageendl;void Teacher:Output_1() /教师信息输出 Output(); cout所在系别:departendl; cout所在专业:specendl; cout职称:titleendl;int Person:GetNum() /返回编号 return num;char P

18、erson:GetName() /返回姓名 return name20;char Person:GetSex() /返回性别 return sex10;int Person:GetAge() /返回年龄 return age; char Teacher:GetDepart() /返回所在部门 return depart20;char Teacher:GetSpec() /返回专业 return spec20;char Teacher:GetTitle() /返回职称 return title20;void Tea_Manage:Add() /教师信息的添加 Teacher t; cout请输入

19、新增人员的信息:endl; t.Input_1();int i; for( i=0;itop;i+) if(t.GetNum()=Teai.GetNum() cout编号已存在,请重新输入:1000) cout内存已满,不可添加endl; else if(top=1000) Teatop=t; cout添加成功endl; top+; return; void Tea_Manage:Show() /教师信息的显示 for(int i=0;itop;i+) Teai.Output_1(); cout.endl; void Tea_Manage:Search() /教师信息的查询 if(top=0)

20、 cout没有任何信息endl; int choice;int i=0; int m=0; int n=0;int num; cout请输入您的选择:endl; cout查询方式 1.按名字 2.按编号choice; switch(choice) case 1: char name20; cout请输入您所查询的人员名字:name; for(i;itop;i+) if(!strcmp(name,Teai.name ) Teai.Output_1(); break; if(i=top) cout查无此人endl; break; case 2: cout请输入编号:num; for(i=0;ito

21、p;i+) if(num=Teai.GetNum() Teai.Output_1(); if(i=top) cout查无此人endl; break; void Tea_Manage:Edit() /教师信息的修改 int i=0; Search(); cout+endl; cout1.修改编号 2.修改姓名 3.修改性别 4.修改年龄 5.修改系别 6.修改专业 7.修改职称 0.退出endl; cout+choice; switch(choice) case 1: cout编号不可修改endl; break; case 2: char na20; cout请输入修改后的姓名:na; strc

22、py(Teai.name,na); cout修改成功endl; break; case 3: int m; char a10; cout输入修改后的内容:a; strcpy(Teai.sex,a); cout修改成功,是否继续(1/2)m; if(m=1) return; break; case 4: int b,m; cout请输入修改后的年龄:b; Teai.age=b; cout修改成功,是否继续(1/2)m; if(m=1) return; break; case 5: int m; char n20; cout请输入修改后系部:n; strcpy(Teai.depart,n); co

23、ut修改成功,是否继续(1/2)m; if(m=1) return; break; case 6: int m; char n20; cout请输入修改后专业:n; strcpy(Teai.spec,n); cout修改成功,是否继续(1/2)m; if(m=1) return; break; case 7: int m; char n20; cout请输入修改后的职称:n; strcpy(Teai.title,n); cout修改成功,是否继续(1/2)m; if(m=1) return; break; case 0:cout退出成功!endl;break; default:cout无此选项

24、!请重试!endl;break; void Tea_Manage:Delete() /教师信息的删除 Teacher t; int i=0; cout请输入你想删除人员的编号:t.num; if(top=0) cout没有人员选择endl; for(i;itop;i+) if(t.num=Teai.num) Teai=Teai+1; top-; break; if(i=top) cout查无此人endl; cout删除成功m; if(m=1) return;void Tea_Manage:Total() /教师信息的统计 couttopendl;void Tea_Manage:Save() /

25、教师信息的保存 if(!outfile) cerropen error!endl; abort(); for(int i=0;itop;i+) outfile.write(char *)&Teai,sizeof(Teai); cout保存成功endl; outfile.close();void Tea_Manage:Read() /教师信息的读出 if(!infile) cerropen error!endl; abort(); while(infile.read(char *)&Teatop,sizeof(Tea0)top+; cout读取成功endl; infile.close();4.3 主函数实现int main() /主函数的实现 cout *欢迎进入北华航天工业学院

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1