C++高校人员信息管理系统课程设计报告.docx
- 文档编号:17779408
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:32
- 大小:196.74KB
C++高校人员信息管理系统课程设计报告.docx
《C++高校人员信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C++高校人员信息管理系统课程设计报告.docx(32页珍藏版)》请在冰点文库上搜索。
C++高校人员信息管理系统课程设计报告
C++高校人员信息管理系统课程设计报告
.
《基于C++的面向对象程序设计实例》
课程设计报告
报告题目:
高校人员信息管理系统作者所在系部:
计算机科学与工程系作者所在专业:
计算机科学与技术专业作者所在班级:
作者姓名:
指导教师姓名:
完成时间:
2012.6
摘要
.
.
在当前的市场经济体制下,企业间竞争不断,企业的发展与企业的有效管理密不可分,一个企业要偶适合自身特点的信息化管理系统,以实现企业降低成本、及时反馈市场信息、完善服务质量、提高经济效益、分析市场需求、制定销售计划和目标等管理目的。
本文利用MicrosoftVisualC++6.0编写程序,实现了用户对公司经理、技术人员、销售人员和销售经理管理操作。
本系统主要有八个功能模块:
添加功能、查询功能、显示功能、编辑功能、删除功能、统计功能、保存功能、读取功能
关键词:
系统设计类信息面向对象
摘要............................................................................................................................1
第一章绪论.....................................................................................................................3
1(1课程设计的目的...............................................................................................4
.
.
1(2课程设计的背景和意义....................................................................................4
1(2(1课程设计的背景..................................................................................4
1(2(2课程设计的意义..................................................................................4
1(3课程设计环境...................................................................................................5第二章需求分析.............................................................................................................6
2(1问题描述...........................................................................................................6
2(2功能要求...........................................................................................................6
2(3问题的解决方案...............................................................................................6第三章系统设计.............................................................................................................8
3(1数据设计...........................................................................................................8
3(1(1类设计.................................................................................................8
3(1(2类之间的关系.....................................................................................10
3(1(3函数设计.............................................................................................10
3(2结构设计..........................................................................................................10
3(2(1系统流程图.........................................................................................10
3(2(2界面设计.............................................................................................11第四章系统实现............................................................................................................13
4(1类实现..............................................................................................................13
4(2函数实现..........................................................................................................13
4(3主函数实现......................................................................................................21第五章系统测试............................................................................................................23
5(1模块测试..........................................................................................................23
5(2课程设计过程中遇到的问题...........................................................................28总结...............................................................................................................................29致谢................................................................................................错误~未定义书签。
30参考文献...........................................................................................................................31任务书...............................................................................................................................32
第一章绪论
1(1课程设计的目的
《C++面向对象程序设计》是计算机专业的基础课程,本课程按照软件程序设计所需能力
进行教学设计,提出以项目模块方式带动相关知识点、实践项目和理论并行的思路,将案例
贯穿于课程始终,对原有的教学体系、教学内容进行重新编排,按照从易到难的原则,将其.
.
巧妙地融入到项目开发过程中,降低学习难度,提高学生学习的信心,有效培养学生的应用能力和学习能力。
1(2课程设计的背景和意义
随着社会的发展,各种公司规模逐渐变大,需要对公司的员工信息进行统一有效的管理,方便的对人员的信息进行增添、查阅、修改、删除、保存,这就必须有一个实用的管理系统。
1(2(1课程设计的背景
1.理论研究基础
掌握C++基本知识,具体包括:
掌握面向对象基本知识和基本概念,掌握静态成员的定义与作用,掌握友元的定义,掌握运算符重载方法,继承与派生,虚函数的定义和使用,输入、输出流操作,文件的创建、打开、读写、关闭等。
2.技术层面的支持
(1)定义基类与派生类,将数据成员与成员函数封装在类中。
(2)设计增添、显示、查询、修改、删除、保存等函数。
1(2(2课程设计的意义
(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。
帮助了同学系统的掌握C++课程的主要内容。
(2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。
课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立
思考的条件。
(3)通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。
1(3课程设计环境
MicrosoftVisualC++6.0
.
.
第二章需求分析
2(1问题描述
某高校有四类员工:
教师、实验员、行政人员,教师兼行政人员;共有的信息包括:
编号、姓名、性别、年龄等。
其中,教师还包含的信息有:
所在系部、专业、职称;实验员还包含的信息由:
所在实验室、职务;行政人员还包含的信息有:
政治面貌、职称等。
.
.
2(2功能要求
(1)基本功能
1)添加功能:
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
2)查询功能:
可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
3)显示功能:
可显示当前系统中所有记录,每条记录占据一行。
4)编辑功能:
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
5)删除功能:
主要实现对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空~”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
6)统计功能:
能根据多种参数进行人员的统计。
例如,统计四类人员数量以及总数,
或者统计男、女员工的数量,或者统计某年龄段人员的数量等。
7)保存功能:
可将当前系统中各类人员记录存入文件中,存入方式任意。
8)读取功能:
可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
2(3问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
2)分析系统中的各个实体及它们之间的关系;
3)根据问题描述,设计系统的类层次;
4)完成类层次中各个类的描述;
5)完成类中各个成员函数的定义;
6)完成系统的应用模块;
7)功能调试;
8)完成系统总结报告。
.
.
第三章系统设计3(1数据设计
3(1(1类设计
1.人员的管理需包含人员的基本信息,所以定义一个人员类如表3-1所示:
表3-1员工类
.
.
类名人员类数据成员protected:
num(编号)charname[20](姓名)
charsex[10](性别)age(年龄)成员函数public:
Input():
输入函数
Output():
输出函数
GetNum():
获取编号
GetName():
获取姓名
2.根据高校人员的工作性质的不同,将所有员工分为教师、实验员、行政人员,教师兼行政人员
表3-2教师类
类名教师类(公有继承员工类)数据成员protected:
chardepart[20](部门);
charspec[20](专业);
chartitle[20](职称);成员函数public:
voidInput_1():
输入函数
voidOutput_1():
输出函数
charGetDepart():
获取部门
charGetSpec():
获取专业
charGetTitle():
获取职称
friendTea_Manage:
友元教师管理类
表3-3实验员类
类名实验员类(公有继承员工类)数据成员protected:
chartextroom[20](所在实验室)
charpost[20](职务)成员函数public:
voidInput_3():
输入函数
voidOutput_3():
输出函数
charGetTextroom():
获取实验室
.
.
charGetPost():
获取职务
friendExp_Manage:
友元实验人员管理类
表3-4行政人员类
类名行政人员类(公有继承员工类)数据成员public:
charpolitics[20]:
(政治面貌)
chartitle[20]:
(职称)
成员函数public:
voidInput_2():
输入函数
voidOutput_2():
输出函数
charGetPolitics():
获取政治面貌
charGetTitle():
获取职称
friendSta_Manage:
友元行政人员管理类
表3-5教师兼行政人员类类名教师兼行政人员类(公有继承员工类)
数据成员
成员函数Public:
voidInput_4():
输入函数
voidOutput_4():
输出函数
friendTea_Sta_Manage:
友元教师行政人员管理
类
4、为了控制以上的类,分别建立了4个管理类,以经理的管理了为例:
表3-6教师管理类
.
.
类名教师管理类
数据成员TeacherTea[20](创建教师的空间);
top(统计人员数和进行操作时的指针);
3(1(2类之间的关系
员工类派生出教师类、实验员类、行政人员类,教师类和行政人员类派生出教师兼行政
人员类。
3(1(3函数设计
根据要求,为了功能的实现,通过top实现功能。
分别以8个功能函数进行对数据的操
作(下面以经理类为例)
voidAdd();(信息的添加)
voidSearch();(信息的查找)
voidEdit();(信息的编辑)
voidTotal();(信息的统计)
voidDelete();(信息的删除)
voidShow();(信息的显示)
voidSave();(信息的存储)
voidRead();(信息的读取)
3(2结构设计
3(2(1系统流程图
.
.
教师兼行政人员类
3(2(2界面设计
1.主菜单界面,如图3—3所示
图3—3主菜单2.教师菜单界面,如图3-4
图3—4教师管理界面3.教师查询界面,如图3-5所示:
图3—5教师查询界面
.
.4.教师删除界面,如图3-6所示:
图3—6教师删除界面
第四章系统实现4(1类实现
classPerson//人员类classTeacher:
virtualpublicPerson//教师类classStaff:
virtualpublicPerson//行政人员类classExperimenter:
publicPerson//实验员类
.
.classTea_Sta:
publicTeacher,publicStaff//教师兼行政人员类classTea_manage//教师管理类
classSta_manage//行政人员管理类classExp_manage//实验员管理类classTea_Sta_manage//教师兼行政人员管理类4(2函数实现
voidPerson:
:
Input()//员工信息输入{
cout<<"请输入编号:
"<
cout<<"请输入名字:
"<
cout<<"请输入性别:
"<
cout<<"请输入年龄:
"<
voidTeacher:
:
Input_1()//教师信息输入{
Input();
cout<<"请输入所在系别:
"<
cout<<"请输入专业名称:
"<
cout<<"请输入职称:
"<
voidPerson:
:
Output()//员工信息输出{
cout<<"编号:
"< cout<<"姓名: "< cout<<"性别: "< cout<<"年龄: "< } voidTeacher: : Output_1()//教师信息输出{ Output(); cout<<"所在系别: "< cout<<"所在专业: "< cout<<"职称: "< . .} intPerson: : GetNum()//返回编号{ returnnum; } charPerson: : GetName()//返回姓名{ returnname[20]; } charPerson: : GetSex()//返回性别{ returnsex[10]; } intPerson: : GetAge()//返回年龄{ returnage; } charTeacher: : GetDepart()//返回所在部门{ returndepart[20]; } charTeacher: : GetSpec()//返回专业{ returnspec[20]; } charTeacher: : GetTitle()//返回职称{ returntitle[20]; } voidTea_Manage: : Add()//教师信息的添加{ Teachert; cout<<"请输入新增人员的信息: "< t.Input_1();inti; for(i=0;i . . { if(t.GetNum()==Tea[i].GetNum()) { cout<<"编号已存在,请重新输入: "< break; } } if(i==top) { if(top>1000) cout<<"内存已满,不可添加"< elseif(top<=1000) {Tea[top]=t; cout<<"添加成功"< top++; } return; } } voidTea_Manage: : Show()//教师信息的显示{ for(inti=0;i { Tea[i].Output_1(); cout<<"....................................."< } } voidTea_Manage: : Search()//教师信息的查询{ if(top==0) { cout<<"没有任何信息"< } intchoice;inti=0; . . intm=0;intn=0;intnum; cout<<"请输入您的选择: "< cout<<"查询方式1.按名字2.按编号"< cin>>choice; switch(choice) { case1: { charname[20]; cout<<"请输入您所查询的人员名字: "< cin>>name; for(i;i { if(! strcmp(name,Tea[i].name)) { Tea[i].Output_1(); break; } } if(i==top) cout<<"查无此人"< }break; case2: { cout<<"请输入编号: "< cin>>num; for(i=0;i { if(num==Tea[i].GetNum()) { Tea[i].Output_1(); } if(i==top) cout<<"查无此人"< . } }break; } } voidTea_Manage: : Edit()//教师信息的修改{ inti=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 高校 人员 信息管理 系统 课程设计 报告