您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C++企业工资管理系统课程设计
1目录一、需求分析.......................................1二、概要设计.......................................3三、详细设计......................................12四、调试分析......................................12五、用户手册......................................13六、测试数据......................................17七、附录..........................................312一、需求分析1.数据存储采用文件形式。2.标准C++输入输出3.程序完成企业人事工资管理,能够实现工资的录入、统计(整个单位的平均工资、最高工资、最低工资)、查询、修改、删除等功能。4.程序执行的命令:(1)录入员工工资信息;(2)选择需要执行的操作(添加、统计、删除、修改、查询);(3)输出结果。二、概要设计1.设计类的数据类型定义classmessage{private:charbornplace[10],duty[10];//籍贯职务intID;//身份证号public:charname[10],bumen[10];//姓名部门intbasesalary;//基本工资intjiangjin;//奖金friendvoidmodify(intx);//友员函数friendintdel(intx);//友员函数}2.程序模块(1)录入操作:voidwriten(intx),该模版主要实现工资信息的录入;(2)添加操作:voidadd(intx),该模版主要实现工资信息的添加;(3)删除操作:voiddel(intx),该模版主要实现工资信息的删除;(4)修改操作:voidmodify(intx),该模版主要实现工资信息的修改;3(5)查询操作:voidfind(intx),该模版主要实现工资信息的查询统计操(6)统计操作:voidcount(intx),实现最高工资,最低工资等的统计;(7)退出;三、详细设计(1)类模块classmessage{private:charbornplace[10];charduty[10];intID;public:charname[10];charbumen[10];intbasesalary;intjiangjin;message(){}//********************构造函数voidxinxi(chara_name[],chara_bornplace[],chara_duty[],chara_bumen[],inta_ID,inta_basesalary,inta_jiangjin){strcpy(name,a_name);strcpy(bornplace,a_bornplace);strcpy(duty,a_duty);strcpy(bumen,a_bumen);ID=a_ID;basesalary=a_basesalary;4jiangjin=a_jiangjin;}message&operator=(constmessage&s)//**********************运算符重载{strcpy(name,s.name);strcpy(bornplace,s.bornplace);strcpy(duty,s.duty);strcpy(bumen,s.bumen);ID=s.ID;basesalary=s.basesalary;jiangjin=s.jiangjin;return*this;}friendvoidmodify(intx);//************************友元函数friendintdel(intx);voidput()//定义put函数,以便于其他函数的调用{coutnamebornplacedutybumenIDbasesalaryjiangjinendl;}~message()//**************************析构{}};(2)主函数流程图5(3)录入、添加函数流程图(4)删除函数流程图开始intb,i输入i值i=1录入i=2添加i=3删除i=4修改i=5查找i=6统计i=7退出结束开始cout(请输入您要添加的信息)cout(姓名,职务,身份证号,籍贯,基本工资,奖金,)cin(name,,duty,ID,bornplace,basesalary,,jiangjin,)结束6(5)修改函数流程图开始inti,j,temp,flag=-1,charming输入删除的名字name=mingitemp,jtemp-1a[j]=b[i],i++,j++i++没有找到要删除的人endstartinti,j,charname输入mingb[i].name=ming输入修改的信息(名字,,职务,身份证号,籍贯,工资)cin(name,duty,ID,bornplace,basesalary,jiangjin)没找到要修改的end7(6)查找函数流程图(8)统计函数流程图四、调试分析1、开始使用文件保存时出现不能为read错误,后通过查阅资料解决了问题;2、删除部分程序开始不能判断是否找到了要删除的人员信息,后来加了flag标记后可以判断了;3、统计部分程序在求均方差的时候出现算法错误,后来查阅了均方差公式后改正了过来4、使用友员函数可以解决类外作用域问题。五、用户手册开始inti,j,k,num;charming,k=1输入要查询的名字b[i].name=mingb[j].put没有找到要查找的姓名结束81.本程序的运行环境为doc操作系统;2.进入界面后,按照提示输入选择;3.选择1:执行工资信息录入操作;4.选择2:执行工资信息添加操作;5.选择3:执行工资信息删除操作;6.选择4:执行工资信息修改操作;7.选择5:执行工资信息查询操作;8.选择6:执行工资信息统计操作;9.选择7:退出工资管理系统;10.输入后按回车键,即可输出信息,按提示输入即可。六、测试数据9七、附录#includeiostream.h#includestdlib.h10#includestdio.h#includestring.h#includemessage.hclassmessage{private:charbornplace[10],duty[10];//籍贯职务intID;//身份证号public:charname[10],bumen[10];//姓名部门intnumber;//工号intbasesalary;//基本工资intjobsalary;//岗位工资intyljj;//医疗基金intsj;//税金intjiangjin;//奖金message(){}//********************构造函数voidxinxi(chara_name[],chara_bornplace[],chara_duty[],chara_bumen[],inta_ID,inta_number,inta_basesalary,inta_jobsalary,inta_jiangjin,inta_yljj,inta_sj){strcpy(name,a_name);strcpy(bornplace,a_bornplace);strcpy(duty,a_duty);strcpy(bumen,a_bumen);ID=a_ID;number=a_number;basesalary=a_basesalary;jobsalary=a_jobsalary;jiangjin=a_jiangjin;yljj=a_yljj;sj=a_sj;}message&operator=(constmessage&s)//**********************运算符重载{strcpy(name,s.name);strcpy(bornplace,s.bornplace);strcpy(duty,s.duty);strcpy(bumen,s.bumen);ID=s.ID;number=s.number;basesalary=s.basesalary;jobsalary=s.jobsalary;jiangjin=s.jiangjin;yljj=s.yljj;11sj=s.sj;return*this;}friendvoidmodify(intx);//************************友元函数friendintdel(intx);voidput()//定义put函数,以便于其他函数的调用{coutnamebornplacedutybumenIDnumberbasesalaryjobsalaryjiangjinyljjsjendl;}~message()//**************************析构{}};voidmain(){inti,b;intor;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;cini;coutendl;while(i!=10){switch(i){default:cout你输入的有误,请重新输入。endl;break;case1:cout输入企业人员的人数:;//输入信息cinb;coutendl;writein(b);break;case2://添加add(b);12b++;break;case3://删除del(b);b--;break;case4://修改modify(b);break;case5://查询cout┌─────────────┐endl;cout│请输入您要选择的查询方式:│endl;cout│1.按姓名查找操作│endl;cout│2.按工号查找操作│endl;cout└─────────────┘endl;cinor;if(or==1)namfind(b);elseif(or==2)numfind(b);break;case6://统计intcc;cout┌─────────────┐endl;cout│请输入您要选择的查询方式:│endl;cout│1.按部门统计│endl;cout│2.按单位统计│endl;cout└─────────────┘endl;//cinor;:cincc;if(cc==1)bmcount(b);elseif(cc==2)dwcount();break;case7:exit(0);}cout********欢迎进入企业工资管理系统********endl;cout***********1.工资信
本文标题:C++企业工资管理系统课程设计
链接地址:https://www.777doc.com/doc-4948269 .html