C语言程序设计基础课程设计工资系统报告全新精选

上传人:夏** 文档编号:510108203 上传时间:2023-06-25 格式:DOCX 页数:57 大小:682.47KB
返回 下载 相关 举报
C语言程序设计基础课程设计工资系统报告全新精选_第1页
第1页 / 共57页
C语言程序设计基础课程设计工资系统报告全新精选_第2页
第2页 / 共57页
C语言程序设计基础课程设计工资系统报告全新精选_第3页
第3页 / 共57页
C语言程序设计基础课程设计工资系统报告全新精选_第4页
第4页 / 共57页
C语言程序设计基础课程设计工资系统报告全新精选_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《C语言程序设计基础课程设计工资系统报告全新精选》由会员分享,可在线阅读,更多相关《C语言程序设计基础课程设计工资系统报告全新精选(57页珍藏版)》请在金锄头文库上搜索。

1、目录一、需求分析2二、概要设计2三、详细设计4四、调试分析4五、用户手册5六、测试数据6七、程序代码14A需求分析1 .第一步,依据身份进行登录,管理员和职工所能进行的操作不同,具备较高安全性,同时用户可根据需要修改自己的密码,管理员还可添加和删除用户,首次使用时不存在用户,管理员可进行注册,注册成功后再进入使用。2 .多职工信息进行操作时,建立动态链表,每个节点包含一个职员的工号、姓名、工资等全部信息,通过链表构建一个完整的职工信息库,链表具备录入、删除、修改、查询及统计功能,各功能显示在菜单中,由主函数分别调用。3 .为了避免一个函数体过长,进行细化子函数,小型子函数在各个主调函数里多次调

2、用,便于使用。4 .以可读可写可追加方式新建一个文本文件,用于存储链表里所有节点上包含的信息,将节点信息导入文件时,从头指针开始,依次写入。5 .查询、修改、删除、职工信息时,调用子函数以只读方式打开系统库文件,并将文件从头至尾读取一遍,每次读取一个节点的长度,将每次读取到的信息依次导入到链表的节点中去,再对链表进行所需功能的操作。修改和删除完成后,将整个链表包含的信息重新写入文件,写入之前打开系统库文件同时进行格式化。6 .统计职工最高、最低工资及工资均方差时,以同时方式将职工工资等信息导入到链表中,然后以子菜单的形式输出统计的项目,包括各部门和全公司以及最高、最低工资和工资均方差。统计各部

3、门最高、最低工资和工资均方差时需再调用子函数分别进行操作。统计全公司最高、最低工资和工资均方差时采用多分支结构进行。7 .通过屏幕操作等函数对界面进行处理,相对美观。菜单及所有操作提示信息均采用中文输出,每一步操作后会有相应的提示。如文件不存在或为空时,会提示“文件打开失败!”或“文件是空的!”或输入有误时提示重新输入。二、概要设计1 .函数设计main();主函数控制整个程序流程,先登录再进行子函数调用menu1();管理员菜单函数menu2();职工菜单函数,可操作范围比管理员小createlianbiao();创建链表函数,用链表构建整个信息库input();录入函数,将链表存进文件re

4、adwenjian(structemployee_gz*head);读取文件内容至U指定链表search(structemployee_gz*head,charxinxi);查询员工工资信息shuchuxinxi(structemployee_gz*head,charxinxi);输出查询至U的员工信息xiugai(structemployee_gz*head,charinfor);修改链表信息送至U主修改里去modify(structemployee_gz*head);修改文件里员工工资信息Delete(structemployee_gz*head);删除文件里某员工信息shanchujd(

5、structemployee_gz*head,charinfo);删除节点信息zhuceyh();注册账号tianjiayh();添加账户信息deleteyh();删除用户信息choose(structemployee_gz*head,charbumen);选择统计的项目count_zdgz(structemployee_gz*head,charbumen);用于某部门计算最低工资count_zggz(structemployee_gz*head,charbumen);用于某部门计算最高工资count_pjgz(structemployee_gz*head,charbumen);用于某部门计算

6、平均工资count_gzfc(structemployee_gz*head,charbumen);用于某部门计算工资方差count_gz(structemployee_gz*head,charbumen);浏览统计的各项工资指标tianjiayh();管理员可进行添加职工账户信息,用于职工登录系统查询信息2 .流程控制(1)主函数模块intmain()读取账户文件;do管理员登录;函数分支:1)录入记录:调用读取职工工资信息文件函数和创建链表函数后写入文件;2)删除记录:调用读取职工工资信息文件函数和修改链表函数后重新写入文件;3)查询记录:调用读取职工工资信息文件函数和输出所查节点信息函数;

7、4)修改记录:调用读取职工工资信息文件函数和修改节点信息函数后重新写入文件;5)统计记录:采用两层多分支结构,第一层分支结构进行部门选择,调用读取职工工资信息文件函数和统计最低、最高、平均工资和工资方差函数,统计全公司工资时直接查找和计算;6)重新登录:返回主函数;7)添加登录账户:调用添加账户函数;8)修改账户密码:调用修改密码函数;9)删除登录账户:调用删除账户函数;0)退出系统:exit(0);职工登录;函数分支:1)查询个人记录:调用输出符合搜索条件的节点信息函数;2)浏览公司记录:调用统计工资函数;3)重新登录:返回主函数;4)修改登录密码:调用修改密码函数;0)退出系统:exit(

8、0);while(退出系统:exit(0)三、详细设计1 .基本数据类型字符串型;(2)长整数型;2 .程序设计步骤说明及注释(1)函数介绍及调用关系见概要设计。(2)注释见附录(源代码中以标出注释)。四、调试分析1 .开始创建了链表之后,将整个链表中的信息写入文件时,写入方式不对,向文件里写入数据块内容时,数据以二进制方式存储,新建文件和打开文件的方式必须加上b,并用循环控制,从头结点开始,每次写入一个节点,数据长度为1,而不是其他的数字。2 .修改和删除后文件里的数据出现错乱,再次查询时出现乱码,原因还是操作后的写入方式不对,需要以“wb”方式将原文件清空再将整个链表中的信息写入。3 .进

9、行工资信息统计时,输出结果有错误,加入员工数的输出后发现输出的员工数比录入的多,且其工资为0的情况,进行查询函数检验时发现会输出多余的空信息(无职工名、无工号、工资为零等)或者重复输出,原因应该是存入文件时存在问题,因此在输出查询信息及统计时加入了限制条件将空节点或者多余的信息筛选掉。4 .统计分为各部门和全公司,如果只用一个子函数实现所有统计功能则比较繁琐、函数体太大,因此需再使用子函数分别对各项目进行统计,那么进行不同部门的统计时调用子函数就比较困难。因此在这些统计最低工资、最高工资、平均工资、工资方差的函数中,需要定义一个部门变量,在条件语句里把部门信息通过参数传递在子函数中使用,从而通

10、过条件语句找到该部门信息并统计。5 .在删除和修改函数中,为了避免繁琐,同样调用子函数对链表进行操作,在进行修改方式和删除方式选择时,需要重新定义一个共同变量并传递给子函数,在判断语句里采用“或”语句对姓名和工号同时搜索。6 .在进行职工信息添加时,开始没有避免重复信息的输入,输入已有的职工工号时,应提示“已有该职工信息!”,因此要对原文件的内容进行便利检索,同时要对正在建立的链表进行检索,因为无法将原文件内容与正在建立的链表连接起来,只能通过对两个链表进行两次检索,将正在建立的链表以追加的方式写到已经建立好的文件中(添加到元数据后面)。7 .进行菜单内的操作提示输入有误时,再按任意键会直接退

11、到主菜单,再要进行该操作需重新选择菜单,耗费时间,使用循环语句控制,提示“输入有误时!”再次提示输入,将新输入的数据重新赋给变量,知道输入信息正确时,包括部门及职务的合法性检验。8 .将职工的基金、税金、应发工资等信息修改后,输出查询的各项结果除以修改的其他的不变,那么就不符合要求,因为应发工资等于基本工资与岗位工资、奖金之和,实发工资等于应发工资减去基金和税金,因此修改这些信息时,需要重新计算,保证各项信息正确。9 .上一界面或者上一语句操作完成后需跳转下一语句,有时会出现两层信息重叠在一起,甚至错误,原因是没有消除上一层内容,因此需要在很多地方加入清屏操作或是删除上一行的操作,进行删除上面

12、多行时,要从所需删的最下面一行开始删除,依次向上。10 .职工登录后,把其工号(用户名)作为参数传递给子函数,查询其个人信息时,按此工号对文件里的内容(先将文件内容读到链表里)进行检索后输出。11 .开始没有修改登录密码的操作,不便于用户使用,增加修改密码函数后,管理员和职工可以各自修改自己的密码,保证用户安全。后来还同时添加了删除登录账户函数,便于管理员管理。12 .考虑到首次使用时,没有任何账户信息,也没有存储用户的文件,而导致运行故障。因此首次运行时,增加语句完成管理员用户的注册,注册成功后管理员再进行相关操作。五、用户手册1 .本程序的运行环境为windowsxp或windows7(3

13、2位)的操作系统,执行文件为GONGZI-1.EXE。2 .打开运行程序后,按照提示进行登录操作身份分为管理员和职工,依据自己的身份对应用户名及密码登录,身份不符将不能登录,需重新输入。管理员首次运行应先录入信息,并添加对应的职工登录账户信息。3 .职工登录后菜单与管理员不同,职工只能查询自己信息和浏览公司及各部门最高、最低工资以及平均工资和工资方差信息,并可选择重新登录。4 .管理员进行管理时,可添加、删除登录账户,管理员和职工用户可根据喜好修改自己的登录密码。5 .完成所需操作后可选择重新登录或退出程序。六、测试数据1.文件中包含的所有数据互c“d改itieFrpiit*小臬而tzmHQU

14、l”,ESS?J,M:1301工号:1392工号:1押3工号:1那4工号:13打4:1306工号:1307工g:13M工百;138T工号:131:1311_-5:1312二号:向a工号:13i4I=1315T4:13U工事UT4iiaie工号:1319T-:132fi姓名;Uhifj名:renting件名Trnnglvta姓名:*njning姓名JzMnwei洋名:lianqqi姓名:vonlians程官:llinachengf冲3niectian*含:jhnutan姓名:sunlu(i姓名改口国h娘dng姓名:Mtnng姓名:fAnsftong姓gisonsfyu姓苫:rudong旌名工川J

15、0姓名:i娃名皿u姓名:chunir4虹基本丁资信息吗?T李择细交直一1部门,ruftJlanxue押an部n:ruanjjanxueyuan:FiiAvtjTAnivirpyvjiin=ruanj:ruanjianxueyvanzxuegiengchu:Ku.egincliiU;xuegiengchu:xuegongchu廿xu史Vnf/aliii工不2b,工gmi*pwhicbuiew3b-ich4i:ieblchhlcmf-renshichAi一:手和力殳hichu53外埼咨贺费有资工工工工工工工工工工工工工工工工工工工工甘管tt1片g.廿环磐杳.-4C发发一女安雪安安X宾室安天天军X实实实实安昊:3399;3iei:3836:4523川4213336:3117r5#22;4?78:352ilSflfl6399:4S12页2 .注册账户亘C:EWCiriEHZPIUserSiiODeEil.I* a十

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

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号