内蒙古科技大学课程设计任务书课程名称C++程序设计设计题目职工信息管理系统指导教师//填写答辩所对应教师姓名时间//任务书仅限一页打印,并且紧贴封面之后装订《C++程序设计》程序设计说明书题目:职工信息管理系统姓名:安静学号:1376807343指导教师:王丽颖日期:2014年12月25日目录第一章需求分析····················································4第二章系统总体设计··············································52.1功能划分·························································52.2详细描述·························································52.2.1系统描述.............................................................................................5第三章类的设计····················································63.1Class图························································63.2类的成员函数说明············································7第四章详细设计····················································84.1类图视图·························································8第五章测试··························································85.1测试图片·························································85.2软件使用说明书··············································11第六章设计总结··················································11附加:································································12正文第一章需求分析每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。职工信息管理系统设计职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:职工信息录入功能(职工信息用文件保存)--输入职工信息浏览功能--输出查询或排序功能:(至少一种查询方式)--算法●按工资查询●按学历查询等职工信息删除、修改功能(任选项)第二章系统总体设计2.1功能划分该系统可以按功能进行模块划分,如图2.2详细描述2.2.1系统描述(1)主菜单模块完成用户命令的接受,此模块也是职工信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。(2)信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、电话等。(3)信息显示模块完成已录入职工信息的显示。主菜单添加职工信息修改职工信息职工删除信息职工信息查询职工信息排序保存员工信息Switch()退出While()开始main()读取数据(4)信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式。(5)信息修改模块完成职工信息的修改功能。(6)信息删除功能模块完成职工信息的删除功能。(7)信息排序模块完成对职工信息的排序,排序内容包括工号,工资等。(8)信息保存模块完成对职工信息的保存。第三章类的设计3.1Class图Class_cout:string_num:string_workerlist:string+add:void+dele:void+modify:void+save:void+search:void+showworker:void+sort:void+workerlist:void3.2类的成员函数说明首先主要设计定义了两个类:1.职工信息管理类(WorkerList):主要用于对员工信息进行新增、查询、修改、删除等操作处理;主要包括以下几种信息处理函数:voidadd();//职工信息录入函数voidsort();//职工信息排序函数voidsearch();//职工信息查找函数voiddele();//职工信息删除函数voidmodify();//职工信息修改函数voidsave();//职工信息以文件形式保存函数voidshowworker();//职工信息保存在屏幕上函数2.职工信息类(worker):数据类型职工信息StringNum,name,sex,edu,address,post,telIntAge,salary第四章详细设计4.1类图视图第五章测试5.1测试图片通过对员工的信息的添加,修改,删除,保存,排序,查找等功能进行检测。未发现任何异常现象。在这里:我们将测试的结果图片贴在了下面5.2软件使用说明书(1)根据正确的提示安装软件。(2)PC台式机和便携式电脑都可运行。(3)打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。操作如下:点击开始菜单,进入菜单选择。输入:将所需的信息输入。输出:职工基本信息。输入:根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。当错误不能改正,则退出浏览信息。进入查询信息:则屏幕会出现已一个对话框——按工号查找,把相应的所需信息的状态(是否借出)。当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。当信息输入正确,进入你所需要的菜单程序中:职工信息:显示职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等。管理员信息:显示出职工信息管理的负责人及他们的工号。第六章设计总结在本系统的开发过程中,由于组是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对职工信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识巩固了我组对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。附加:源程序代码:#includeiostream#includestring#includefstream#includestdlib.h#includestdio.h#defineN100intf=0;usingnamespacestd;stringp;voidmenu();classworker{public:worker(){}voidshow();~worker(){}friendclassWorkerList;private:stringnum,name,sex,edu,post,address,tel;intage,salary;};classWorkerList{private:workerw[N];intNUM;intcount;public:voidadd();voidsort();voidsearch();voiddele();voidmodify();voidsave();voidshowworker();WorkerList(){NUM=0;count=0;}};voidmenu(){coutendl;cout**********************************************endl;cout****endl;cout**职工信息管理系统主菜单**endl;cout****endl;cout**1.职工信息添加**endl;cout**2.职工信息修改**endl;cout**3.职工信息删除**endl;cout**4.职工信息排序**endl;cout**5.职工信息查找**endl;cout**6.职工信息显示**endl;cout**7.职工信息保存**endl;cout****endl;cout**********************************************endl;coutendl;}voiddomain(){WorkerListwl;while(1){system(cls);menu();cout请选择数字编号~7endl;inti1;cini1;while(!(i1=0&&i1=7)){cout输入有误,请重新输入:endl;cini1;}switch(i1){case1:wl.add();break;case2:wl.modify();break;case3:wl.dele();break;case4:wl.sort();break;case5:wl.search();break;case6:wl.save();break;case7:wl.showworker();break;case0:cout系统退出!!endl;exit(0);default:break;}cout是否返回主菜单?Y/Nendl;cinp;if(p==n||p==N){cout系统退出!!endl;exit(0);}}}voidWorkerList::add(){cout请输入职工信息:endl;cout工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话endl;stringnum;cinnum;for(inti=0;iNUM;i++)while(num==w[i].num){cout此职工编号已存在,请重新输入:endl;cinnum;}w[NUM].num=num;cinw[NUM].namew[NUM].sexw[NUM].eduw[NUM].agew[NUM].postw[NUM].salaryw[NUM].addressw[NUM].tel;++NUM;count=NUM;}voidworker::show(){cout工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话endl;coutnum'\t'name'\t'sex'\t'edu'\t'age'\t'post'\t'address'\t'telendl;coutendl;}voidWorkerList::modify(){if(NUM=0){cout没有职工信息存入,系统将返回主菜单endl;menu();}else{cout职工信息如下:endl;cout工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话endl;for(inti=0;icount;i++)coutw[i].num'\t'w[i].name'\t