南邮通达--简单的工资管理系统

合集下载

工资管理信息系统课程设计

工资管理信息系统课程设计

工资管理信息系统课程设计工资治理信息体系课程设计班级工商治理0801姓名×××学号08020501××设计日期:2011年5月25日目次1体系概述 (3)1.1体系查询拜望分析 (3)1.2体系设计的目标 (3)1.3体系需求 (3)1.4可行性研究 (4)1.4.1技巧上的可行性 (4)1.4.2经济上的可行性 (4)1.4.3治理上的可行性 (4)1.4.4社会可行性 (5)2体系分析部分 (5)2.1营业流程图 (5)2.2数据流程图 (6)2.3功能分析图 (7)2.4数据字典 (7)2.5数据加工处理的描述 (7)2.6治理信息体系流程假想图 (8)3体系设计部分 (8)3.1功能构造图设计 (9)3.2新体系信息处理流程设计(ER图) (9)3.3输出设计 (10)3.3.1工资表 (10)3.3.2扣款表 (10)3.3.3工资汇总表 (11)3.4储备文件格局设计 (11)3.5输入设计 (11)3.5.1数据库中的对象设计 (11)3.5.2表构造设计 (12)3.6代码设计(见源法度榜样) (13)3.7法度榜样设计说明书(体系赞助) (14)4体系实施部分 (14)4.1-4.5 ................................................................................................................. 错误!未定义书签。

1 封面 (14)2 工资表 (15)3 扣款表 (15)4 工资汇总表 (16)5 工资表源法度榜样 (16)6 扣款表源法度榜样 (17)7 工资汇总表源法度榜样 (17)8 关于 (18)5附录或参考材料: (18)6 心得领会 (18)治理信息体系课程设计心得 (18)1体系概述1.1体系查询拜望分析治理信息体系是为了适应现代化治理的须要,在治理科学、体系科学、信息科学和运算机科学等学科的差不多上形成的一门科学,它研究治理体系中信息处理和决定打算的全部过程,并商量运算机的实现方法。

工资管理系统使用说明书

工资管理系统使用说明书

第1章系统简介1.1 系统概述《工资管理系统》是吉林省明日科技有限公司最新推出的一套通用性、实用性极强的工资管理系统。

系统提供了基本的人员信息管理,同时对员工的基本工资、浮动工资和工资发放进行系统管理,同时配以查询功能,避免数据丢失系统还提供了数据备份及还原功能。

以便能真正适用于各类中小企业及事业型单位。

1.2 系统目标最大限度实现企业员工工资的自动化、系统化管理。

1.3 系统范围●电子、电器、医药、服装、建筑、物资、化工、商贸、超市、旅游、机械、建材、科技、通讯等各类企业公司●机关、事业单位、学校、研究所等事业型单位。

1.4 系统特点●界面设计美观友好●规范、完善的基础信息设置●信息查询灵活、方便、快捷●系统运行稳定,安全可靠第2章运行环境系统开发平台:Visual C++ 6.0运行平台:Windows xp/Windows 2000/Windows 2003分辨率:最佳效果800*600第3章系统登录双击工资管理系统图标,弹出如图1.1所示的登录界面。

图1.1 系统登录界面在“用户名”的文本框,输入用户名:mrkj,单击“密码”的文本框,输入密码:111,单击【确定】按钮进入系统主界面,如图1.2所示。

图1.2 工资管理系统主界面第4章基本工资管理基本工资管理菜单包括:员工录入和员工删除。

通过基本工资管理可以基本实现员工信息的添加及删除操作。

4.1 员工录入单击“基本工资管理”/“员工录入”选项,弹出如图1.3所示的界面。

员工录入模块主要录入员工信息。

图1.3 员工录入在“编号”、“姓名”的文本框中,输入员工的编号及姓名,单击“性别”及“学历”的下拉按钮选择性别及学历,最后单击【添加】按钮,即可添加员工信息。

4.2 员工删除单击“基本工资管理”/“员工删除”选项,弹出如图1.4所示的界面,该界面主要实现企业性质的信息设置。

图1.4 员工删除通过“选择编号”的下拉按钮选择要删除的员工编号,然后单击【删除】按钮即可删除相应的员工信息。

工资管理系统教学课件

工资管理系统教学课件
学习态度与习惯
我认为自己在学习过程中保持了积极的学习态度和良好的学习习惯 ,有利于今后的学习和工作。
下一步学习计划安排
深入学习
在掌握基础知识的前提下,我将进一步深入学习工资管理 系统的相关知识和技术,提高自己的专业水平。
实践操作
通过实践操作,我将熟练掌握工资管理系统的操作流程和 技巧,提高自己的实践能力。
教师评价与反馈
教师对学生的操作成果进行评价和反馈,包括操作的规范性、正确性、熟练程 度等方面,以便学生了解自己的优点和不足,并进行改进和提高。
06
总结与展望
本节课重点内容回顾
工资管理系统基本概念
01
了解了工资管理系统的定义、作用及其重要性。
工资管理系统操作流程
02
掌握了工资管理系统的基本操作流程,包括员工信息录入、工
问题解答与指导
教师针对学生在操作过程中遇到的问题进行解答和指导,帮助学生 理解和掌握相关操作技能和知识点。
难点重点讲解
教师根据学生的实际情况和需要,针对系统中的难点和重点问题进行 讲解和演示,帮助学生更好地理解和掌握相关知识和技能。
操作成果展示与评价
学生成果展示
学生展示自己的操作成果,包括已录入的工资数据、计算出的工资结果、生成 的工资条和报表等,以便教师和同学进行评价和反馈。
根据员工出勤情况和小时 工资率计算工资,公式为 :计时工资=出勤小时数 ×小时工资率。
计件工资核算
根据员工完成的产品数量 和计件单价计算工资,公 式为:计件工资=合格产 品数量×计件单价。
加班工资核算
根据国家法律法规和公司 规定计算加班工资,公式 为:加班工资=加班小时 数×加班工资率。
个人所得税计算
强调报表导出格式(如Excel、PDF 等)的多样性和导出后的打印、分 发等操作。

工资管理系统jsp课程设计

工资管理系统jsp课程设计

工资管理系统jsp课程设计一、课程目标知识目标:1. 掌握Java Server Pages(JSP)的基本语法和结构,理解JSP的运行原理。

2. 学会使用JSP与JavaBean相结合的方式实现工资管理系统的前端和后端功能。

3. 了解数据库连接和SQL语句在工资管理系统中的应用,能够实现数据的增删改查操作。

技能目标:1. 培养学生运用JSP技术进行网页设计的能力,提高解决问题的实践操作技能。

2. 培养学生独立设计和实现一个小型工资管理系统的能力,包括需求分析、功能设计、编码实现等。

3. 培养学生团队协作能力,提高项目管理和沟通协调技巧。

情感态度价值观目标:1. 培养学生对待编程的兴趣和热情,增强学习信息技术的自信心。

2. 培养学生具备良好的编程习惯,关注用户体验,提高对软件质量的追求。

3. 培养学生遵守职业道德,尊重知识产权,树立正确的价值观。

课程性质:本课程为实践性较强的课程设计,以项目为导向,旨在让学生在实际操作中掌握JSP技术,提高解决实际问题的能力。

学生特点:学生已具备一定的Java基础,了解基本的数据库知识,具有一定的编程能力和项目实践经验。

教学要求:结合学生特点和课程性质,教师应注重理论与实践相结合,引导学生主动参与,培养学生的动手能力和创新精神。

通过课程设计,使学生能够独立完成一个小型工资管理系统的设计与实现。

同时,注重过程评价,关注学生在课程学习中的具体表现,确保课程目标的达成。

二、教学内容1. JSP技术基础- JSP语法与结构- JSP内置对象及作用域- JSP页面跳转与重定向- JSP与JavaBean的交互2. 数据库连接与应用- JDBC技术简介- 数据库连接池技术- SQL语句编写与优化- 数据库操作(增删改查)3. 工资管理系统功能模块设计- 系统需求分析- 功能模块划分- 数据库表设计- 系统架构设计4. 工资管理系统功能实现- 用户登录与权限控制- 员工信息管理- 工资项目管理- 工资计算与发放5. 系统测试与优化- 功能测试- 性能测试- 用户体验优化- 系统安全优化教学内容安排和进度:第一周:JSP技术基础,了解工资管理系统需求第二周:数据库连接与应用,进行数据库表设计第三周:工资管理系统功能模块设计,编写各模块代码第四周:工资管理系统功能实现,进行系统测试与优化教材章节关联:本教学内容与教材中关于JSP技术、数据库应用和项目实践的相关章节紧密关联,涵盖了JSP基本知识、数据库操作和项目开发流程等内容。

工资管理系统操作流程

工资管理系统操作流程

工资管理系统操作流程系统路径:桌面一U8管理软件一►财务系统一►工资开始一U8管理软件一►财务系统—工资工资帐套初始:选择需要的启用日期:要大于等于帐套的启用日期第一次打开帐套会弹出工资帐套初始界面一选择工资类别个数(单个和多个的区别)一下一步 f 选择是否代扣个人所得税一下一步—选择是否扣零一下一步一选择人员编码长度和帐套启用日期一k完成注意:其中一些设置可以到“设置”菜单(或基础设置)—选项中重新设置帐套初始:单个工资类别:直接在基础设置中分别设置部门、人员类别、人员附加信息、工资项目、银行名称、人员档案1部门设置:基础设置 f部门设置f点击“增加” 按钮f 输入部门编号和部门名称等—点击“保存”注意:要严格遵循编码原则:例如:“* ** ”则表示一级编码为一位,二级编码为二位等同于科目编码的“ 1-2”,如果此帐套是和总帐连用的,则不需要输入部门,总帐的部门会自动传输。

删除部门:只需要选择要删除的部门点击“删除”按钮即可。

但是要先删除末级部门再删除上级部门并且要删除的部门没有用过2、人员类别设置:基础设置—人员类别设置一先输入类别再点击“增加”按钮注意:没有用过的人员类别直接选中删除即可,已经用过的不能删除3、人员附加信息设置:基础设置一人员附加信息设置一►点击“增加”按钮一H俞入或选择附加信息一k再点击“增加”按钮一输入或选择下一个人员附加信息注意:没有用过的人员附加信息直接选中删除即可,已经用过的不能删除人员信息的先后顺序可以选中要改变的附加信息点击“”和“"改变位置4、工资项目设置:基础设置一►工资项目设置点击“增加”按钮—输入或选择项目名称更改项目属性即可项目属性包括:类型、长度、小数、增减项类型:数字(参与加减和计算的数字,例如:基本工资等)字符(不参与加减和计算的注释例如:职称等)长度:根据项目需要自定长度小数:必须是数字的才有小数位数,并且要按照需要设定增减项:增项(参与计算并且累加的项目,汇总到应发合计)减项(参与计算并且累加的项目,汇总到扣款合计)其他(参与计算但不累加的项目,例如:病假天数)公式设置:先在“工资项目”中点击“增加”按钮选择要编辑公式的工资项目―选择增加的工资项目一根据向导编辑公式一点击“公式确认”按钮基本工资公式设置:iff(人员类别="企业管理人员",700,iff(人员类别="车间管理人员",650,iff(人员类别="福利人员",400,750)))5、银行名称设置:基础设置一银行名称设置一►先确定帐号长度一点击“增加” 按钮一►输入银行名称一►返回即可(属于银行代发的)6、人员档案:基础设置一人员档案一输入基础信息和附加信息一确认注意:如果银行代发要注意帐号不能重复,人员编号不能重复。

工资管理系统操作手册

工资管理系统操作手册

工资管理系统操作手册1.用帐套主管“赵超”(编码:01)登陆《系统管理》,启用工资管理模块,启用时间为:2006-01-012.以帐套主管“赵超”(编码:01)登陆《用友通教学软件》进入工资管理。

参数设置:选择“多个”工资类别数,币别:人民币。

扣税设置:从工资中代扣个人所得税。

扣零设置:不进行扣零处理人员编码:人员编码长度:3;启用日期:2006-01-01,设置后单击完成3单击确定.建立第一个“工资类别”。

单击确定:利用工资类别向导建立第一个工资类别新建工资类别的名称为“合同工工资”单击下一步,选中采用“合同工工资”核算的部门:管理部门,财务部,采购部,销售部。

单击完成,确认2006-01-01为启用当前工资类别的时间。

4.为采用“合同工工资”类别的人员进行人员类别设置:增加---“理人员,普通员工”。

5. 为采用“合同工工资”类别设置工资项目。

在设置前必须先关闭工资类别。

然后单击“工资项目”结合参照录入相关工资项目。

工资项目按下表录入,并按表格调整顺序。

单击确定6.银行名称设置增加:银行名称:工商银行海淀分理处;账号定长为:11。

7.“合同工工资”设置职员档案。

设置职员档案前必须:先打开“合同工工资”的工资类别。

选中“合同工工资”确认打开该类别根据下表补充录入人员档案:8.新建第二个工资类别。

在创建前先关闭第一个工资类别“合同工工资”关闭后,点击“工资”—“工资类别”—“新建工资类别”新建第二个名为“临时工工资”单击下一步选中所有部门,单击完成,确认2006-01-01为“临时工工资”工资类别启用时间。

关闭工资类别。

选中“合同工工资”类别打开它。

9.设置工资项目及计算公式。

项目设置时应先按增加,在选中相应名称参照。

项目内容及顺序参照下页表格。

操作方法:点击增加,选中要编辑公式的项目。

录完奖励工资与基本工资后退出工资变动中的,提示是否重算,点否。

然后重新进入工资变动。

11.(1)录入考勤情况:王刚请假3天,(2)销售部人员的奖励工资每人增加400。

个人帐本管理系统-南邮

个人帐本管理系统-南邮

程序设计报告( 2012 / 2013 学年第一学期)题目:个人帐本管理系统专业学生姓名班级学号指导教师指导单位计算机学院计算机软件教学中心日期2012年12月19日个人帐本管理系统一、课题内容和要求该系统要求实现一个简单、实用的个人帐本管理程序,主要功能包括帐务收支明细数据的录入、查找、修改、删除、统计、排序等。

所有帐务数据都要利用文件系统保存,以备系统下次运行时使用。

通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。

(1)个人帐务数据由帐务明细条目构成,包括:序号,日期(年、月、日),收支项名称,收支类型(收入/支出),收支金额(正/负数表示收支),备注等。

(2)需要实现的功能1)新增帐务明细数据。

2)查找帐务数据(可按日期(年、月、日)、名称、金额等查找)。

3)修改帐务明细条目(先查找,再修改。

若查找出多个条目,则进一步提示用户选择条目的序号,再修改)。

4)删除帐务明细条目(先查找,再删除。

若查找出多个条目,则进一步提示用户选择条目的序号,再删除)。

5)对帐务数据排序(可按日期、名称、金额等排序。

要求排序后,记录的序号也要重新编排)。

6)显示当前所有帐务数据列表。

7)帐务统计(根据日期范围,可分别按年、月或日统计收、支、结余总金额,并显示)8)保存帐务数据到文件中、从文件中读入帐务数据。

(3)界面友好,输入信息符合逻辑。

二、需求分析个人帐薄管理系统具有良好的性能和实用的功能,其性能的良好表现为:输入性强、检索迅速、查询方便、可靠性高等,其实用的功能表现为:录入、查询、修改、删除、统计、排序各方面的功能。

个人帐薄管理系统可以让用户方便的输入个人账目;可提供包括所有数据、年、月、日、收支以及名称的查询;可通过查询选择修改和删除;同时提供了以年、月、日为标准的数据统计和以名称、金额、日期为标准的数据排序。

这些优点能够促进优化家庭及财政管理,促进财政管理的科技化和现代化。

工资管理系统操作

工资管理系统操作

工资管理系统一、工资管理系统的功能与特点1、工资的概念:工资是以货币形式支付给职工的劳动报酬,是单位对职工个人的一种负债。

2、工资核算系统的主要任务(功能)是:准确计算职工工资;对职工工资总额实行计划管理;按工资用途、部门进行汇总;按一定的分配原则进行费用的计提与分分配,同时登录有关的总账和明细账。

3、工资管理的特点:一是政策性强,要求严格;二是及时性、准确性要求高;三是工资计算复杂性强、数据量大. 二、工资核算的初始化工作:1、设置用户需要的各级核算单位.包括设置各级单位代码和单位名称。

2、设置职工名册.3、设置用户需要的工资项目。

4、设置用户需要的工资项目之间的数据运算关系。

5、定义工资转账关系。

6、录入工资原始数据。

三、工资核算系统日常业务处理1、录入工资变动数据;2、进行工资计算与汇总;3、计算所得税,进行所得税扣缴;4、进行工资分配与转账;5、输出有关账表,如工资汇总表、工资发放表、工资发放条等。

四、启用工资管理模块1、启动系统管理,以账套主管身份注册登录系统。

2、通过账套→启用菜单,启用工资管理模块。

3、在工资核算模块前点击鼠标左键,在弹出的对话框中输入启用日期并确定。

4、当弹出是否启用对话框时,直接确定5、启用工资管理后的效果6、授予相应操作员工资管理权限以账套主管身份登录系统管理,对“填制凭证"操作员授予“工资管理"的权限.五、工资管理初始设置1、设置部门档案。

以账套主管身份登录用友T3系统,通过基础设置→部门档案增加部门。

如果在总账系统中设置过部门档案,这一步可以不做了。

本例设置部门如下:2、设置工资类别首次点击“工资”菜单,系统会启动工资类别设置向导,选择“多个”进行多个工资类别设置.根据实际,确定是否扣税,本例选择扣税根据实际,确定是扣零,本例选择扣零,并确定扣零到元根据单位职工人数确定人员编码位数,本例设定为3位通过向导建立工资类别输入类别名称指定包括的部门本例设置了4个工资类别3、设置人员类别通过工资→设置→人员类别菜单设置人类别。

企业工资管理系统用户手册

企业工资管理系统用户手册

企业工资管理系统用户手册一、简介企业工资管理系统是一款专门为企业设计的工资管理软件,旨在帮助企业实现工资的自动化计算、记录和管理。

本用户手册旨在帮助用户快速了解和掌握该系统的基本操作方法。

二、系统登录1. 打开企业工资管理系统,进入登录界面。

2. 输入用户名和密码,点击登录按钮。

3. 如果忘记密码,可以点击“找回密码”链接进行密码重置操作。

三、主界面1. 在登录成功后,进入系统的主界面。

2. 主界面包括工资计算、员工管理、数据统计等功能模块的快捷入口。

3. 用户可以根据需要点击相应功能模块进行操作。

四、工资计算1. 在工资计算模块中,用户可以根据设定的工资计算规则进行工资计算。

2. 初次使用系统时,需要先进行工资计算规则的设置,包括基本工资、津贴、奖金、考勤扣款等。

3. 用户可以选择一个时间段,系统将根据该时间段的员工考勤数据和设定的工资计算规则进行工资计算。

4. 完成工资计算后,系统会自动生成工资明细报表,用户可以导出或打印该报表。

五、员工管理1. 在员工管理模块中,用户可以添加、编辑和删除员工信息。

2. 用户可以输入员工的基本信息,包括姓名、工号、职位等。

3. 用户还可以上传员工的照片和其他相关文件。

4. 员工管理模块还可以记录员工的考勤情况、请假记录等。

六、数据统计1. 在数据统计模块中,用户可以查看各种统计数据,如工资总额、平均工资、各部门工资分布等。

2. 用户可以选择一个时间段和部门,系统将根据选择的条件进行数据统计。

3. 数据统计模块还可以生成图表和报表,方便用户进行数据分析和决策。

七、系统设置1. 在系统设置模块中,用户可以进行一些系统参数的配置。

2. 用户可以设置登录密码、工资计算规则、员工权限等。

3. 系统设置模块还可以进行数据备份和恢复操作,确保数据的安全性。

八、常见问题解答以下是一些用户常见问题的解答,供用户参考:1. 忘记密码怎么办?用户可以点击登录界面的“找回密码”链接,按照操作提示进行密码重置。

工资管理系统

工资管理系统

60
2021/10/10
32
2021/10/10
33
2021/10/10
34
五、账表查询
【任务】 (1)在“正式人员”工资类别下,查询部门 工资汇总表。 (2)在“正式人员”工资类别下,查询全部 部门的工资项目构成分析表。
操作:【工资】→【统计分析】→【账表】→ 【我的账表】。
2021/10/10
银行代发
2021/10目/10 前社会上许多单位发放工资时都采用职工凭工 59
复习思考题
工资管理系统的基本功能有哪些? 哪些情况需要使用多工资类别进行核算管理? 如何进行代扣个人所得税的处理? 如何进行与工资相关的各项保险金的处理? 工资管理系统与其他系统的关系是怎样的?
2021/10/10
学会月末工资分摊设置及处理的操作
2021/10/10
2
内容概览
工作情景分析
任务1 :工资管理系统的启用
任务2:建立工资账套
任务3:基础信息设置
任务4:基础数据维护
任务5:日常工资管理
任务6:工资数据查询统计
任务7:月末处理
2021/10/10
3
6.1认识工资管理系统
1、工资管理系统的任务
2021/10/10
9
2021/10/10
10
2.扣税设置
代扣个人所得税
选择代扣个人所得税后,系统将自动生成工资 项目“代扣税”,并自动进行代扣税金的计算。
2021/10/10
11
3.扣零设置
扣零处理
扣零处理是指每次发放工资时零头扣下,积累取整, 于下次工资发放时补上,系统在计算工资时将依据 扣零类型进行扣零计算。
事假扣款=事假天数*50。 步骤:首先打开工资类别

南京邮电大学通达学院财务缴费平台使用

南京邮电大学通达学院财务缴费平台使用

南京邮电大学通达学院财务缴费平台使用指南第一步:登录系统建议使用IE浏览器打开学院财务处缴费平台(),进入支付平台登录页面。

系统登陆界面如图1-1所示。

(如验证码不显示请刷新页面)登录时,用户名为学号,密码已经全部重置为身份证号后6位,登录后可自行修改密码,修改密码遗忘的可点解重置密码,输入学号身份证号即可将密码重置为身份证后6位(有字母需大写)。

图1-1 系统登陆界面第二步:查看并确认缴费项目登录缴费平台系统后,进入如图1-2所示的待缴费用界面,确认左上角学生姓名无误后,查看“费用支付”功能菜单下的“费用项列表”中列出的学生需缴纳费用项。

在费用名称前面的复选框内勾选缴费项目,左下方会产生相应的“费用总额”,确认缴费信息无误后点击右下角的“支付”按钮后进入支付界面。

图1-2 待缴费用界面考虑到部分银行卡有单笔或单日支付金额上限,为方便缴费,可以在勾选“学费”项时,单击“学费”缴费项对应的“本次支付金额”(浅黄色底纹区域),输入本次缴款金额后回车,左下方会产生新的“费用总额”,如图1-3所示。

申请生源地助学贷款的学生,操作方式同上,若贷款金额为8000元,则学费缴款金额应减去8000元,只需交清剩余款项即可。

图1-3 修改本次支付金额操作界面第三步:支付费用点击“支付”按钮,进入支付界面如图1-4。

(目前仅支持支付宝、微信两种支付方式):图1-4 选择支付界面选择付款方式,点击下一步进行支付。

(图1-5为支付宝界面,左上角显示收款方为南京邮电大学通达学院)图1-5支付宝支付界面第四步:缴费记录查询全额缴费后,“费用支付”栏不再显示之前缴费的费用名称,部分缴费后,“费用支付”栏只显示剩余待缴费项。

“缴费历史查询”支持查询在本平台支付的历史缴费明细,如图1-6。

图1-6网上缴费记录查询界面第五步:退出系统点击页面右上角“退出”按钮注销登录。

温馨提示:1、交通银行通过银行卡托收学杂费期间,网上在线缴费功能会暂时关闭(缴费项会暂时消失)。

工资管理系统

工资管理系统
工资数据输入方式包括如下三种情况:所有工资数据输入、 筛选快速录入和设置公式录入。
11
工资费用分配
K3中提供了灵活的工资费用分配向导功能,并自动生成工资费用 分配转账凭证。在工资管理窗口中单击“工资费用分配”功能, 进入工资费用分配向导窗口。
12
7.4 工资管理系统的报表输出
工资管理系统输出的工资报表可以分为两大类。一类是各种工资报 表,另一类是各种工资统计分析表。除工资条、银行代发工资文件、 工资配款表外,其余的工资报表都可引出为自定义报表。
处理; 生成工资发放表、处理银行代发工资业务; 产生各种所需的工资报表并进行分析; 实现与相关系统的数据传递。工资管理系统应
在完成工资核算的账务处理后自动生成凭证, 并把有关转账凭证数据传递到账务系统中,实 现相关数据的自动传递。
5
工资管理系统的主要功能
工资核算管理系统
系统初始化 工资数据输入 费用分配
工资管理
1学Biblioteka 目标熟悉工资管理系统的目标、基本功能结构以及 基本操作流程
掌握工资管理系统初始化的工作内容 理解工资项目和工资计算公式的定义方法和要
求 灵活运用工资管理系统处理日常业务、查阅相
关报表输出
2
主要内容
7.1 工资管理系统概述 7.2 工资管理系统初始化 7.3 工资管理系统的日常处理 7.4工资管理系统的报表输出
工资管理系统输出的工资报表可以分为两大类。一类是各 种工资报表,另一类是各种工资统计分析表。除工资条、 银行代发工资文件、工资配款表外,其余的工资报表都可 引出为自定义报表。
14
报表输出
系统维护
参数设置 设置部门 职员信息 工资项目定义 工资计算方法定 义
工资项目过滤 数据输入 重算工资 数据引出

工资管理系统

工资管理系统

工资管理【系统介绍】u《工资管理》适用于各类企业、行政事业单位进行工资核算、工资发放、工资统计分析和个人所得税核算等。

u可以与人力资源管理集成使用,提供人事信息管理;也可以与成本管理系统集成使用,为成本管理系统提供人员的费用信息。

【主要功能】u初始设置l可设置人员附加信息、人员档案、工种、工序等基础档案。

l可自定义工资项目及计算公式。

l提供计件工资标准设置和工资方案设置。

u业务处理l工资数据变动:进行工资数据的变动、汇总处理,支持多套工资数据的汇总。

l扣缴所得税:提供个人所得税自动计算与申报功能。

l计件工资统计:支持计件工资核算模式,输入计件工资计件数量和计件工资率,自动计算人员计件工资。

u统计分析报表l提供自定义报表查询、统计汇总功能。

l提供自定义时间段查询功能l提供工资发放明细表、工资数据分析等【操作流程】【详细操作】【职员管理】添加档案信息1)点击相应菜单路径(如:【基础资料】菜单【职员管理】)功能项目,进入『职员』管理界面。

点击【职员】功能下拉菜单【增加】功能按钮,进入『职员』增加界面。

如图2)进入『职员』增加界面,点击与『属性』相对应的『设置值』输入栏,通过键盘上下键进行上下移动。

然后按键盘回车键后输入相应信息。

确认无误后点击【保存】按钮。

『照片』:如果需要加载照片,将光标移至照片栏,按下回车或是空格键,弹出打开窗口,选择所需图片。

应注意,本处的图像类型只支持gif、jpg、bmp等格式。

删除档案信息:点击【基础资料】菜单【职员管理】功能项目,进入『职员』管理界面。

点击选中将要删除的信息后。

点击【职员】功能下拉菜单【删除】功能按钮。

删除操作完成!修改档案信息:点击【基础资料】菜单【职员管理】功能项目,进入『职员』管理界面,双击将要修改的信息后。

进入编辑窗体并点击其窗体下方的【编辑】按钮进入编辑状态。

确认无误后点击【保存】按钮,修改操作完成!【工种管理】添加档案信息1)点击相应菜单路径(如:【生产管理】菜单【工种管理】)功能项目,进入『工种』管理界面。

第六章工资管理系统

第六章工资管理系统

计算工资发放 所需面额数
工资管理系统操作流程
安装工资管理系统 启动工资管理系统 部门设置 人员类别设置 人员附加信息设置 工资项目设置 银行名称设置 建立工资账套 基础设置 工资项目选择 工资类别设置 人员档案设置 计算公式设置 数据录入 参数设置 扣税设置 扣零设置 人员编码设置 初 始 化
工资 动 工资 银行 税 理 工资 日 常 处 理
工资管理系统
6.2.3 工资类别管理 工资类别是指一套工资账中,根据不同情况 而设置的工资数据管理类别。每个工资类别下有 职工档案、工资变动、工资数据、报税处理、银 行代发等等。
工资管理系统
6.2.4 设置计算公式 在基础设置中,工资项目设置是指本单位各种工 资类别所需要的全部工资项目。由于不同的工资 类别,工资发放项目不尽相同,计算公式亦不相 同,因此,在进入某个工资类别后,应选择本工资 类别所需的工资项目,并为此工资类别的工资项 目设置计算公式。 6.2.5 计件工资设置
工资管理系统
6.5.3 月末结账 月末处理是将当月数据经过处理后结转至下 月。每月工资数据处理完毕后均须进行月末结转。 6.5.4 反结账 当工资管理子系统结账后,发现还有一些业 务或其他事项需要在已结账月进行账务处理,此 时需要使用反结账功能,取消已结账标记。
本章小结 本章介绍了工资管理子系统的功能与特点、工 资管理子系统与其他系统的关系、工资核算的业 务处理流程以及工资管理子系统启用前的准备工 作。详细讲述了工资管理子系统系统初始化、日 常使用、数据查询统计以及期末处理。其中,初 始化部分主要内容有:建立工资账套、基础设置、 工资类别设置、人员档案设置、工资项目设置和 计算公式设置;日常业务处理包括:工资数据管 理、工资分钱清单、个人所得税的计算与申报和 银行代发;数据查询统计包括工资表和工资分析 表的查询;期末处理包括工资分摊、生成凭证、 月末处理、年末处理以及反结账。

工资管理系统

工资管理系统
Weifang University
工资管理系统概述 工资管理系统初始化 工资类别的管理 工资报表的管理 月末处理
Slide 7
会计电算化
2013年7月17日星期三
(一)工资管理系统的内部数据处理流程 (二)工资管理系统与其他会计系统的数据关系
三、用友工资管理系统的应用方案
Weifang University
Slide 2
会计电算化
2013年7月17日星期三
第二节 工资管理系统的初始化
一、建立工资账套 二、设置公共信息 (一)部门设置 (二)人员类别设置 (三)人员附加信息设置 (四)工资项目设置 (五)银行名称设置
Weifang University
会计电算化
Slide 3
2013年7月17日星期三
第三节
工资类别管理
一、建立工资类别 二、设置人员档案 三、设置工资项目和计算公式 四、工资数据管理 五、扣缴个人所得税 六、银行代发 七、工资分摊
Weifang University
会计电算化
Slide 4
2013年7月17日星期三
第四节 工资报表的管理
一、报表管理 二、工资表 三、工资分析表 四、凭证查询
Weifang University
会计电算化
Slide 5
2013年7月17日星期三
第五eifang University
会计电算化
Slide 6
2013年7月17日星期三
小结
第一节 第二节 第三节 第四节 第五节
第五章 工资管理系统
第一节 第二节 第三节 第四节 第五节 工资管理系统概述 工资管理系统初始化 工资类别的管理 工资报表的管理 月末处理
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计报告( 2013 / 2014 学年第 1学期)题目:模拟工资管理系统专业: 计算机科学与技术学生姓名:班级学号:指导教师:指导单位: 南京邮电大学通达学院日期: 2013年 12月 9日模拟工资管理系统一课题内容和要求工资管理系统是一个单位最基本的一项财务管理,该系统要求实现查找,修改,删除,统计,排序等。

所以帐务数据都要利用文件系统保存,以备系统下次运行时使用。

通过此课题,熟练掌握文件,数组,指针的各项操作,以及一些基本算法思想的应用。

基本要求:管理员:1)以密码系统登录2)录入员工信息具体工资,计算相应的税金(计算规则参见最新公布的政策)3)查询并显示所有员工具体信息4)显示统计信息:员工数目,工资总数和税金总数5)按照指定条件查询6)增减具体员工记录税金政策基本是不同收入等级的工资使用不同的比例收取税金。

类似于下表:工资税金0~1500 0%(超出部分)1500~2500 10%(超出部分)2500~3500 15%(超出部分)3500~5000 20%(超出部分)5000~10000 30%(超出部分)10000~ 40%(超出部分)员工:1)以工号为登录ID,密码自己设定;2)可以查询本人的相关信息;3)系统提供指定时间间隔的查询功能。

二需求分析工资管理系统的功能框架图如图1所示。

图一(功能框架图)(1)根据工资管理系统的要求,设计合适的数据结构。

(2)选择文件存储格式(文本或是二进制)和文件名。

(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。

(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确定义函数类型。

(5)根据设计结果分布开发实现各模块,最后进行总体集成。

三、概要设计1 主要结构体class worker{public:worker(){}void show();//职工信息显示~worker(){}double GetTax (); // 获取缴税double GetAccumPay (); // 获取实发工资friend class WorkerList;private:string num,name,sex,edu,address,tel;//姓名,性别,教育程度,住址,电话int age,salary,A;//年龄,薪水,税金};class WorkerList{private:worker w[N];int NUM;//用来计算职工数目int count;//用来暂时记录当前操作第几个职工public:void add();//职工信息录入void sort();//职工信息排序void search();//职工信息查找void dele();//职工信息删除void modify();//职工信息修改void save();//职工信息以文件形式保存void showworker();//显示职工信息在屏幕上void read();WorkerList(){NUM=0;count=0;}};2 主要函数流程图(1)登录函数(如图二所示)图二(登录函数图)(2)职工信息录入如图三所示图三(录入函数)(3)职工信息查找(如图四所示)图四(查找函数)(4)职工信息统计(如图五所示)图五(统计函数)(5)职工信息修改(如图六所示)图六(修改函数)(6)职工信息删除(如图七所示)图七(删除函数)(7)职工信息保存(如图八所示)图八(8)职工信息排序(如图九所示)图九四.源代码#include<iostream>#include<string>#include<fstream>#include <stdlib.h>#include <cstdlib>#include"conio.h"using namespace std;#define N 100//N作为最大职工总数int f=0;//f作为开关string p;//p作为接收菜单选项的字符串int error=0;void menu();//显示菜单class worker{public:worker(){}void show();//职工信息显示~worker(){}double GetTax (); // 获取缴税double GetAccumPay (); // 获取实发工资friend class WorkerList;private:string num,name,sex,edu,address,tel;//姓名,性别,教育程度,住址,电话int age,salary,A;//年龄,薪水,税金};class WorkerList{private:worker w[N];int NUM;//用来计算职工数目int count;//用来暂时记录当前操作第几个职工public:void add();//职工信息录入void sort();//职工信息排序void search();//职工信息查找void dele();//职工信息删除void modify();//职工信息修改void save();//职工信息以文件形式保存void showworker();//显示职工信息在屏幕上void read();WorkerList(){NUM=0;count=0;}};double worker::GetTax () // 缴税{if(salary<=1500){return A==0;}elseif(salary<=2500){return A=(salary-1500)*10/100;}elseif(salary<=3500){return A=(salary-2500)*15/100+100;}elseif(salary<=5000){return A=(salary-3500)*20/100+100+150;}elseif(salary<=10000){return A=(salary-5000)*30/100+100+150+300;}elseif(salary>10000){return A=(salary-10000)*40/100+100+150+300+1500;}}double worker::GetAccumPay (){return salary-A;}//登陆函数void login(){system("cls");cout<<"\n\n*************************************************"<<endl; cout<<"** 请选择您所需要的模式 **"<<endl; cout<<"** 1.管理员模式 **"<<endl; cout<<"** 2.用户模式 **"<<endl; cout<<"*************************************************"<<endl;}void menu(){cout<<endl;cout<<"**************************************************************"<<endl;cout<<"****"<<endl;cout<<"** ===欢迎使用南京邮电大学职工工资管理系统=== **"<<endl;cout<<"****"<<endl;cout<<"** 1.职工信息添加**"<<endl;cout<<"** 2.职工信息修改**"<<endl;cout<<"** 3.职工信息删除**"<<endl;cout<<"** 4.职工信息排序**"<<endl;cout<<"** 5.职工信息查找**"<<endl;cout<<"** 6.职工信息显示**"<<endl;cout<<"** 7.职工信息保存**"<<endl;cout<<"** 8.职工信息查看**"<<endl;cout<<"** 0.退出**"<<endl;cout<<"****"<<endl;cout<<"**************************************************************"<<endl;cout<<endl;}void menu1(){cout<<endl;cout<<"**************************************************************"<<endl;cout<<"****"<<endl;cout<<"** ===欢迎使用南京邮电大学职工工资管理系统===**"<<endl;cout<<"** **"<<endl;cout<<"** 1.职工信息查找**"<<endl;cout<<"** 0.退出**"<<endl;cout<<"** **"<<endl;cout<<"********************************************************** ****"<<endl;cout<<endl;}void domain()//主菜单函数实现{char pa[20];int abcd;char before;WorkerList wl;int a;cout<<"请输入选择:";cin>>a;switch(a){case 1:cout<<"请输入密码:";int j;for( j=0;j<10;j++){before=getch();if(before==13){pa[j]='\0';break;}if(before==8){before=getchar();}else{pa[j]=before;cout<<'*';}}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout << "\n登录成功,祝您工作顺利,心情愉快!"<<endl;}else{do{error++;if(error==3){cout<<endl;cout<<"\n**************************************************"<<endl;cout<<"** 密码错误,系统自动退出,请稍后重新登录**"<<endl;cout<<"**************************************************"<<endl;for(abcd=1;abcd<=100000000;abcd++){}exit(1);}cout<<"\n密码错误!请重新输入"<<endl;for(abcd=1;abcd<=100000000;abcd++){}login();}while(error<3);}while(1){system("cls");menu();cout<<"请选择数字编号0~8"<<endl;int i1;cin>>i1;while(!(i1>=0&&i1<=8)){cout<<"输入有误,请重新输入:"<<endl;cin>>i1;}switch(i1){case 1:wl.add();//添加break;case 2:wl.modify();//修改break;case 3:wl.dele();//删除break;case 4:wl.sort();//排序break;case 5:wl.search();//查找break;case 6:wl.showworker();//显示break;case 7:wl.save();//保存break;case 8:wl.read ();//查看break;case 0:exit(0);cout<<"系统退出!!"<<endl;exit(0);default:break;}cout<<"是否返回主菜单? Y/N"<<endl;cin>>p;if(p=="n"||p=="N"){ cout<<"系统退出!!"<<endl;exit(0);}getchar();}case 2:cout<<"请输入密码:";int b ;for(b=0;b<10;b++){before=getch();if(before==13){pa[b]='\0';break;}if(before==8){before=getchar();}else{pa[b]=before;cout<<'*';}}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout << "\n登录成功,祝您工作顺利,心情愉快!"<<endl;}else{do{error++;if(error==3){cout<<endl;cout<<"\n**************************************************"<<endl;cout<<"** 密码错误,系统自动退出,请稍后重新登录**"<<endl;cout<<"**************************************************"<<endl;for(abcd=1;abcd<=100000000;abcd++){}exit(1);}cout<<"\n密码错误!请重新输入"<<endl;for(abcd=1;abcd<=100000000;abcd++){}login();}while(error<3);}while(1){system("cls");menu1();cout<<"请选择数字编号0~1"<<endl;int i1;cin>>i1;while(!(i1>=0&&i1<=7)){cout<<"输入有误,请重新输入:"<<endl;cin>>i1;}switch(i1){case 1:wl.search();//查找break;case 0:exit(0);cout<<"系统退出!!"<<endl;exit(0);default:break;}cout<<"是否返回主菜单? Y/N"<<endl;cin>>p;if(p=="n"||p=="N"){ cout<<"系统退出!!"<<endl;exit(0);}getchar();}}}void WorkerList::add()//职工信息添加函数实现{cout<<"请输入职工信息:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;string num;cin>>num;for(int i=0;i<NUM;i++)while(num==w[i].num){cout<<"此职工编号已存在,请重新输入:"<<endl;cin>>num;}w[NUM].num=num;cin>>w[NUM].name>>w[NUM].sex>>w[NUM].edu>>w[NUM].age>>w[NUM].sala ry>>w[NUM].address>>w[NUM].tel;++NUM;count=NUM;}void worker::show()//显示职工信息函数实现{cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;cout<<num<<'\t'<<name<<'\t'<<sex<<'\t'<<edu<<'\t'<<age<<'\t'<<sal ary<<'\t'<<address<<'\t'<<tel<<endl;cout<<endl;}void WorkerList::modify()//职工信息修改函数实现{if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<<endl;menu();}else{ cout<<"职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for(int i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}cout<<"请输入需要修改信息职工的工号:"<<endl;string num1;cin>>num1;int j=0,k;int flag=1;while(flag){for(;j<count;j++){if(num1==w[j].num){flag=0;k=j;break;}}if(flag){cout<<"不存在此员工,请重新输入:"<<endl;j=0;cin>>num1;}}cout<<"你选择的职工的信息为:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<< '\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel <<endl;cout<<endl;cout<<"***********************************************"<<endl;cout<<"** 1.修改工号 **"<<endl;cout<<"** 2.修改姓名 **"<<endl;cout<<"** 3.修改性别 **"<<endl;cout<<"** 4.修改学历 **"<<endl;cout<<"** 5.修改年龄 **"<<endl;cout<<"** 6.修改工资 **"<<endl;cout<<"** 7.修改地址 **"<<endl;cout<<"** 8.修改电话 **"<<endl;cout<<"** 0.返回主菜单 **"<<endl;cout<<"***********************************************"<<endl;cout<<endl;cout<<"请选择数字编号0~8"<<endl;int i3;cin>>i3;while(i3<0||i3>8){cout<<"输入有误,请重新输入:"<<endl;cin>>i3;}switch(i3){case 1:cout<<"请输入新的职工工号:";cin>>w[k].num;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 2:cout<<"请输入新的职工姓名:";cin>>w[k].name;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 3:cout<<"请输入新的职工性别:";cin>>w[k].sex;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 4:cout<<"请输入新的职工学历:";cin>>w[k].edu;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 5:cout<<"请输入新的职工年龄:";cin>>w[k].age;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 6:cout<<"请输入新的职工工资:";cin>>w[k].salary;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 7:cout<<"请输入新的职工地址:";cin>>w[k].address;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 8:cout<<"请输入新的职工电话:";cin>>w[k].tel;cout<<"修改信息已保存,现返回主菜单:"<<endl;menu();break;case 0:menu();default:break;}}void WorkerList::showworker()//职工信息显示函数实现{if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<<endl;}elsecout<<"已保存的职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for(int i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;cout<<"是否返回主菜单? Y/N"<<endl;cin>>p;while(1){if(p=="y"||p=="Y"){menu();}else if(p=="n"||p=="N"){cout<<"系统退出!!"<<endl;exit(0);}else{cout<<"输入有误,请重新输入:";cin>>p;}}}void WorkerList::search(){if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<<endl;}elsecout<<"请选择查找方式:"<<endl;cout<<"***********************************************"<<endl;cout<<"** 1.按工号查找 **"<<endl;cout<<"** 2.按姓名查找 **"<<endl;cout<<"** 3.按工资查找 **"<<endl;cout<<"** 4.按学历查找 **"<<endl;cout<<"** 0.返回主菜单 **"<<endl;cout<<"***********************************************"<<endl;cout<<endl;cout<<"请选择数字编号0~4"<<endl;int i4;cin>>i4;while(i4<0||i4>4){cout<<"输入有误,请重新输入:"<<endl;cin>>i4;}if(i4==1){string num2;cout<<"请输入要查询的职工的工号:"<<endl;cin>>num2;int j=0,k;int flag=1;while(flag){for(;j<count;j++){if(num2==w[j].num){flag=0;k=j;cout<<"查询的职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<< '\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel <<endl;break;}}if(flag){flag=0;cout<<"不存在此职工!!\n返回主菜单"<<endl;break;}}}else if(i4==2){string name2;cout<<"请输入要查询的职工的姓名:"<<endl;cin>>name2;int j2=0,k2;int flag2=1;while(flag2){for(;j2<count;j2++){if(name2==w[j2].name){flag2=0;k2=j2;cout<<"查询的职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;cout<<w[k2].num<<'\t'<<w[k2].name<<'\t'<<w[k2].sex<<'\t'<<w[k2].e du<<'\t'<<w[k2].age<<'\t'<<w[k2].salary<<'\t'<<w[k2].address<<'\t'<<w[k2].tel<<endl;break;}}if(flag2){flag2=0;cout<<"不存在此职工!!\n返回主菜单"<<endl;break;}}}else if(i4==3){int salary2;cout<<"请输入要查询的职工的工资:"<<endl;cin>>salary2;int j3=0,k3;int flag3=1;while(flag3){for(;j3<count;j3++){if(salary2==w[j3].salary){flag3=0;k3=j3;cout<<"查询的职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;cout<<w[k3].num<<'\t'<<w[k3].name<<'\t'<<w[k3].sex<<'\t'<<w[k3].e du<<'\t'<<w[k3].age<<'\t'<<w[k3].salary<<'\t'<<w[k3].address<<'\t'<<w [k3].tel<<endl;break;}}if(flag3){flag3=0;cout<<"不存在此职工!!\n返回主菜单"<<endl;break;}}}else if(i4==4){string edu2;cout<<"请输入要查询的职工的学历:"<<endl;cin>>edu2;int j4=0,k4;int flag4=1;while(flag4){for(;j4<count;j4++){if(edu2==w[j4].edu){flag4=0;k4=j4;cout<<"查询的职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;cout<<w[k4].num<<'\t'<<w[k4].name<<'\t'<<w[k4].sex<<'\t'<<w[k4].e du<<'\t'<<w[k4].age<<'\t'<<w[k4].salary<<'\t'<<w[k4].address<<'\t'<<w [k4].tel<<endl;break;}}if(flag4){flag4=0;cout<<"不存在此职工!!\n返回主菜单"<<endl;break;}}}else if(i4==0)menu();}void WorkerList::sort()//职工信息排序功能实现{if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<<endl;menu();}elsecout<<"请选择排序方式:"<<endl;cout<<"***********************************************"<<endl;cout<<"** 1.按工号排序(升序) **"<<endl;cout<<"** 2.按工号排序(降序) **"<<endl;cout<<"** 3.按姓名排序(升序) **"<<endl;cout<<"** 4.按姓名排序(降序) **"<<endl;cout<<"** 5.按工资排序(升序) **"<<endl;cout<<"** 6.按工资排序(降序) **"<<endl;cout<<"** 0.返回主菜单 **"<<endl;cout<<"***********************************************"<<endl;cout<<endl;cout<<"请选择数字编号0~6"<<endl;int i5;cin>>i5;while(i5<0||i5>6){cout<<"输入有误,请重新输入:"<<endl;cin>>i5;}if(i5==1){int i,j;for(i=0;i<count-1;i++)for(j=0;j<count-1-i;j++)if(w[j].num>w[j+1].num){string temp;temp=w[j].num;w[j].num=w[j+1].num;w[j+1].num=temp;}cout<<"按工号升序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for(i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}else if(i5==2){int i,j;for(i=0;i<count-1;i++)for( j=0;j<count-1-i;j++)if(w[j].num<w[j+1].num){string temp;temp=w[j].num;w[j].num=w[j+1].num;w[j+1].num=temp;}cout<<"按工号降序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for(i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}elseif(i5==3){int i,j;for(i=0;i<count-1;i++)for(j=0;j<count-1-i;j++)if(w[j].name>w[j+1].name){string temp;temp=w[j].name;w[j].name=w[j+1].name;w[j+1].name=temp;}cout<<"按姓名升序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for(i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}elseif(i5==4){int i,j;for(i=0;i<count-1;i++)for( j=0;j<count-i-1;j++)if(w[j].name<w[j+1].name){string temp;temp=w[j].name;w[j].name=w[j+1].name;w[j+1].name=temp;}cout<<"按姓名降序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;for(i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}elseif(i5==5){int i,j;for( i=0;i<count-1;i++)for( j=0;j<count-i-1;j++)if(w[j].salary>w[j+1].salary){int temp;temp=w[j].salary;w[j].salary=w[j+1].salary;w[j+1].salary=temp;}cout<<"按工资升序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;for( i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}elseif(i5==6){int i,j;for( i=0;i<count-1;i++)for(j=0;j<count-i-1;j++)if(w[j].salary<w[j+1].salary){int temp;temp=w[j].salary;w[j].salary=w[j+1].salary;w[j+1].salary=temp;}cout<<"按工资降序后的信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t 地址\t电话"<<endl;for( i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;}else if(i5==0)menu();}void WorkerList::dele()//职工信息删除功能实现{int i;if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<<endl;menu();}elsecout<<"职工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for( i=0;i<count;i++)cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;cout<<"请输入需要删除信息职工的工号:"<<endl;string num3;cin>>num3;int j=0,k;int flag=1;while(flag){for(;j<count;j++){if(num3==w[j].num){flag=0;k=j;break;}}if(flag){cout<<"不存在此员工,请重新输入:"<<endl;j=0;cin>>num3;}}cout<<"你选择的职工的信息为:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<< '\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel <<endl;cout<<"确认请输入Y\t返回主菜单请输入N "<<endl;string p;cin>>p;while(1){if(p=="y"||p=="Y"){cout<<"员工信息已删除!"<<endl;for(int i=0;i<count;i++)if(w[i].num==num3)int j=i;for(;j<=count-1;j++)w[j]=w[j+1];count--;break;}else if(p=="n"||p=="N"){menu();}else{cout<<"输入有误,请重新输入:";cin>>p;}}}void WorkerList::save(){int i;if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<<endl;menu();}else{ofstream fout;fout.open("D:\\worker.txt",ios_base::out);cout<<"文件正在保存......请稍候!!"<<endl;cout<<"数据保存成功!!!"<<endl;cout<<"已保存员工信息如下:"<<endl;cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<<endl;for(i=0;i<count;i++)fout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<< '\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel <<endl;cout<<"系统返回主菜单:"<<endl;menu();fout.close();}}void WorkerList::read(){ifstream in("D:\\worker.txt");int i=0;int count=3;for(i=0;i<count;i++){in>>w[i].num>>w[i].name>>w[i].sex>>w[i].edu>>w[i].age>>w[i].salar y>>w[i].address>>w[i].tel;cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t' <<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<en dl;}}int main(){WorkerList e;e.read();login();domain();void save();void read();return 0;}五、测试数据及其结果分析运行后,程序的主菜单界面如下:1.登录页面(1)管理员模式的页面(2)用户模式页面2.主菜单(1)职工信息添加(2)职工信息修改(3)职工信息删除(4)职工信息排序(6)职工信息查找(6)职工信息显示(7)职工信息保存(8)员工信息查看(9)退出六、调试过程中的问题1文件的读入:解决方案:void WorkerList::read(){ifstream in("D:\\worker.txt");int i=0;int count=5;for(i=0;i<count;i++){in>>w[i].num>>w[i].name>>w[i].sex>>w[i].edu>>w[i].age>>w[i].salar y>>w[i].address>>w[i].tel;cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t' <<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<en dl;}}缺点:int count=5;count为常量5,意味着最大只能录入的职工信息的人数最多为5,因此需要手动修改count的数值。

相关文档
最新文档