还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
面向对象课程设计报告课程设计题目职工信息管理系统姓名班级学号指导老师2011年11月8日目录摘要3第一章绪论
41.1面向对象C++语言程序设计
41.2职工信息管理系统
41.3程序编译环境4第二章职工信息管理系统需求分析
52.1编写目的
52.2需求概述
52.3需求说明6第三章详细设计
73.1编写目的
73.2详细设计10第四章源程序编码及实现
114.1程序源代码
164.2程序实现结果17第五章系统测试18第六章结束语21____21第一章绪论
41.1面向对象C++语言程序设计
41.2职工信息管理系统
41.3程序编译环境4第二章职工信息管理系统需求分析
52.1编写目的
52.2需求概述
52.3需求说明6第三章详细设计
73.1编写目的
73.2详细设计10第四章源程序编码及实现
114.1程序源代码
164.2程序实现结果17第五章系统测试18第六章结束语21____21摘要在当今社会,互联网空间的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选当前大量企业的职工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统本程序是一个关于职工信息管理的系统通过这个系统用户可以简捷、方便的对职工信息进行增加、修改、添加、查询、浏览等功能,它不仅可以帮助企业单位达到员工管理办公自动化、节约管理成本、更能达到提高企业单位工作效率的目的关键词职工,信息管理,系统,程序1.绪论
1.1面向对象C++语言程序设计C++是种面向对象的程序设计语言,它是在C语言基础上发展起来的虽然它不是最早的面向对象的程序设计语言,但是它是目前使出比较广泛的面向对象的程序设计语言什么是面向对象简单地说,它和面向过程—样都是软件__的一种方法但是它与面向过程不同,面向对象是—种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件__方法
1.2职工信息管理系统在当今信息技术高速发展的时代,企业单位迫切需要这样一个系统它能高效的管理企业或单位内部所有员工的个人信息,并能正确快速的对系统的使用者的操作做出回应,以提高效率,降低成本该系统能够满足以上的要求,使用户可以快速准确的___工的信息
1.3程序编译环境使用VisualC++
6.0集成环境来编辑、编译并运行程序VisualC++不仅仅是一个编译器它是一个全面的应用程序__环境,使用它你充分利用具有面向对象特性的C++来__出专业级的Windows应用程序为了能充分利用这些特性,你必须理解C++程序设计语言二.需求分析
2.1编写目的通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及作为系统分析员进行系统分析和测试人员进行测试时的手册
2.2需求概述设计一个职工信息管理系统,使之能提供以下功能录入职工信息并保存浏览所有职工信息查询职工信息修改职工信息并保存添加职工信息
2.3需求说明本系统所实现的主要功能
(1)添加新成员,实现对新加入职工信息的录入,所有的信息当中主码即职工信息编号必须填写
(2)删除职工信息,当公司有职工因故离职时,需要删除员工信息时,释放掉它所占据的数据库空间,就可以在列表中选中所要删除的记录,然后__删除如果确认删除则在弹出的消息框中__确定即可删除所选的记录
(3)修改员工信息,由于某种原因可能导致在记录员工信息时出现错误,需要对员工信息进行修改在员工信息系统主窗口中选择所要修改的成员信息进行修改,__修改后将会弹出消息框,如果确认修改则__确定,则修改数据成功
(4)显示职工信息,在删除职工信息和添加职工信息成功后,__显示按钮则可对职工信息记录进行更新,显示职工信息的最新记录
(5)姓名检索信息,__此按钮则可以显示出当前那一条或几条员工信息,用名字来查看员工信息综上本系统可以对员工信息实现科学自动的管理,其中包括显示职工基本信息,并实现信息的添加、删除、显示、及检索经过调试,程序性能良好三.详细设计
3.1编写目的根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作
3.2详细设计对应于总体设计时的系统功能模块图各个功能模块的处理逻辑如下系统功能模块图
(1)系统的主要模块增加模块、显示模块、删除模块、计算模块、检索模块
(2)员工管理系统的主界面设置如下图图一员工管理系统的主界面
(3)职工信息记录的显示界面设计如下图图二职工信息增加记录的显示界面教师的工人的在页面上用按键1/2来选择是添加教师或者工人,如上两图显示显示按钮完成的功能在对员工进行信息记录完成时,单击此按钮可以对其进行查看当显示成功时,系统会下图所四.源程序编码及实现·
4.1源程序代码#includeiostream#includestringusingnamespa__std;classemployee{public:virtualvoiddisplay=0;protected:intnum;stringname;string___;floatincome;intbirthday;intworkday;intage;};classteacher:publicemployee{public:voidgetdata{cout请输入编号:endl;cinnum;cout请输入姓名:endl;cinname;cout请输入姓别:endl;cin___;cout请输入薪水:endl;cinincome;cout请输入生日:endl;cinbirthday;cout请输入工作年龄:endl;cinworkdayage=workday-birthday;}voiddisplay{cout编号:numendl;cout姓名:nameendl;cout姓别:___endl;cout薪水:incomeendl;cout生日:birthdayendl;cout参__作时间:workdayendl;cout年龄:ageendl;}intgetage{age=workday-birthday;returnage;}intgetnum{returnnum;}stringgetname{returnname;}};classworker:publicemployee{public:voidgetdata{cout请输入编号:endl;cinnum;cout请输入姓名:endl;cinname;cout请输入姓别:endl;cin___;cout请输入薪水:endl;cinincome;cout请输入生日:endl;cinbirthday;cout请输入工作年龄:endl;cinworkday;}voiddisplay{cout编号:numendl;cout姓名:nameendl;cout姓别:___endl;cout薪水:incomeendl;cout生日:birthdayendl;cout参__作时间:workdayendl;cout年龄:ageendl;}intgetage{age=workday-birthday;returnage;}intgetnum{returnnum;}stringgetname{returnname;}};voidmenuintchoi__{cout\t\t\t职工信息管理系统endl;cout\t\t\t
1、增加一位教师记录endl;cout\t\t\t
2、增加一位工人记录endl;cout\t\t\t
3、显示全部职工记录endl;cout\t\t\t
4、计算教师平均年龄endl;cout\t\t\t
5、计算工人平均年龄endl;cout\t\t\t
6、删除一个教师endl;cout\t\t\t
7、删除一个工人endl;cout\t\t\t
8、按姓名检索所有信息endl;cout\t\t\t
0、结束程序运行endl;cout\t\t请输入你的选择:;cinchoi__;}int__in{intchoi__=0;intindx1=0indx2=0;boolflag=false;teachert
[50];workerw
[50];while1{inti=0;int__erage=0;inttemp;stringtname;menuchoi__;switchchoi__{case1:t[indx1++].getdata;break;case2:w[indx2++].getdata;break;case3:cout显示所有教师信息:endl;fori=0;i!=indx1;++i{t[i].display;}cout显示所有工人信息:endl;fori=0;i!=indx2;++i{w[i].display;}break;case4:cout教师平均年龄:endl;fori=0;i!=indx1;++i{__erage+=t[i].getage;}cout__erage/indx1;break;case5:cout工人平均年龄:endl;fori=0;i!=indx2;++i{__erage+=w[i].getage;}cout__erage/indx2;break;case6:cout请输入要删除教师的编号endl;cintemp;fori=0;i!=indx1;++i{iftemp==t[i].getnum{do{t[i]=t[i+1];++i;}whilei!=indx1;cout已删除endl;--indx1;break;}}break;case7:cout请输入要删除工人的编号endl;cintemp;fori=0;i!=indx2;++i{iftemp==w[i].getnum{do{w[i]=w[i+1];++i;}whilei!=indx2;cout已删除endl;--indx2;break;}}break;case8:cout请输入姓名:endl;cintname;fori=0;i!=indx1;++i{iftname==t[i].getname{cout这位是教师endl;t[i].display;}}fori=0;i!=indx2;++i{iftname==w[i].getname{cout这位是工人endl;w[i].display;}}break;case0:flag=true;break;}ifflag{break;}}return0;}·
4.2程序实现结果5.系统测试
5.1测试方法首先运行程序,进入主界面选定要增加的员工信息,在职工编号中填入所要增加的职工编号,添加职工信息选择增加,填写职工信息,在按Enter键确定,即可增加员工信息,然后显示按钮查看增加所选员工信息后的员工信息列表
5.2测试用例数据的设计增加职工编号为102,姓名为yeyss,性别为女nan,出生年月为19690309,职称为教师,最后工资为1300的职工记录
5.3测试结果增加前后员工信息记录六.结束语(设计心得)在这一周的课程设计中,我们组的课程设计题目是职工信息管理系统即是以企业单位职工信息管理业务为背景,设计“职工信息管理系统”一开始,接到这个题目,我们对“职工信息管理”,这个概念不是很了解,所以在机房上机时,我们查阅了许多资料,了解到即是对职工的工号,姓名,年龄,学历等复杂多样的信息,能够较清晰,快捷而操作方便的现代化管理系统弄清了这个基本概念以后,我们又详细理解了老师所讲的设计要求和注意事项,开始集中讨论分析问题,大致确定了总体的设计思路,初步提出问题的解决方案,以及系统大致设计方案和框架,接下来我们就着手编程在编程过程中,我们先是根据系统所要求,找出所需要的我们在c++语言课程中所学到的知识点编完程序,我们在机房进行了一次又一次的调试,找出了其中的错误,一一纠正,并且修改了其中不太完善的部分,力求做到实用并且精确通过一周的课程设计,我们对c++语言知识掌握了很多,并能将它用以程序编写中同时认识到了团队合作的重要性总之,我们在这一周学到了许多知识,提高了自己的解决实际问题的能力____1.c/c++程序设计教程,王连相,中国铁道出版社,20062.c语言程序设计,谭浩强,清华大学出版社,
19993.c程序设计题解与上机指导,谭浩强,清华大学出版社,
19994.c/c++程序设计上机指导与测试,王连相,中国铁道出版社,
20065.c语言函数手册,机械工业出版社,
19996.c语言的实际应用,安徽科学技术出版社,
20007.c++语言程序设计(第4版)郑莉董渊河江舟,清华大学出版社,2010。