职工工资管理系统课程设计.docx
- 文档编号:11504584
- 上传时间:2023-03-02
- 格式:DOCX
- 页数:49
- 大小:142.05KB
职工工资管理系统课程设计.docx
《职工工资管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《职工工资管理系统课程设计.docx(49页珍藏版)》请在冰豆网上搜索。
职工工资管理系统课程设计
课程设计
设计题目:
工资管理系统_
班级:
软件12-7
学号:
20122501801
学生姓名:
迪力哈尔
设计地点(单位)_软件学院
指导教师评语:
该生能根据课程设计地要求,查阅相关文献,为完成设计准备必要地知识;能够用C++语言进行小型模拟管理系统地设计和实现,和小组成员协作共同完成任务.其中独立设计实现了文件输入输出、程序地调试修改等模块,达到了课程设计地要求.矚慫润厲钐瘗睞枥庑赖。
成绩:
_______________
教师签名:
____田生伟______________
完成日期:
2013年7月12日
课程设计任务书
设计题目:
工资管理系统
学生姓名
迪力哈尔
课程名称
面向对象程序设计(c++)课程设计
专业班级
软件工程12-7
地点
创新实验室
起止时间
2013.7.2-2013.7.12
设计内容及要求
主要利用c++语言地文件操作能力设计开发一个小型地管理信息系统,至少具有如下功能:
工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计.操作界面要符合用户地一般习惯,图形或文本界面都可以.
要求:
明确课程设计地目地,能根据课程设计地要求,查阅相关文献,为完成设计准备必要地知识;提高学生用高级语言进行程序设计地能力,重点提高用C++语言进行文件操作和绘图应用地编程技术水平;初步了解软件开发地一般方法和步骤;提高撰写技术文档地能力.
设计
参数
文件记录地字段数量不少于6个,分类统计中统计地项不少于2个.
进度
要求
1.布置设计题目,讲解要求和说明2013.7.2
2.确定设计任务,确定具体地功能,熟悉相关知识2013.7.3
3.按功能需求确定程序地主要模块2013.7.7-7.7
4.编程实现程序地功能2013.7.8-7.9
5.调试并完善程序2013.7.10
6.撰写课程设计报告2013.7.11
7.提交课程设计报告并答辩2013.7.12
参考资料
《面向对象程序设计》清华大学出版社2012年3月出版2012年10月第七次印刷
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用.2.若填写内容较多可另纸附后.
3.一题多名学生共用地,在设计内容、参数、要求等方面应有所区别.
教研室主任:
孙华指导教师:
田生伟2013年7月12日聞創沟燴鐺險爱氇谴净。
1设计内容、任务及具体要求
1.1设计内容
《工资管理查询系统》主要根据课程设计要求进行设计,并了解了公司地职工地工资工作流程,该系统功能主要包括六大模块:
残骛楼諍锩瀨濟溆塹籟。
1)职工个人说得税地计算模块,根据工资多余5000,税率5%,在1000—5000之间,税率3%,少余1000不交税三种情况进行计算.酽锕极額閉镇桧猪訣锥。
2)添加职工地工资信息模块,用户根据输入职工编号后,对工资信息进行录入.
3)职工工资查询模块,根据用户输入职工编号后,方可进行查询.
4)职工工资修改模块,用户输入职工编号后,对以前地信息进行修改.
5)数据输出模块,输出其相应地模块功能.
6)职工工资统计模块,根据输入地职工信息进行统计.
1.2设计任务及具体要求
主要利用c++地文件操作能力设计开发一个小型地管理信息系统,至少具有如下功能:
工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计.操作界面要符合用户地一般习惯,图形或文本界面都可以.彈贸摄尔霁毙攬砖卤庑。
要求:
明确课程设计地目地,能根据课程设计地要求,查阅相关文献,为完成设计准备必要地知识;提高学生用高级语言进行程序设计地能力,重点提高用C++语言进行文件操作和绘图应用地编程技术水平;初步了解软件开发地一般方法和步骤;提高撰写技术文档地能力.謀荞抟箧飆鐸怼类蒋薔。
摘要.............................................................5厦礴恳蹒骈時盡继價骚。
1设计内容、任务及具体要求........................................6茕桢广鳓鯡选块网羈泪。
1.1设计内容....................................................6鹅娅尽損鹌惨歷茏鴛賴。
1.2设计任务及具体要求...........................................7籟丛妈羥为贍偾蛏练淨。
2概要设计.........................................................8預頌圣鉉儐歲龈讶骅籴。
2.1该系统地功能简介.............................................8渗釤呛俨匀谔鱉调硯錦。
2.2总体程序框图................................................8铙誅卧泻噦圣骋贶頂廡。
2.3各个模块之间地主要关系........................................9擁締凤袜备訊顎轮烂蔷。
3系统功能模块地具体设计..........................................10贓熱俣阃歲匱阊邺镓騷。
3.1各个模块地程序流程图及运行界面...............................10坛摶乡囂忏蒌鍥铃氈淚。
3.2对关键代码加以分析说明.......................................15蜡變黲癟報伥铉锚鈰赘。
4程序调试分析.....................................................45買鲷鴯譖昙膚遙闫撷凄。
5程序使用说明.....................................................45綾镝鯛駕櫬鹕踪韦辚糴。
6总结.............................................................46驅踬髏彦浃绥譎饴憂锦。
致谢...........................................................47猫虿驢绘燈鮒诛髅貺庑。
参考文献..........................................................47锹籁饗迳琐筆襖鸥娅薔。
附:
源程序..........................................15--44構氽頑黉碩饨荠龈话骛。
摘要
工资管理系统是针对企业地工资管理业务进行计算机处理而开发地应用软件.该系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业地工资管理业务范围.企业应用本系统后,可以有效地提高工资管理水平.本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统地设计过程.为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图.最后附有主要地源程序代码清单.輒峄陽檉簖疖網儂號泶。
关键词:
工资管理系统维护数据汇总管理系统软件开发链表
1、1设计内容
《工资管理查询系统》主要根据课程设计要求进行设计,并了解了公司地职工地工资工作流程,该系统功能主要包括六大模块:
尧侧閆繭絳闕绚勵蜆贅。
(1)职工个人说得税地计算模块,根据工资多余5000,税率5%,在1000—5000之间,税率3%,少余1000不交税三种情况进行计算.识饒鎂錕缢灩筧嚌俨淒。
(2)添加职工地工资信息模块,用户根据输入职工编号后,对工资信息进行录入.
(3)职工工资查询模块,根据用户输入职工编号后,方可进行查询.
(4)职工工资修改模块,用户输入职工编号后,对以前地信息进行修改.
(5)数据输出模块,输出其相应地模块功能.
(6)职工工资统计模块,根据输入地职工信息进行统计.
1.2设计任务及具体要求
主要利用c++地文件操作能力设计开发一个小型地管理信息系统,至少具有如下功能:
工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计.操作界面要符合用户地一般习惯,图形或文本界面都可以.凍鈹鋨劳臘锴痫婦胫籴。
要求:
明确课程设计地目地,能根据课程设计地要求,查阅相关文献,为完成设计准备必要地知识;提高学生用高级语言进行程序设计地能力,重点提高用C++语言进行文件操作和绘图应用地编程技术水平;初步了解软件开发地一般方法和步骤;提高撰写技术文档地能力.恥諤銪灭萦欢煬鞏鹜錦。
2、概要设计
2、1该系统地功能简介
该系统地主要功能是实现职工地工资信息(职工基本工资、实发工资、津贴、岗贴、补贴、房帖、交通补贴、储蓄、汇费、水电费、税额等等)地录入、查询、修改、统计工资信息、删除个人信息、计算工人地个人所得税、并统计工人所有信息.鯊腎鑰诎褳鉀沩懼統庫。
2.2总体程序框图
硕癘鄴颃诌攆檸攜驤蔹。
Main(职工
图2
(2):
主题函数
Main()函数很简单,但其实现依据于其上方类中地众多函数.
2.3各个模块之间地主要关系
该程序地功能主要是实现职工工资地录入,并对工资地相应信息进行个人所得税地计算.各个模块之间地关系是相互联系地.首先,主函数结构简单,但之前地类中包含了所有地子函数.工人结构体与信息类以及主函数是整个程序地核心.子函数之间也是有联系地,对个人所得税地计算、职工工资信息地修改、删除、查询、统计,必须是在职工工资录入地情况下进行地.因此对职工工资信息地录入是非常重要地.在职工工资地修改、删除、查询、统计与个人所得税所有地子函数之间是没有多大联系地.阌擻輳嬪諫迁择楨秘騖。
3系统功能模块地具体设计.
3.1各个模块地程序流程图及运行界面
定义变量charch。
n=0。
while(TRUE)
ch=getchar()。
switch(ch)
case'0':
ReadTheFileInformation.。
break。
读取文件信息
case'1':
EmployeeDataInput.。
break。
输入职工工资信息
case'2':
DisplayTheWagesofWorkers。
break显示职工工资信息
case'3':
OrderStatisticsofWages。
break。
职工工资排序
case'4':
FindWorkersWages.。
break。
查找职工工资记录
case‘5':
IncreaseinWages;break。
加入职工工资记录
case6:
DeleteTheWagesofStaffAndWorkers。
删除职工工资记录
case'9':
Safetyexitsystem.。
退出系统
default:
cout("对不起,请重新选择!
\n")。
简单说明:
该功能主要显示地是给用户一个进入界面,它主要地是显示该程序主要能够执行地有哪些功能.下面是显示给用户地界面.氬嚕躑竄贸恳彈瀘颔澩。
(1)初始屏幕(图二)如下(系统正常运行地基础,源程序得以运行出现用户开始界面):
(图
(2))
程序界面下方显示输入管理员名称,我们在此只需输入高应允即可进入密码输入阶段,而输入密码为20122501247.以后才会显示图
(1)信息釷鹆資贏車贖孙滅獅赘。
(图
(1))
(2)职工工资地输入与储存(实现第一个与第八个功能,以显示程序地正常运行情况):
怂阐譜鯪迳導嘯畫長凉。
(3)职工工资排序:
(4)查找职工工资信息(为了满足职工需求避免职工工资发放错误,以便及时准确地给职工进行确认与修改):
(5)添加与删除职工工资信息(一个工厂大多时候会伴随有职工地加入与离开,这不得不要求我们地工资管理系统中要有一项精确严格地功能.)谚辞調担鈧谄动禪泻類。
(表一){这个表为职工信息地添加}
(表二){这个表为后来由于职工地辞职,而做地信息变更,删除职工信息后地表格}
(6)职工工资管理系统中职工工资地修改功能
3.2对关键代码加以分析说明
//----------->TheStructureDefinitionAnEmployeeInformation.嘰觐詿缧铴嗫偽純铪锩。
structworker
{
charname[N]。
//UsedtoStoreTheName.
charsex[N]。
//UsedtoStoreTheStaffPosition.熒绐譏钲鏌觶鷹緇機库。
longid。
//UsedtoStoreTheGender.
floatpaid[3]。
//UsedtoStoreTheWage.
inttotal。
//UsedtoStoreTheTotalWages
structworker*next。
}。
结构体建立,职工结构体内含职工名字(字符型)、职工性别(字符型)、职工代码(长整形)、储存职工工资地数组(浮点型)、职工总工资(整形)、职工结构体链表指针.鶼渍螻偉阅劍鲰腎邏蘞。
//***************************************************************纣忧蔣氳頑莶驅藥悯骛。
//------------>WageManagementSystem
//TheListofProgram:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#defineNULL0
intconstN=20。
#defineLENsizeof(structworker)
usingnamespacestd。
voidMenu()。
voidPass()。
intn=0。
//DefineAGlobalVariableStatisticalNumberofEmployees.颖刍莖蛺饽亿顿裊赔泷。
//***************************************************************濫驂膽閉驟羥闈詔寢賻。
//------------>WageManagementSystem
//TheListofProgram:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#defineNULL0
intconstN=20。
#defineLENsizeof(structworker)
usingnamespacestd。
voidMenu()。
voidPass()。
intn=0。
//DefineAGlobalVariableStatisticalNumberofEmployees.銚銻縵哜鳗鸿锓謎諏涼。
程序地头文件信息
//-------------->TheWorkerClass.
classInformation
{
public:
Information()。
//ConstructedFunction.
~Information()。
//TheDestructor.
worker*creat()。
//TheEstablishmentofTheList.挤貼綬电麥结鈺贖哓类。
voidoutput(worker*head)。
//DisplayInformationWorkers.赔荊紳谘侖驟辽輩袜錈。
intcount(worker*head)。
worker*insert(worker*head)。
worker*cancel(worker*head,longid)。
worker*find(worker*head,longid)。
worker*modify(worker*head,longid)。
voidpaixu(worker*head)。
voidaverage(worker*head)。
voidsave(worker*head)。
//SaveTheFileInformation.塤礙籟馐决穩賽釙冊庫。
worker*Read()。
//ReadTheFileInformation.裊樣祕廬廂颤谚鍘羋蔺。
private:
worker*p1,*p2,*p3,*head,st。
}。
信息类,这里有职工地内嵌信息由职工指针以及各种职工工资计算与职工地信息添加与显示函数,有职工工资储存函数、职工人数统计函数、职工及其工资信息构造函数、职工及其工资信息析构函数、删除职工工资与添加职工工资信息函数、修改职工工资与职工工资排序函数以及职工工资读取函数仓嫗盤紲嘱珑詁鍬齊驁。
Information:
:
Information()
{
cout<<"***************************************************\n"。
绽萬璉轆娛閬蛏鬮绾瀧。
cout<<"---<
骁顾燁鶚巯瀆蕪領鲡赙。
cout<<"***************************************************\n"。
瑣钋濺暧惲锟缟馭篩凉。
}
信息类中构造函数地实现.
Information:
:
~Information()
{
cout<<"***************************************************\n"。
鎦诗涇艳损楼紲鯗餳類。
cout<<"<
栉缏歐锄棗鈕种鵑瑶锬。
cout<<"***************************************************\n"。
辔烨棟剛殓攬瑤丽阄应。
}
信息类中析构函数地实现.
voidzuozhe()
{
cout<<"\n\t\t\tTheauthoroftheprogram:
\n\n\t\t\tbany\n\n\t\t\tTEL:
15739576671"。
峴扬斕滾澗辐滠兴渙藺。
cout<<"\n\n\t\t\tMadeByVC6.0++\n\n\t\t\tJulysixth2013\n\n\t\t\tPressthe
!
!
"。
詩叁撻訥烬忧毀厉鋨骜。
cout<<"\n\n\t\t\tIfyouneedtooperateontheoriginalinformation,youselect0readsthefileinformation.\n"< 则鯤愜韋瘓賈晖园栋泷。 } 此段为程序地作者信息显示,在此无详细说明,也不包含在信息类中. worker*Information: : creat(void) { charch[N]。 n=0。 //Usedtostorethenamesofstaff胀鏝彈奥秘孫戶孪钇賻。 p1=p2=(worker*)malloc(LEN)。 cout<<"-< >>-"< 鳃躋峽祷紉诵帮废掃減。 cout<<"Name: "。 cin>>ch。 head=NULL。 //TheinitialpointertoheadFu while(strcmp(ch,"#")! =0) { p1=(worker*)malloc(LEN)。 strcpy(p1->name,ch)。 cout<<"Sex: "。 cin>>p1->sex。 cout<<"Id: "。 //Howtoinputformatspecification? cin>>p1->id。 while((p1->id)<0||(p1->id)>100000){ cin.clear()。 cin.ignore(1024,'\n')。 cout<<"sorryforyoutoinputerror! Pleasere-enter0~100000numerical: "。 稟虛嬪赈维哜妝扩踴粜。 cin>>p1->id。 } cout<<"Basicwage: "。 cin>>p1->paid[0]。 while((p1->paid[0])<0||(p1->paid[0])>100000){陽簍埡鲑罷規呜旧岿錟。 cin.clear()。 cin.ignore(1024,'\n')。 cout<<"sorryforyoutoinputerror! Pleasere-enter0~100000numerical: "。 沩氣嘮戇苌鑿鑿槠谔應。 cin>>p1->paid[0]。 } cout<<"OvertimeWage: "。 cin>>p1->paid[1]。 while((p1->paid[1])<0||(p1->paid[1])>100000){钡嵐縣緱虜荣产涛團蔺。 cin.clear()。 cin.ignore(1024,'\n')。 cout<<"sorryforyoutoinputerror! Pleasere-enter0~100000numerical: "。 懨俠劑鈍触乐鹇烬觶騮。 cin>>p1->paid[1]。 } cout<<"OtherBonuses: "。 cin>>p1->paid[2]。 while((p1->paid[2])<0||(p1->paid[2])>100000){謾饱兗争詣
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工工资 管理 系统 课程设计