工资管理系统课程设计报告894858802275.docx

上传人:you****now 文档编号:63482838 上传时间:2022-11-25 格式:DOCX 页数:46 大小:306.92KB
返回 下载 相关 举报
工资管理系统课程设计报告894858802275.docx_第1页
第1页 / 共46页
工资管理系统课程设计报告894858802275.docx_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《工资管理系统课程设计报告894858802275.docx》由会员分享,可在线阅读,更多相关《工资管理系统课程设计报告894858802275.docx(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2009920010学学年度第第一学期期#33学院#科科学学院院课程设计计报告册册课程设计计名称:工资管管理系统统专 业业:计算算机科学学与技术术班 级级:学 号号:姓 名名:指 导 老 师: 一、需需求分析析 题目目:工资资管理系系统总体体设计目目标:使使用者可可以利用用此系统统进行对对工资管管理的各各项运算算操作,如如根据用用户提供供的客户户工资自自动地进进行计算算实发工工资,查查找职工工信息数数据,删删除记录录,插入入记录,保保存记录录及按实实发工资资排序等等,最后后清晰完完整的工工资管理理结果显显现在屏屏幕中。大大大方便便使用者者对工资资管理的的统计操操作,这这样不仅仅可以提提高效率率

2、,而且且方便易易操作。二、总体设计1、概述 该系统采用了自上而下、层层紧扣的模块结构。对于最高模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。对低层模块,采用以变换为中心的设计策略。为了提高每个小模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。2、模块说明书A 工资管理系统总控模块的模块说明书模块名称称:工资资管理系系统总控控模块输输 入:主菜单单选择项项输 出出:整个个所有职职工的信信息处理理:1 按以以下格式式显示主主菜单和和提示使使用者选选择:工工资管理理

3、系统: 0读取取文件信信息1职工数数据输入入2显示职职工工资资3查找职职工工资资4增加加职工工工资55删除职职工工资资6修改改职工信信息 7 保保存信息息 8安全全退出系系统2 接接收主菜菜单选择择项 如果选选择项的的值为00,调用用读取文文件信息息子模块块。 如果选选择项的的值为11,调用用职工数数据输入入子模块块。 如果选选择项的的值为22,调用用显示职职工工资资子模块块。 如果选选择项的的值为33,调用用查找职职工工资资子模块块。 如如果选择择项的值值为4,调调用增加加职工工工资子模模块。 如果选选择项的的值为55,调用用删除职职工工资资子模块块。 如果选选择项的的值为66,调用用修改职

4、职工信息息子模块块。如果选择择项的值值为7,调用用保存信信息子模模块如果果选择项项的值为为8,安全退退出系统统 B 插入工工资记录录子模块块说明书书模块名名称:插插入工资资记录模模块输 入:根根据给定定员工的的编号,姓姓名,基基本工资资进行添添加输 出:该该员工的的工资信信息处理理:按以以下格式式显示子子菜单和和提示使使用者选选择:插插入员工工工资系系统 请按按提示输输入要插插入的员员工的编编号在第二二菜单中中输入员员工的号号码,姓姓名,基基本工资资 回车返返回主菜菜单 C保保存文件件子模块块说明书书模块名名称:保保存文件件子模块块输 入入:所需需保存的的员工的的姓名输输 出:保存成成功该员员

5、工资料料 处处理: 按以下下格式显显示子菜菜单和提提示使用用者选择择: 保保存文件件系统 请按按提示输输入要保保存的员员工资料料的员工工姓名(此此员工资资料之前前已经确确定插入入) 回车显显示保存存成功 回车车返回主主菜单 D计算算实发工工资子模模块说明明书模块块名称:计算实实发工资资子模块块输 入入:员工工的工资资扣款输输 出:员工的的应发工工资,税税金,实实发工资资 处处理: 按以下下格式显显示子菜菜单和提提示使用用者选择择: 计计算实发发工资系系统 首先,要要先插入入、保存存好员工工的工资资信息 按号号码排序序提示,输输入该员员工的扣扣款,回回车得到到员工的的应发工工资,税税金,实实发工

6、资资 依依次填入入其它员员工的扣扣款即得得到所有有员工的的应发工工资 计算完完后回车车返回主主菜单 E查找记记录子模模块说明明书模块块名称:查找员员工工资资记录子子模块输输 入:要查找找的员工工编号及及姓名输输 出:所要查查找的员员工的工工资信息息 处处理: 11按以以下格式式显示子子菜单和和提示使使用者选选择: 查找员员工工资资系统 输输入所要要查找的的员工工工资的编编号,回回车2显示示出所查查员工的的工资信信息,回回车返回回主菜单单显示示不出所所查员工工任何信信息,出出现查不不到的情情况,回回车返回回主菜单单 F删删除记录录子模块块说明书书模块名名称:删删除员工工工资记记录子模模块输 入:

7、根根据给定定员工的的号码进进行删除除输 出出:整个个员工的的所有工工资资料料 处处理: 按按以下格格式显示示子菜单单和提示示使用者者选择: 删除员员工工资资记录系系统 请请输入要要删除的的员工工工资的员员工号码码 回车车确定删删除 再再次回车车返回主主菜单 G按按实发工工资升序序排序子子模块说说明书模模块名称称:按实实发工资资升序排排序子模模块输 入:根根据给定定的学生生的实发发工资从从小到大大进行排排序输 出:已已经排好好序的员员工实发发工资的的序列 处理理: 按以以下格式式显示子子菜单和和提示使使用者选选择: 按按实发工工资升序序排序系系统 对对已经保保存过的的员工资资料,按按提示回回车

8、系系统自动动完成对对员工实实发工资资由小到到大的顺顺序进行行排序 回车返返回主菜菜单 三、详详细设计计1“工工资管理理系统总总控模块块”的详详细设计计 概概述 本本模块的的详细设设计依据据是:总总体设计计中的“AA.工资资管理系系统的总总控模块块说明书书”。 程程序流程程图如下下1699C语言课课程设计计2“计计算实发发工资子子模块”的的详细设设计 本模块块的详细细设计的的依据是是:总体体设计中中的“DD计算算实发工工资子模模块”的的模块说说明书。 程序流程图如下: 开始 定义义整型变变量x=0 显示示操作项项目让使使用者选择,输输入员工工号码如果存在在,输入入扣款, 不存在在 返回回得实发发

9、工资 返回回 33“查查找记录录子模块块”的详详细设计计 本模块块的详细细设计的的依据是是:总体体设计中中的“EE查找找记录子子模块”的的模块说说明书。 程序流程图如下: 开始定义整型型变量xx=1输入所要要查找的的员工工资资姓名 显示查查找结果果 显示不不存在 返回回 44“删删除记录录子模块块”的详详细设计计本模模块的详详细设计计的依据据是:总总体设计计中的“FF删除除记录子子模块”的的模块说说明书。程序流程图如下: 开始 定义义整型变变量x=2 输入要要删除的的员工工工资 的的员工号号码 存在在对象,回回车确定定 不存存在该对对象 删除 返回回 5“插插入工资资记录子子模块”的的详细设设

10、计 本本模块的的详细设设计的依依据是:总体设设计中的的“B. 插入入工资记记录子模模块”的的模块说说明书。 程序流程图如下: 开始 定义整整型变量量x=33 输入入要插入入的员工工的号码码 输输入员工工的号码码,姓名名,基本工工资 确定定,退出出保存 输入入错误 返返回 6“保存存文件子子模块”的的详细设设计 本模块块的详细细设计的的依据是是:总体体设计中中的“CC保存存文件子子模块”的的模块说说明书。 程序流程图如下: 开始 定义义整型变变量x=4 输入入所需保保存的员员工的姓姓名 保存员员工工 保保存不成成功 资资资料成成功 返回 77“按按实发工工资升序序排序子子模块”的的详细设设计 本

11、模模块的详详细设计计的依据据是:总总体设计计中的“GG按实实发工资资升序排排序子模模块”的的模块说说明书。 程序流程图如下: 开始 定定义整型型变量xx=5 根据据给定的的学生的的实发 工资资从小到到大进行行排序 回回车排序序成功四、 编码1说明 “工工资管理理系统总总控模块块” 的的功能由由mennu_sseleect函函数实现现,根据据“工资资管理系系统总控控模块” 的程序序流程图图编写mmenuu_seelecct函数数。 “计算算实发工工资子模模块” 的功能能由caalc函函数实现现,根据据“计算算实发工工资子模模块” 的程序序流程图图编写ccalcc函数。 “查找记录子模块” 的功能

12、由find根据“查找记录子模块” 的程序流程图编写search函数。 “删除记录子模块” 的功能由cancel根据“删除记录子模块” 的程序流程图编写delete函数。 “插入记录子模块” 的功能由insert函数实现,根据“插入记录子模块” 的程序流程图编写insert函数。 “保存记录子模块” 的功能由save函数实现,根据“插入记录子模块” 的程序流程图编写save函数。 “按实发工资升序排序子模块” 的功能由sort函数实现,根据“按实发工资升序排序子模块” 的程序流程图编写sort函数。2、 源程序代代码如下下:/*/-职职工工资资管理系系统/程序序清单:#inccludde #in

13、ccludde #inccludde #inccludde #inccludde #inccludde #inccludde#inccludde#inccludde#deffinee NUULL 0int connst N=220;#deffinee LEEN ssizeeof(strructt sttudeent)usinng nnameespaace stdd; voidd Meenu(); voidd Paass();int n=00; /定义义一个全全局变量量统计职职工人数数 /-定义义一个职职工信息息的结构构体struuct stuudennt chaar nnameeN; /用用来

14、存放放姓名chaar ssexN; /用来来存放性性别lonng iid; /用来存存放编号号flooat paiid33; /用来来存放工工资intt tootall; /用来来存放总总工资strructt sttudeent *neext;/-职工工类classs IInfoormaatioon pubblicc:Infformmatiion() ; /构造函函数. Innforrmattionn() ; /析析构函数数. stuudennt *creeat(); /建立立链表voiid ooutpput(stuudennt *heaad); /显显示职工工信息intt coountt(s

15、ttudeent *heead); /定义义函数ccounnt()统计职职工总数数stuudennt *inssertt(sttudeent*heaad); /指针函函数*iinseert()用来来添加职职工信息息.stuudennt *canncell(sttudeent *heead,lonng iid); /指针函函数*ccanccel()用来来删除职职工信息息.stuudennt *finnd(sstuddentt *hheadd,loong id); /指指针函数数*fiind()用来来查找职职工信息息.stuudennt *moddifyy(sttudeent *heead,lon

16、ng iid); /指针针函数*moddifee()用用来修改改职工的的信息.voiid ppaixxu(sstuddentt *hheadd); /定义ppaixxu()函数将将职工的的总额从从大到小小排列并并输出voiid aaverragee(sttudeent *heead); /定定义职工工工资平平均值的的函数voiid ssavee(sttudeent *heead); /保存存文件信信息stuudennt *Reaad(); /读取文文件信息息priivatte:stuudennt *p1,*p22,*pp3,*heaad,sst; ;Infoormaatioon:Infform

17、matiion() couut *n;couut -nn; couut作作者的信信息和提提示/*vooid zuoozhee()couutnntttt本程序序制作者者 :nnnttttliuuguaanghhuinnnttttTELL:155083378117711;couutnnnttttMMadee Byy VCC6.00+nnntttt20009年112月11日nnntttt按按键进进入登陆陆界面!;couutnnntttt如如果需要要对原来来的信息息进行操操作,则则先选择择0读取取文件信信息nnenddl;*/Infoormaatioon:Innforrmattionn() couut

18、 *n;couut -nn; couut建建立链表表信息studdentt *IInfoormaatioon:creeat(voiid) /定定义一个个指向sstruuct stuudennt的结结构体指指针函数数*crreatt()用用来录入入职工信信息. chaar cchNN;nn=0; /用来存存放职工工姓名 p1=p2=(sttudeent *)mmallloc(LENN);/调用用malllocc()函函数用来来开辟一一个新的的存储单单元 couut -eendll;couutcch;heaad=NNULLL; /给指针针heaad赋初初值whiile (sttrcmmp(cch,

19、#)!=00) /调调用字符符比较函函数sttrcmmp()用来判判断是否否继续输输入 p1=(sttudeent *)mmallloc(LENN); /调用用malllocc()函函数用来来开辟一一个新的的存储单单元strrcpyy(p11-nnamee,chh); /将循环环结构前前面输入入的姓名名复制到到结构体体名为pp1的数数组naame中中couutpp1-sexx;couutpp1-id;whiile(p11-iid)iid)10000000) /判判断输入入的编号号是否有有效(11000000个个)ciin.ccleaar() ;ciin.iignoore (10024,nn);

20、cooutp1-idd; couutpp1-paiid00;whiile(p11-ppaidd0)paaid0)10000000) /判断断输入的的分数是是否有效效(=0 =10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-paaid0; couutpp1-paiid11;whiile(p11-ppaidd1)paaid1)10000000) /判断断输入的的分数是是否有效效(=0 =10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-paaid1; couutpp

21、1-paiid22;whiile(p11-ppaidd2)paaid2)10000000) /判断断输入的的分数是是否有效效(=0 =10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-paaid2; p1-tootall=p11-ppaidd0+p11-ppaidd1+p11-ppaidd2; /计算算总额 if(n=0)hheadd=p11; /如果是是输入第第一组职职工信息息就将指指针p11赋给指指针heeadelsse pp2-nexxt=pp1; /否否则将pp1赋给给p2所所指结构构体的nnextt指针p2=p1; /

22、将指指针p11赋给指指针p22n+; /将职工工人数nn的值加加1couutcch; /将输输入的姓姓名存放放到字符符数组cch中p2-neext=NULLL; /将将p2所所指结构构体的nnextt指针重重新赋空空值retturnn (hheadd);/将输输入的第第一组职职工信息息返回/-定定义ouutpuut()函数将将职工的的信息从从头指针针所指内内容开始始输出voidd Innforrmattionn:ooutpput(stuudennt *heaad) sysstemm(ccls);if(heaad=NULLL) couut 这这是一个个空表,请先输输入职工工信息!n;elssec

23、ouut-n;couut *职工工工资信息息表*n;couut-n; couut|编编 号| |姓 名| |性别| |基本本工资| |加班班工资| |其他他奖金| |总额额|nn;couut-n; p1=heaad; /将头头指针赋赋给p docouutiddseetw(8)nnameessetww(122)seexssetww(122)paaid0ssetww(122)paaid1ssetww(122)paaid2ssetww(122)tootalleendll;couutneext; /将下一一组职工工信息的的nexxt指针针赋给ppwhiile(p1!=NUULL); /若指指针p非非空

24、则继继续,目目的是把把所有的的职工信信息都传传给指针针p然后后输出./-统统计职工工人数的的函数int Infformmatiion:coountt(sttrucct sstuddentt *hheadd) /定定义函数数couunt()统计计职工总总数if(heaad=NULLL)rretuurn(0); /若指指针heead为为空返回回值为00elsse rretuurn(1+ccounnt(hheadd-nnextt); /函数的的递归调调用/-添加加职工的的工资的的函数studdentt *IInfoormaatioon:inssertt( sstuddentt *hheadd) /插

25、入入新结点点定义一一个指向向strructt sttudeent的的结构体体指针函函数*iinseert()用来来添加职职工信息息.sysstemm(ccls);couuttt-nenndl;p1=(sttudeent *)mmallloc(LENN); /使pp1指向向插入的的新结点点couutpp1-id;whiile(p11-iid)iid)10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-idd; /将输入入的编号号存放到到p1所所指结构构体的数数组idd中 couutpp1-namme; /将输入入的姓名名存放到到结构

26、体体名为pp1的数数组naame中中couutpp1-sexx; couutpp1-paiid00;whiile(p11-ppaidd0)paaid0)10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-paaid0; /将输输入的基基本工资资存放到到p1所所指结构构体的数数组paaid中中couutpp1-paiid11;whiile(p11-ppaidd1)paaid1)10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-paaid1; /将输入入的加班班工资存存

27、放到pp1所指指结构体体的数组组paiid中couutpp1-paiid22;whiile(p11-ppaidd2)paaid2)10000000)ciin.ccleaar() ;ciin.iignoore (10024,nn);cooutp1-paaid2; /将将输入的的其他奖奖金存放放到p11所指结结构体的的数组ppaidd中 p1-tootall=p11-ppaidd0+p11-ppaidd1+p11-ppaidd2;/计算总总分 p2=heaad; /将头头指针赋赋给p22if(heaad=NULLL) /若没调调用次函函数以前前的头指指针heead为为空heaad=pp1;pp1-nexxt=NNULLL; /则则将p11赋给头头指针hheadd并将pp1所指指结构体体成员指指针neext赋赋空值elsse whiile(p11-iidpp2-id)&(p2-neext!=NUULL)p3=p2; /p33指向原原p2指指向的结结点p2=p2-neext; /pp2后移移一个结结点if(p1-iddid)if(heaad=p2)p1-neext=heaad;heaad=pp1; /插入入到第一一个结点点之前elsse p3-neext=p1;p1-neext=p2; /插入入到p33所指结结点之后后elssep2-neext=p1;p1-ne

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理手册

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com