收藏 分销(赏)

C语言课程设计工资管理系统.doc

上传人:精**** 文档编号:9713355 上传时间:2025-04-04 格式:DOC 页数:58 大小:7.46MB
下载 相关 举报
C语言课程设计工资管理系统.doc_第1页
第1页 / 共58页
C语言课程设计工资管理系统.doc_第2页
第2页 / 共58页
点击查看更多>>
资源描述
C语言课程设计工资管理系统 东北大学信息科学与工程学院 程序实践报告 题目 工资管理系统 课题组长 刘诚阳 课题组成员 张鹏举 于文鑫 专业名称 计算机科学与技术 班 级 计算机1405 指导教师 张晓红 2015 年 4月 目录 1.课题概述 - 3 - 1.1课题任务:工资管理系统 - 3 - 1.2课题原理 - 3 - 1.3 课题实践目的 - 3 - 1.4 相关知识 - 4 - 2.需求分析 - 4 - 2.1课题调研 - 4 - 2.2用户需求分析 - 5 - 3.方案设计 - 5 - 3.1总体功能设计 - 5 - 3.2数据结构设计 - 6 - 3.3函数原型设计 - 7 - 3.4主算法设计 - 12 - 3.5用户界面设计 - 13 - 3.6程序特色设计 - 13 - 4.方案实践 - 14 - 4.1开发环境与工具 - 14 - 4.2程序设计关键技术 - 14 - 4.3个人设计实现 - 14 - 4.3.1刘诚阳设计实现 - 14 - 4.3.2张鹏举设计实现 - 22 - 4.3.3于文鑫设计实现 25 5.测试与调试 27 5.1个人测试 27 5.1.1刘诚阳测试 27 5.1.2张鹏举测试 37 5.1.3于文鑫测试 42 5.2组装与系统测试 46 5.3系统运行 49 6. 课题总结 50 6.1课题评价 50 6.2团队协作 50 6.3个人设计小结 51 6.3.1刘诚阳设计小结 51 6.3.2张鹏举设计小结 52 6.3.3于文鑫设计小结 52 6.4参考资料 53 7.附录A和附录B 54 附录A 课题任务分工 54 1 课题程序设计分工 54 2 课题报告分工 55 附录B 课题设计文档 56 57 / 58 1.课题概述 1.1课题任务:工资管理系统 1) 以结构体/共用体设计数据的结构,采用动态链表、文件存储方式,结构化、模块化程序设计方法,设计一个功能完善的系统 ,要有功能菜单。 2) 本系统应具有数据维护(包括数据录入、添加、修改、删除),数据查询(可按 编号、姓名、基本工资、岗位工资、绩效工资 、房改补助、奖励、应发工资、公积金、扣税、实发工资等进行查询,也可进行组合查询),排序,统计,输出,系统维护(包括数据备份、数据恢复、口令维护),帮助,退出等功能。 3) 本系统要有通用性、界面美观、操作方便。要考虑系统安全。 4) 可增加其他有用的功能。 1.2课题原理 1) 利用结构体的数据结构,采用动态链表,实现对数据的即时增删。 2) 使用文件存储方式,对数据进行有效的存取。 3) 采用结构化、模块化的设计方式,每个文件仅包含一个或一类函数,实现模块化的设计开发模式。 4) 使用C语言的顺序、选择、循环三种基本语句,实现函数所需功能。 5) 运用函数定义、声明和调用等基本知识,实现数值、地址的传递,进行数据计算。 6) 运用C语言独特的指针功能,对数据地址进行处理,实现相应操作。 1.3 课题实践目的 1) 通过程序实践,强化计算机应用技能,验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养创新精神和实践能力。 2) 进一步掌握C的数据类型、基本结构、结构体、文件、链表、结构化、模块化设计等知识点。 3) 进一步熟悉基本流程控制结构——实现分支的…语句、语句和实现循环的、…、…语句、、等。 4) 掌握C语言程序设计的基本思想,了解简单的系统分析和了解数据库系统的理论。 5) 掌握数据库设计的基本方法,熟悉数据库设计的步骤。 6) 进一步巩固、加深所学专业课程《C语言程序设计》的基本理论知识,理论联系实际,进一步培养综合分析问题,解决问题的能力。 7) 利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 1.4 相关知识 1) C语言的数据类型、基本结构知识。 2) 基本流程控制结构——实现分支的…语句、语句和实现循环的、…、…语句、、等。 3) 数据结构的设计。 4) 系统分析和数据库系统的理论及设计知识。 5) 结构体的建立和基本操作。 6) 动态链表的建立与基本操作。 7) 文件操作——对数据进行输入和输出 8) 多文件的项目管理应用。 9) 开发程序所用的结构化、模块化设计等知识点。 2.需求分析 2.1课题调研 随着企业的快速发展,企业规模越来越大,员工的数量也越来越多,企业工资管理更加的复杂。 工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力。 通过计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理。 同时计算机具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资管理的效率,也是企业科学化、正规化管理,与世界接轨的重要条件。 这就对企业工资管理提出了新的要求,用计算机管理系统来管理工资已经成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。 工资管理系统便是以计算机为工具,通过对工资管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化,智能化,也提高了透明度和互动性。 专门的管理人员可以轻松地通过工资管理系统对员工的工资进行录入,查看与修改;而且公司高层也可以通过管理员身份了解公司的薪资情况,从而作出一些列财务方面的重要决策;普通员工也可以通过自己的用户名和密码登陆工资管理系统,对自己每个月的工资情况进行查询,一目了然,方便快捷。 因此,工资管理系统是各个企业部门必不可少的工具,具有很好市场前景与用户需求。 2.2用户需求分析 1) 功能需求: 登陆功能,显示主菜单功能,职工信息输入、输出、修改、删除功能,职工工资查询、排序、统计功能,系统备份、还原功能,数据初始化功能,帮助,退出等。 2) 性能需求: 此工资管理系统对工资数据精度的录入、计算、统计和储存能精确到小数点后一位小数。当用户向服务器发出命令请求(对数据更新处理、工资数据的查询检索)时,要求系统响应时间不会超过1秒。 3) 安全需求: 为保障系统数据的安全性,系统采用用户密码登陆机制,未授权者不能进入系统。而且登录人员分为管理员和员工,安全性能通过安全口令得以保证。由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。 4) 其他需求: 系统提供了完善的数据备份与恢复功能,不会出现系统崩溃,因此具有较强健壮性。该系统是在 7操作系统下运行,运行可行性是很高的。 5) 约束条件: 硬件环境:处理器() Ⅲ以上;内存容量()256M或更高。软件环境:7/82000/98操作系统。 3.方案设计 3.1总体功能设计 该职工工资管理系统总共分为四大功能和辅助功。 à 四大功能: 1.工资查询功能:工资排序、查找、统计 2数据处理功能:工资添加、修改、删除、输出到文本文件 3.系统维护功能:数据备份、恢复、清空,修改参数,修改口令 4.员工编号登记功能. à 辅助功能: 1.帮助 2.重选年月 3.切换用户 4.安全退出 职工工资管理系统 双入口登陆功能 年月选择功能 职工工资信息输入 职工工资信息输出 职工工资信息添加 计算 职工工资信息修改 职工工资信息删除 生成职工工资文本 工资信息排序 工资信息查询 工资计算 工资信息统计 数据恢复 数据备份 修改参数 数据清空 修改口令 帮助 重选年月 退出 3.2数据结构设计 分别定义了两个结构体,一个对员工工资信息进行储存,另外一个对员工编号进行登记(只有经过管理员登记过的员工才能登陆该系统)。并使用动态链表的方式对数据进行储存和查找,员工的各类信息会被以二进制的形式写入文件内进行保存,系统从文件中以二进制形式读入数据。结构体如下: { [20]; 编号 [20]; 姓名 [10]性别 年龄 岗位工资 ; 基本工资 绩效工资 住房补贴 奖金 应发工资 社会保险公积金 税金 ; 实发工资 *; }; { [20]员工登记编号 *; }; 3.3函数原型设计 A A.1 链表的建立,数据输入、输出、显示、添加、修改、删除函数 1) *( n) 建立员工工资信息的链表,先通过传递的形式参数n来判断需要建立多少组数据,再通过键盘输入生成相应数量的动态链表数据 2) *( n) 建立员工登记编号的链表 3) () 向*函数传递数值的函数,即需要录入几组数据 4) *() 读取员工工资信息的函数,从文件中读取信息并以动态链表方式保存到结构体中 5) *() 读取员工登记编号的函数 6) ( *) 输出员工工资数据到文件 7) ( *) 输出员工编号到文件 8) () 生成员工信息的文本文件 9) () 将链表中员工的工资信息输出到屏幕上 10) () 将链表中员工的登记编号输出到屏幕上 11) ( *) 员工数据添加函数,使用方式:((())),先确定添加数据的组数,然后通过动态链表添加数据到结构体,最后通过该函数将数据加到文件尾部,实现数据添加。 12) ( *) 员工编号添加函数,使用方式同上,用于管理员向系统中登记员工编号,只有登记过的员工才可以登陆该系统 13) () 修改员工信息函数 14) () 删除员工工资信息的函数 15) () 删除员工登记编号的函数 A.2 数据备份、清空、恢复 1) *() 清空该年月份所有员工工资信息数据的函数 2) ( *) 员工工资信息备份,输出信息到自定名称的文件 3) *() 系统还原函数,将备份文件中的信息拷贝到以当前年月命名的文件中,从而还原上一次备份的数据 A.3 统计函数 1) () 员工工资统计函数,统计数据中所有员工工资的最小值和最大值,并计算平均数,输出到屏幕 A.4 辅助函数 1) () 主函数 2) () 退出函数,显示感谢使用该系统,并正确结束运行 3) () 管理员登陆时用来选择年月份的函数,系统中员工各个年月份的工资分别保存在以该年月命名的不同文件下,以该函数判断系统需要打开哪个文件。 4) () 员工登陆时用来选择年月份的函数,功能同上,是两个不同的登陆口 5) ( a) 岗位工资获取函数,岗位级别作为参数传递到该函数,该函数返回对应的岗位工资金额 6) () 返回主菜单的函数 A.5 各类菜单函数 1) () 修改参数菜单 2) () 帮助菜单,提供帮助信息、设计人员信息和版本信息 3) () 管理员的主菜单,内含工资查询,数据处理,系统维护,编号登记,帮助,重选年月,切换用户,退出等功能选项 4) () 员工的主菜单 5) 2() 工资查询菜单,内含员工工资查找,工资排序,工资统计等功能选项 6) 3() 员工工资数据处理菜单,内含数据添加,修改,删除,输出等功能选项 7) 4() 系统维护菜单,内含数据备份,清空,恢复,修改参数、口令等功能选项 8) () 输出数据时显示在最上面的表头 9) () 修改在册员工编号的分菜单 10) () 员工工资查找分菜单 11) () 排序菜单,内含从小到大、从大到小排序的功能选项 12) () 排序分菜单——从小到大,内含各类排序种类 13) () 排序分菜单——从大到小,内含各类排序种类 B B.1 登陆判断函数 1) () 用户登录函数,通过输入的用户名检测该用户是管理员或者员工还是未登记用户,从而进行不同的登录方式 B.2 修改参数、密码类函数 1) () 密码修改函数,用于修改管理员密码 2) () 密码修改函数,用于修改员工密码 3) () 用于修改初始参数中的岗位工资参数,将1-5个岗位级别分别对应不同的岗位工资 4) () 从文件中读取住房补贴参数 5) () 用于修改初始参数中的住房补贴参数,得到一个固定的住房补贴金额,数据保存到文件 B.3 计算税金的函数 1) ( a) 计算税金的函数,将工资做参数传递进去,返回应缴税金金额 C C.1查询类函数 1) () 查询员工信息函数,以年龄查询 2) () 查询员工信息函数,以基本工资查询 3) () 查询员工信息函数,以奖金查询 4) () 查询员工信息函数,以应得工资查询 5) () 查询员工信息函数,以绩效工资查询 6) () 查询员工信息函数,以姓名查询 7) () 查询员工信息函数,以编号查询 8) () 查询员工信息函数,以岗位工资查询 9) () 查询员工信息函数,以实发工资查询 10) () 查询员工信息函数,以税金查询 11) () 查询员工信息函数,编号、姓名、性别组合查询 C.2 排序类函数 1) () 数据整理,将员工信息按编号从小到大排列 2) () 数据整理,将登记的员工编号从小到大排列 3) () 编号排序,升序 4) () 年龄排序,升序 5) () 基本工资排序,升序 6) () 奖金排序,升序 7) () 应得工资排序,升序 8) () 绩效工资排序,升序 9) () 岗位工资排序,升序 10) () 实发工资排序,升序 11) () 税金排序,升序 12) () 年龄排序,降序 13) () 基本工资排序,降序 14) () 奖金排序,降序 15) () 应得工资排序,降序 16) () 绩效工资排序,降序 17) () 编号排序,降序 18) () 岗位工资排序,降序 19) () 实发工资排序,降序 20) () 税金排序,降序 3.4主算法设计 用户登录 1 开始 年月选择 5 4 3 2 修改密码 员工界面 结束 帮助 管理员界面 1 2 3 4 5 6 7 输出工资信息 1 2 3 4 工资排序 工资查找 工资统计 1 2 3 4 8 工资添加 工资整理 工资修改 5 6 工资删除 生成文本 1 2 3 4 数据备份 数据恢复 数据清空 5 6 修改参数 修改口令 1 2 3 4 编号添加 编号整理 编号删除 3.5用户界面设计 1) 两个操作界面。根据登陆人员不同,分为管理员的操作界面和员工的查询界面,使界面显示项更加专门化和清晰化。 2) 采用选择式的功能菜单。屏幕上显示功能菜单的功能项,根据菜单上提供的数字按相应的键去执行相应的子程序,执行后返回功能菜单。 3) 用户界面采取相同的样式进行设计,主界面上会显示当前操作的是哪个年月的员工工资,菜单的选择功能利用函数实现。 4) 通过函数输出各种装饰符号,自带函数调节背景色和字体颜色,以达到优化操作界面的目的。 3.6程序特色设计 1) 多入口登陆。分成管理员登陆和员工登陆两个入口:管理员登陆之后可以查看全体员工的工资信息,并对其进行增添删改、排序、备份清空、输出打印等处理;员工登陆之后只能看到自己的个人信息和工资情况。极大地保证了管理层和员工层不同的需求,以及个人信息的安全性。 2) 以文件形式输入和输出。程序中所有的数据在每次变动后都会通过输出函数以二进制形式输出到文件内,而且每次调用数据时都是从文件中输入,从而保证了系统数据的可靠性,不易丢失性。 3) 自动计算功能。输入员工工资信息时不用输入全部信息,例如,输入员工的岗位级别,即可获得员工在该岗位应得的工资数,员工的应得工资、实发工资以及应该缴纳的社会保险、公积金和税金都是通过函数直接计算,无需手动输入。 4) 基本参数的设置。管理员可以修改岗位级别所对应的岗位工资金额,从而实现了程序的灵活性,满足公司岗位薪资调整的需求。 5) 员工注册功能。只有管理员可以对员工进行注册登记,只有经过登记的员工才可以使用自己的员工编号登陆该系统,从而防止了外部人员对公司财务情况的获取。各员工的初始登陆密码与编号相同,登陆后可以自行修改密码,从而保证了个人信息的安全性。 6) 严密的非法输入检测和纠错功能。程序中任何一个地方都考虑了非法输入,以保证程序不会崩溃或跳出。例如,登陆时如果输入错误用户名会得到不存在用户名的提示,并要求重新输入;在菜单选择时,如果输入的不是数字编号,而是字母或字母与数字的组合,系统仍会提示输入错误,请重新输入,不会出现崩溃或跳出;当在屏幕中输出数据时,如果保存数据的文件丢失、不存在,系统会提示错误,文件不存在;在程序中没有任何数据的情况下选择排序、修改、删除数据的功能,会提示“没有数据,无法进行操作!”,不会出现程序崩溃。 7) 工资按月份存取功能。考虑到该系统应该可以储存员工每个月的工资信息,因此建立多个以年月份命名的文件,用来储存不同月份的员工工资,用户只需要在登陆后输入相应的年月就可以获取到该年月下的工资信息。 4.方案实践 4.1开发环境与工具 7 6.0 4.2程序设计关键技术 1) 建立动态链表,通过结构体对员工信息进行管理,包括员工信息的输入、输出、添加、修改、删除和统计等功能 2) 以文件形式输入和输出员工信息 3) 建立管理员和员工两个登陆通道,实现员工工资查询和管理员对员工工资管理的分级机制 4) 将数据储存在不同月份文件下,实现工资按月录入与查询 5) 员工基本信息和工资录入后,可以调用函数自动计算岗位工资,应得工资,应缴纳税金,应交保险和公积金,和实发工资 6) 查找和排序算法,用来对数据进行查找和排序 7) 税金计算算法,通过工资计算出应缴纳的税金金额 8) 统计算法,计算各组数据的最大值、最小值和平均数据 9) 登录系统,区别不同账号,并且对用户密码进行验证 4.3个人设计实现 4.3.1刘诚阳设计实现 a) ((( ) ) ) 开始 N Y < i? 计算岗位工资(a),税金(m),应发、实发工资 指针指到表头 指向下一个节点 输入添加数据个数i 输入职工信息 调用( ) 显示信息 ( )函数输出 结束 b) () 开始 N Y (())? 指向下一个节点 提示无数据! 结束 输出信息到屏幕 c) ( ) 开始 N Y 无数据? 向文件写入数据 指向下一个节点 提示存储失败! 打开文件读取当前年月,关闭 结束 打开以年月命名的文件,写入 链表不为空? N Y d) ( ) 开始 N Y 存在? 指针指到表头 结束 打开文件读取当前年月,关闭 打开以年月命名的文件 指针未到末尾? Y 内容不为空? Y 读取数据 返回表头指针,关闭文件 N N e) () 开始 N Y ? 21-> 1 (2)1 提示无数据! 1( ) 结束 1( ) 2? N Y 输入删除编号 (1->)0? Y 指针后移 1? (2->)0? N Y 1->2-> ()1 N N Y 提示查询不到! f) () 开始 N Y ? 计算岗位工资(a),税金(m),应发、实发工资 提示无数据! ( )0 结束 ( ) 1? N Y 输入修改编号 (>)0? ? Y 无相同编号修改数据! N Y 输入员工信息 ( )1 N > g) ()开始 N Y ? 1 提示无数据! ( ) 00 结束 >? N Y ? Y N 输出,, >> >< > N N > > Y Y h) ( a) 开始 N Y 1? () ,读取数据到数组, 结束 2? 3? 4? 5? N N N N Y Y Y Y () () () () 4.3.2张鹏举设计实现 a) () 开始 输入用户名并判断是否为管理员 是 进入管理员操作系统 否 读出文件并且将它存入数组中,并关闭文件 输入密码并存入数组中 判断密码是否与数组中是否一致 是 否 是 进入函数和 进入员工操作系统 定义链表指针并指向数组的第一个数据 判断数据是否与数组中数据相等 否 不存在该员工编号 输入密码并与是否相等 是 是 否 对不起密码错误 b) ( ) 开始 读取文件 输入原始密码 将文件中的密码读取出来并且存入数组x中 进入循环 调用函数,并且将数组x与比较是否相等 是 否 请重新输入密码 输入新密码并且存入数组a中 再次输入新密码并且存入数组b中 调用函数比较数组a与b是否相等 否 是 重新读取文件,并且将数组a中的密码存入中 输出密码修改成功 结束 c) ( ) 开始 N Y <=0? 3500 结束 0 0<≤1500? 1500<≤4500? 4500<≤9000? 9000<≤35000? 35000<≤55000? 55000<≤80000? N N N N N N Y *0.03 Y *0.1-105 Y *0.2-555 Y *0.25-1005 Y *0.3-2755 Y *0.35-5505 *0.45-13505*0.35-5505 4.3.3于文鑫设计实现 a) ( ) 开始 数组内容有? 输入编号 有相同编号? N Y Y 没有查询到数据 N 输出工资信息 没有数据,无法进行查询,请先出入员工工资信息 返回() 结束 b) () 开始 N Y ? > >> () 结束 循环,,指针下指,!? N Y <0? Y N ? Y ? Y > N ? () ( ) N > N Y > 5.测试与调试 5.1个人测试 5.1.1刘诚阳测试 1) 主界面 管理人员界面: 员工界面: 2) 非法输入检测 3) 显示函数,输出员工工资信息到屏幕 4) 员工工资信息统计 5) 员工工资信息添加 添加前: 函数通过岗位级别自动给出相应岗位工资,并计算应发工资,社保&公积金,税金和实发工资,自动输出保存到文件。添加后: 6) 员工工资信息修改 修改前: 修改后: 7) 员工工资信息删除 删除前: 删除后: 8) 输出员工工资信息到文本文件 输出前: 输出后: 9) 数据备份、清空与恢复 对数据进行备份: 以二进制形式备份成功: 系统中数据清空前: 清空数据: 清空后: 通过之前备份的文件对系统中数据进行恢复: 恢复成功: 5.1.2张鹏举测试 1) 登陆测试 输入不存在编号,会提示,并返回登陆界面: 输入错误密码,提示密码输入错误和剩余尝试次数: 连续输错密码三次,程序结束运行: 输入正确密码,成功登陆,进入年月选择界面: 2) 岗位级别与对应岗位工资修改 3) 住房补贴参数修改 4) 用户密码修改 首先验证原始密码,密码错误系统会一直提示“原始密码输入错误,请重新输入”。原始密码正确后,请输入新密码,如两次新密码输入不一致,则会提示重新输入第二次密码,一致后,密码修改成功。 修改密码之后再登陆: 使用新密码登陆成功! 5.1.3于文鑫测试 1) 员工工资信息排序——从高到低——按编号 排序之前: 选择工资信息排序,并选择从高到低排序: 选择按编号排序: 排序之后: 2) 员工工资信息排序——从高到低——按奖金 3) 员工工资信息查询 按员工编号查询: 按奖金查询: 组合模糊查询——关键字查询: 5.2组装与系统测试 由于之前并没有进行过模块化的程序设计,所以刚开始将各个文件链接时出现了很多问题。最严重的问题就是在一个文件中没有对所调用的另一个文件中的函数进行声明,出现了找不到该函数的定义,程序各个模块无法连接的问题。经过查阅课本和资料,建立了一些头文件,并在预处理中包含这些头文件,解决了这一问题。 另外一些小的问题也是层出不断,例如函数名称由于疏忽,增加或丢掉了个别字母,导致前后函数名不一致,调用时候出现错误,或者出现重复定义的问题。经过细心仔细地检查,解决了这些小的毛病,最终还算顺利地实现了各个模块的拼接,程序最终在7平台上成功运行。 系统测试记录 操作名称 操作流程 操作结果和输出 登录系统 打开登录页面: 1.输入正确用户名和正确密码,登陆; 2.输入正确用户名和错误密码,登陆; 3.输入错误用户名。 1.成功登陆,从登录系统到系统信息显示完成,花费2秒时间,基本满足了系统显示要求; 2.提示密码输入错误,请重新输入,三次输入错误后退出系统; 3.提示不存在用户名,请重新输入。 月份选择 进入选择界面,输入年份,回车,月份,回车 进入操作主界面,并在上方显示当前年月 全部用户信息输出 无需操作,在相应选择下自动输出到屏幕 用列表的方式显示出了所有的用户记录,用时小于1秒,符合要求。 查询工资信息 1.选择查询方式,例如选择按编号查询,则输入编号,回车即可; 2.输入不存在编号; 3.系统中无数据时选择该功能。 1.用列表的方式显示出了所有符合的用户记录,用时小于1秒,符合要求; 2.提示查询不到信息; 3.提示系统中无数据,无法使用该功能。 工资信息排序 1.选择排序方式,例如选择按降序、编号排序,则选择降序、按编号即可; 2.系统中无数据时选择该功能。 1.用列表的方式显示出了排序后的所有用户记录,用时小于1秒,符合要求; 2.提示系统中无数据,无法使用该功能。 工资信息统计 1.选择该功能; 2.无数据时选择该功能。 1.从岗位工资、基本工资、绩效工资、奖金、应发工资、税金、实发工资等几个方面显示现有数据的最小值、最大值和平均值。 2.提示系统中无数据,无法使用该功能。 数据添加 输入需要添加信息的员工个数,然后按步骤输入员工编号、姓名、性别、年龄、岗位级别、基本工资和绩效工资 提示数据添加成功,并将数据写入文件。 数据整理 1.选择该功能; 2.无数据时选择该功能。 1.对数据按编号从小到大排列并输出到屏幕; 2.提示系统中无数据,无法使用该功能。 数据修改 1.选择需要修改的员工编号,按步骤输入员工编号、姓名、性别、年龄、岗位级别、基本工资和绩效工资; 2.无数据时选择该功能。 1.将该员工编号的员工信息修改后输出到屏幕,并保存到文件,时间小于1秒,基本满足要求; 2.提示系统中无数据,无法使用该功能。 数据删除 1.输入需要删除的员工编号;2.输入不存在员工编号;3.系统中无数据时选择该操作。 1.删除该员工编号的员工信息,并存储,在屏幕上显示操作后的全部员工信息; 2.提示系统中没有需要删除的数据; 3.提示系统中无数据,无法使用该功能。 输出数据到文本文件 1.选择该功能; 2.无数据时选择该功能。 1.生成一个文本文件,里面有所有员工的工资信息; 2. 提示系统中无数据,无法使用该功能。 数据备份 选择该功能 将当前数据存储到一个二进制文件中 数据清空 选择该功能 系统中所有数据被清空。 数据还原 选择该功能 将备份的信息输出到屏幕,并存储到当前文件。 修改岗位工资参数 按步骤输入岗位工资 将岗位级别对应的岗位工资存储到文件 修改住房补贴参数 输入新的住房补贴金额 将住房补贴金额存储到文件 修改管理员或个人密码 1.输入旧密码,输入新密码,再次输入新密码; 2.输入错误的旧密码; 3.输入旧密码,输入新密码,再次输入不同新密码。 1.提示密码修改成功,并存储到文件; 2.提示密码错误,请重新输入; 3.提示两次输入密码不同,请重新输入。 员工编号添加 输入编号进行添加 编号添加成功,以列表形式显示,并存储在文件中。 员工编号整理 1.选择该功能; 2.系统中没有数据时,选择该功能。 1.将员工编号从小到大排列,并储存; 2.提示系统中无数据,无法使用该功能。 员工编号删除 1.选择该功能,输入员工编号,回车; 2.输入不存在员工编号; 3.系统中没有数据时,选择该功能。 1.删除该员工编号的记录,并存储,在屏幕上显示操作后的全部员工编号; 2.提示系统中没有需要删除的数据; 3.提示系统中无数据,无法使用该功能。 重选年月 选择该功能 返回选择年月份的界面,用时小于1秒。 切换用户 选择该功能 返回用户登录界面,用时小于1秒。 帮助 选择该功能 输出系统功能介绍、制作人名单和产品信息。 个人信息输出 无需操作,在相应选择下自动输出到屏幕 输出个人的全部信息到屏幕。 5.3系统运行 系统可以在平台上平稳运行,各项功能都达到了预期效果,界面简洁,操作便捷。运行过程中不会出现出错崩溃的情况。 对于一些需要完善的功能,我们在运行程序,并进行检测后,又再一次对相应功能进行了完善与增强,并对系统的界面进行了精心的布局,调整了各个提示语句的输出位置,使之达到最好的用户体验效果。 6. 课题总结 6.1课题评价 工资管理系统对于公司的管理者和员工来说,都至关重要,所以工资管理系统应该能够给使用者提供充足的信息和简单快速的查询方法。 使用计算机对工资信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工资管理的效率,也是科学化、正规化管理的重要条件。 本课题就是为了满足这种需求,实现公司员工工资的计算机化管理。 该工资管理系统经过我们整个设计开发团队的不懈努力,强有力地实现了课题的基本要求和所有目标,并增设了很多切实有用的创意和功能,全方面体现了我们团队的设计思想,完全达到了预期的效果。 首先,该工资管理系统具有全面细致的功能选项,可以满足用户各方面信息的管理与查询,而且分为两个入口,可以满足公司不同层级的人员需求,面向群体广泛。 其次,该工资管理系统具有良好的健壮性和安全性,运行稳定,数据不易丢失,密码登陆,安全可靠。而且系统代码的每个函数中都嵌入了非法输入和非法操作检测机制,确保系统不会在运行中跳出或者崩溃。 最后,该工资管理系统具有良好的界面,简单清新,使用方便,操作快捷。 总体来说,经过三周的设计与实践,最终我们团队圆满地完成了本次工资管理系统的设计任务,达到了在实践中巩固并真正运用自己所学知识的目的。本次课题设计顺利实现。 6.2团队协作 我们团队在组团完成后,即刻就课题题目的选择问题进行了深刻的讨论,经由组长建议和组员的一致同意,我们最终选定了“职工工资管理系统”这个设计课题。 选定课题之后,第二天,我们组便进行了整体框架和具体功能的讨论与研究。组长提出了该系统应该具有的功能并做记录,与组员们进行讨论,综合建议和信息,制定了总体的设计框架和系统具备的功能。 回去后,组长查阅了与员工工资相关的资料,并绘制了所设计系统的功能图,以及在网上参考了别人设计的同类型的工资管理系统,并且将这些资料一并发给了组员,大家课余时间自行研究,最后再汇总交流经验与想法。 隔日,大家一起进行了详细的分工明确,确定了我们的设计最终要实现什么样的功能,并进一步细致化,分类成一个个的函数,将函数的设计分配给每一个人。刘诚阳作为组长,负责整个程序的走向,函数设计包括界面的设计,与动态链表相关的一切数据设计,文件输入输出的设计,以及对链表中数据求最小值、最大值和平局数的函数设计等等;张鹏举作为重要组员,负责的函数设计包括用户的登录系统,修改密码和基本参数,计算税金并返回数值;于文鑫作为重要组员,主要负责对数据进行查找和排序的设计。任务分工完成后,大家都回去查找相关资料,潜心研究,独立完成各自的设计任务。 每人都进行了自己所承担任务的研究,设计了相关的算法,绘制了实现目标函数的流程图,经过组内商讨与研究,修改纠正,最终确立了较为完善的总体程序设计样板。 每次上机课的时候,我们都会在一起讨论研究,进一步明确设计所要实现的具体目标,解决代码编写过程中的编写错误或者是当时设计时出现的纰漏。 经过组内人员的共同努力,最后我们顺利地完成了此次程序设计任务,设计开发出了令人满意的职工工资管理系统。更为珍贵的是,通过团队合作,我们学会了团队开发模式,注重交流,分享经验,从彼此身上学到了很多,也为自己能在团队中贡献一份力量感到由衷的开心。 6.3个人设计小结 6.3.1刘诚阳设计小结 在开发工资管理系统的三周时光中,我深刻地体会到了自学能力的重要性。着手程序的总体设计时,我发现课堂上学习的知识还远远不够,很多东西都需要自己临时查阅并学以致用。而且第一次进行实验设计,整个设计过程并不清楚,因此很多不懂的地方都是靠自己的不断尝试与摸索,凭借老师和同学的帮助,才最终完成了这个实验设计。 在该工资管理系统中,我作为组长,首要任务是组织好组员,确立工资管理系统的大体框架和主要功能,建立需要的主要函数,并进行明确的分工。我所主要负责的是工资管理系统的界面设计和用动态链表对数据进行处理的所有函数的设计以及数据输入、输出的设计。 由于我们还没有学数据结构,所以使用动态链表对于我来
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服