职工工资报表
用人单位工资支付情况月度统计报表

单位负责人:
填表人:
联系电话:
填报时间:
�
用人单位工资支付情况月度统计报表
单位名称 (加 盖公章) 地 址 工资支付方式
现金 银行代发 其他
单位性质
国有企业
集体企业
其他内资企业
港,澳,台及外资企业
民办非企业单位
上月底在岗 职工人数
其中:外单位内退,协保人员 _ 名 上月新录用人员数 超过法定退休年龄人员 上年度 本年度
1 1 2 2 3 3 4 4 5 6
上月离职人员数
名
7 8 9 10 11 12
工资已发放的 月份
上月发放工资数 额及相应月份
10
11
12
应发未发 工资数额
应发未发工资月数是否达到 连续两个月或累计三个月 1,工资支付方式,单位性质,工资已发放的月份,请选择在□内打勾.
是否提供给职工 工资支付清单
离职人员工资支付情况
2,用人单位必须于每月月初1-5日如实填写《报表》并上报给所在地乡镇劳动保障所. 3,本表中所讲上月为填表日期的上月,例:3月2日填表,上月应为2月. 备注 4,应发工资是指:填表日期所在月份往前隔一月之前的所有月份工资,例:填表日期为2006年4月2日,则2006年2月及以前月份的工资都属应发工资. 5,凡不按月填报该《报表》的用人单位,市劳动保障监察大队将依法查处. 6,该报表一式两份,单位留存一份,乡镇劳动保障所一份.
年度劳动工资统计基层年报表102-2(年报表)

——
(一)从业人员期末人数
人 01
(一)从业人员工资总额
千元 12
其中:女性
人 02
1.在岗职工工资总额
千元 13
其中:非全日制
人 03
基本工资
千元 14其中:Βιβλιοθήκη 位负责人 人 71绩效工资
千元 15
1.在岗职工
人 05
工资性津贴和补贴
千元 16
2.劳务派遣人员
人 06
其他工资
千元 17
3.其他从业人员
3.审核关系:
(1)01≥02
(2)01≥0
(3)01≥71
(4)01=05+06+07
(5)08=09+10+11
(6)12=13+18+19
(7)13=14+15+16+17
人 07
2.劳务派遣人员工资总额
千元 18
(二)从业人员平均人数
人 08
3.其他从业人员工资总额
千元 19
1.在岗职工
人 09
(二)从业人员平均工资
元 20
2.劳务派遣人员
人 10
1.在岗职工平均工资
元 21
3.其他从业人员
人 11
2.劳务派遣人员平均工资
元 22
3.其他从业人员平均工资
元 23
补充资料:
单位负责人:
统计负责人:
填表人:
本报表数据包含的单位数
联系电话:
分机号:
个 48
报出日期:20 年 月 日
说明:1.统计范围:辖区内规模以上工业.有资质的建筑业.限额以上批发和零售业.限额以上住宿和餐 饮业.全部房地产开发经营业法人单位以外的全部非私营法人单位。
薪资报表范本

薪资报表范本薪资报表范本(700字)薪资报表是企业为了向员工提供薪资信息和统计薪资情况而编制的一种报表。
它记录了员工的姓名、工资、扣除项目等相关信息。
以下是一个薪资报表的范本,以便更好地展示员工薪资的情况。
职工编号姓名岗位薪资津贴加班费扣除项目应发工资实发工资001 张三销售员 5000 1000 200 300 5900 5600 002 李四技术员 6000 800 100 200 6600 6500 003 王五会计 7000 900 150 400 7640 7300 004 赵六文员 4000 600 100 100 4600 4500在薪资报表中,每一列代表一项信息。
职工编号是唯一的标识符,用于区分每个员工。
姓名和岗位说明了员工的基本信息。
薪资列记录了员工的基本工资,津贴列记录了员工获得的额外津贴。
加班费列记录了员工因加班而获得的补偿。
扣除项目列记录了需要从员工工资中扣除的项目,例如税款、社保等。
应发工资列记录了员工应当获得的工资总额,实发工资列记录了员工实际获得的工资总额。
薪资报表的目的是为了方便企业对员工薪资情况进行统计和管理。
通过薪资报表,企业可以一目了然地了解每个员工的薪资构成和薪资水平,进而进行薪酬调整和管理。
同时,薪资报表也可以为员工提供对自己薪资的透明度,使员工了解自己的薪资构成和发放情况。
根据薪资报表的范本,可以看出张三的薪资构成为5000的基本工资、1000的津贴和200的加班费。
扣除项目有300元,所以应发工资为5000+1000+200-300=5900元,实发工资为5600元。
其他员工的薪资构成和计算方式也类似。
总结来说,薪资报表是一种统计和管理员工薪资的工具,为企业提供了对员工薪资情况的清晰了解,同时也提高了员工对自己薪资的透明度。
通过薪资报表,企业可以更好地调整和管理员工薪酬,提高员工的工作积极性和满意度。
工资报表模板3篇

工资报表模板3篇1. 月度工资报表模板模板说明此模板适用于记录员工的月度工资信息。
它包含了以下列:- 员工姓名- 员工工号- 基本工资- 加班工资- 奖金- 扣款- 实发工资使用方法1. 在工作表中,创建以下列标题:【员工姓名】、【员工工号】、【基本工资】、【加班工资】、【奖金】、【扣款】、【实发工资】。
2. 在每个员工的行中填写相应的信息。
3. 计算每个员工的实发工资,即将基本工资、加班工资、奖金减去扣款。
4. 汇总所有员工的实发工资,得到月度的总工资。
示例2. 季度工资报表模板模板说明此模板适用于记录员工的季度工资信息。
它包含了以下列:- 员工姓名- 员工工号- 季度基本工资- 季度加班工资- 季度奖金- 季度扣款- 季度实发工资使用方法1. 在工作表中,创建以下列标题:【员工姓名】、【员工工号】、【季度基本工资】、【季度加班工资】、【季度奖金】、【季度扣款】、【季度实发工资】。
2. 在每个员工的行中填写相应的信息。
3. 计算每个员工的季度实发工资,即将季度基本工资、季度加班工资、季度奖金减去季度扣款。
4. 汇总所有员工的季度实发工资,得到季度的总工资。
示例3. 年度工资报表模板模板说明此模板适用于记录员工的年度工资信息。
它包含了以下列:- 员工姓名- 员工工号- 年度基本工资- 年度加班工资- 年度奖金- 年度扣款- 年度实发工资使用方法1. 在工作表中,创建以下列标题:【员工姓名】、【员工工号】、【年度基本工资】、【年度加班工资】、【年度奖金】、【年度扣款】、【年度实发工资】。
2. 在每个员工的行中填写相应的信息。
3. 计算每个员工的年度实发工资,即将年度基本工资、年度加班工资、年度奖金减去年度扣款。
4. 汇总所有员工的年度实发工资,得到年度的总工资。
示例。
从业人员及工资总额定期统计报表

联系电话: 报出日期:20 年
11
分机号:
四、报表修订内容
1.主表增加指标:按职业类型分(年报
) 单位负责人
人 71
专业技术人员
人 72
办事人员和有关人员
人 73
商业、服务业人员
人 74
生产运输设备操作人员及 有关人员
人
75
12
2.补充资料增加指标:不能填报 “从业人员”和“工资总额”数 据的法人单位填报发放工资的法 人单位组织机构代码和单位详细 名称(2个)(年、季报)。
16
从业人员不包括: 1.离开本单位仍保留劳动关系,并定期 领取生活费的人员; 2.利用课余时间打工的学生及在本单位 实习的各类在校学生; 3.本单位因劳务外包而使用的人员,如 :本单位由保洁公司负责保洁,保洁人 员不在本单位统计,而应由保洁公司统 计。类似情况还有单位的保安人员、室 内绿植管理人员等。
31
药品生产人员,木材加工、人造板生产、 木制品制作及制浆、造纸和纸制品生产加 工人员,建筑材料生产加工人员,玻璃、 陶瓷、搪瓷及其制品生产加工人员,广播 影视制品制作、播放及文物保护作业人员 ,印刷人员、工艺、美术品制作人员,文 化教育、体育用品制作人员,工程施工人 员,运输设备操作人员及有关人员,环境 监测与废物处理人员,检验、计量人员, 其他生产、运输设备操作人员及有关人员 。
人
其中:持证上岗人员(44) 人
劳务分包法人单位从业人员期末人数:其中:工程技术人员(46)
人
其中:现场施工人员(47) 人
三、不能填报“从业人员”和“工资总额”数据的法人单位填报
发放工资的法人单位:组织机构代码(49)□□□□□□□□-□
单位详细名称(50)
年度应付职工薪酬明细表模板

年度应付职工薪酬明细表模板全文共四篇示例,供读者参考第一篇示例:年度应付职工薪酬明细表是公司在每个财年结束时编制的一个重要财务报表,用于记录和展示公司在该财年内应付给员工的各项薪酬及相关费用。
在这份明细表中,包括了员工的基本工资、奖金、津贴、福利、社保、住房公积金等各种薪酬项目的具体信息,为公司管理层提供了一份清晰的员工薪酬支出情况的总览。
为了帮助各位财务人员更加方便地进行年度的薪酬支出管理,我将在下文介绍一份年度应付职工薪酬明细表模板的制作步骤和要点。
1. 表格标题和基本信息在制作年度应付职工薪酬明细表时,首先要设定表格的标题,如“公司202X年度应付职工薪酬明细表”。
在表格的顶部应包括公司名称、表格制作日期、财年起止日期等基本信息。
2. 列出各项薪酬项目在明细表中,应列出公司在该财年内应付给员工的各项薪酬项目,如基本工资、绩效奖金、年终奖金、加班费、伙食补贴、交通补贴、通讯补贴、福利费用等。
可以按照不同的类别将各项薪酬项目分列在表格中的不同列,并注意标注每项薪酬的计算方式和标准。
3. 输入员工信息和薪酬数据在表格中逐个输入员工的相关信息,如姓名、部门、职务、身份证号等基本信息,并填写每位员工在该财年内应付的各项薪酬数据。
在填写薪酬数据时,应确保数据的准确性和完整性,可以与人事部门进行核对。
4. 汇总和核对数据在填写完所有员工的薪酬数据后,需要进行数据的汇总和核对工作。
建议制作一个总计行或总计列,将各项薪酬项目的数据加总,并核对总计金额与实际支出情况是否一致。
5. 生成报表将填写完整的年度应付职工薪酬明细表进行审查和核对,确保信息的准确性和完整性。
然后可以将表格保存为电子文档或打印出来,作为公司财务报表的重要一部分,供公司管理层和审计人员参考。
通过制作年度应付职工薪酬明细表,可以帮助公司更好地管理和控制薪酬支出,及时发现和解决存在的问题,进而提高员工满意度和公司整体运营效率。
希望以上信息对您有所帮助,祝您在财务管理工作中取得更好的成绩!第二篇示例:年度应付职工薪酬明细表是一份非常重要的财务文档,用于记录公司在一年内向员工支付的所有薪酬和相关福利。
正常薪资工资表模板

姓名
部门
职位
入职日期
应 出勤 天数
员工1 行政部 员工2 行政部 员工3 业务部 员工4 品质部 员工5 工程部 员工6 资材部 员工7 品质部 员工8 工程部 员工9 生产部
经理 厨师 经理 品检员 经理 仓库组长 品检员 工程师 作业员
2024/01/ 01
2024/01/ 02
2024/01/ 03
2024/01/ 04
2024/01/ 05
2024/01/ 06
2024/01/ 07
2024/01/ 08
2024/01/ 09
出勤数据(单位:天)
无
事
病
工
公
年
婚
产
丧
薪
假
假
伤
假
假
假
假
假
加班时数
出勤工资
加班工资
旷 工
实际 出勤
平时 加班
周末 加班
法定 加班
基本 工资
平时 加班
周末 加班
法定 加班
正常薪资 工资表模
序
部门
号
编号
1
BM001
2
BM002
3
BM003
4
BM004
5
BM005
6
BM006
7
BM007
8
BM008
9
BM009
薪资 类型 月薪 月薪 提成 计时 月薪 月薪 计时 月薪 计时
工号
0001 0002 0003 0004 0005 0006 0007 0008 0009
员工资料
-100
0.00
100
-100
劳资报表表样

从业人员及工资总额表号:I102-2表制定机关:国家统计局组织机构代码□□□□□□□□-□文号:国统字〔2014〕59号单位详细名称:20年有效期至:2015年6月指标名称计量单位代码数量指标名称计量单位代码数量甲乙丙 1 甲乙丙 1一、从业人员——二、工资总额——从业人员期末人数人01 从业人员工资总额千元12其中:女性人02 按人员类型分——其中:非全日制人03 在岗职工千元13 按人员类型分——基本工资千元14在岗职工人05 绩效工资千元15劳务派遣人员人06 工资性津贴和补贴千元16其他从业人员人07 其他工资千元17 从业人员平均人数人08 劳务派遣人员千元18按人员类型分——其他从业人员千元19在岗职工人09劳务派遣人员人10其他从业人员人11补充资料:本表数据包含的单位数(52)个单位负责人:统计负责人:填表人:联系电话报出日期:20年月日填表人统计从业资格证书号:□□□□□□□□□□□□□□说明:1.统计范围:辖区内规模以上工业、有资质的建筑业、限额以上批发和零售业、限额以上住宿和餐饮业、全部房地产开发经营业、规模以上服务业法人单位以外的全部非私营法人单位。
2.报送日期及方式:县(区)统计机构次年2月25日24时前完成数据审核、验收、上报;省辖市、省直管县统计机构次年3月5日24时前完成数据审核、验收、上报。
3.审核关系:(1)01≥02 (2)01≥03 (3)01=05+06+07 (4)08=09+10+11 (5)12=13+18+19 (6)13=14+15+16+174.本表填报指南可查询河南统计网,网址:。
机关、事业单位工作人员工资统计报表填报审

机关、事业单位工作人员工资统计报表填报审机关事业单位工作人员工资统计报表填报审核要求第一表机关职工人数和工资情况1、本地区、本部门的统计范围和统计对象发生变化的要说明原因及所依据的文件。
国家公务员是指公务员法规定的所有党群、政府、人大、政协、民主党派等机关公务员,但不含参照公务员法管理的人员,参照公务员法管理的人员填在“参照公务员法管理的事业单位职工人数和工资情况”表(第五表)。
2、乙1栏“单位个数”应与上年数字进行比较审查,变化较大的要说明原因。
3、年末职工人数要认真加以核实,防止漏统、漏报、错报,也不得随意多报或少报。
当职工年末人数数字大于正式职工人数时,短期和临时用工工资项必须有数字。
4、乙6栏“职工年工资总额”为2009年1月至12月的累计工资总额,要根据国家关于公务员工资总额构成的有关规定填报,注意年内补发的部分也要一并统入。
5、分层次隶属关系要正确。
6、职工年工资总额注意计量单位是千元,年平均工资计量单位是元。
职工年平均工资水平要基本符合本地区、本单位的实际,变化较大的须说明情况。
7、个别说明:基本工资:公务员为职务工资与级别工资之和;技术工人为岗位工资与技术等级(职务)工资之和;普工为岗位工资;试用期为试用期工资。
国家统一的津贴和补贴:艰边和特岗。
规范的津贴补贴:工作津贴和生活补贴。
改革性补贴:我市人均200元。
奖励性补贴和其他:不填。
年终一次性奖金:称职以上职工增加一个月工资。
8、注意对照说明模板填报说明。
第二表机关执行公务员工资制度人员级别工资档次人数情况1、本表只统计正式职工,但不包括机关工人。
机关工人在(第三表)中统计。
2、没有套改的人员,对应填写在本职务的最低级和一档。
如:某正处级干部的工资没有套改,那么就填写在县处级正职相当者十八级一档。
3、本地区、本部门所属层级与人员职务、级别及其工资档次须符合逻辑,比例适当,符合实际。
4、注意对照说明模板填报说明。
第三表机关工人技术等级(岗位)工资标准人数情况1、本表只统计正式职工。
工资标准与报表填写标准 1

新职工进厂一周(含7天)为试用期,试用期新工按工资按6元/小时 计算,超过七天后转计件(包装机新工除外),一个月内为实习期。 注:包装机新工15天后转计件,其他岗位7天后转计件。
工人禁止随意旷工、离岗。一周内自动离职或试用不合格的,不管是 否写辞职申请都不发放任何工资(含餐补)。
Company Logo
报表要及时上交,每天上午9:00之前交齐
报表术语统一,炉头:打蛋、筛粉、配 料、打发、烤炉、(磨糖);无菌:夹心机、 包装机、打奶油;外包:领计、打码、称重、 封箱、接半成品、倒半成品、封底。 报表符号统一,出勤√ 工休× 请假# 旷工O 小组长 。 考勤人数齐全,各班的所有人都必须在报 表中体现出勤情况。
Company Logo
计件类产品各品项单价,各岗位工分系数
岗位工资=标准工价*当日产量(吨)/标准岗位人数*岗位系数
炉头车间
标准工价:恋之心、酷U、方糕、3k蜜恋、摩卡。炉头每吨136。小屋夹心 类每吨156。唇动每吨112。
工分系数:打蛋间工分系数1.00; 配料、配料工分系数0.98; 打发工分系数 1.035;看烤炉工分系数0.96
超过一周未满两个月(含两个月)欲离职的必须填写辞职申请单,然 后继续顶岗十五天后,离职可发给工资,发放工资时扣除试用期天数 ,剩余天数按每天60元结算;不按正常流程离职的不予发放工资。
超两个月(从入职到离职超过60天)职工离职,欲离职必须先填写辞 职申请单,然后继续顶岗十五天后,离职可发给工资,当月工资:计 件工资+餐费补贴,无其他福利待遇;不按正常流程离职的不予发放 工资。
新工从第二个月开始有全勤奖和考核奖,从第三个月开始有全勤奖、 考核和工龄奖。
劳动工资统计报表制度

劳动工资统计报表制度(年统计年报和年定期统计报表)大连市统计局印制年月本报表制度根据《中华人民共和国统计法》的有关规定制定《中华人民共和国统计法》第七条规定:国家机关、企业事业单位和其他组织及个体工商户和个人等统计调查对象,必须依照本法和国家有关规定,真实、准确、完整、及时地提供统计调查所需的资料,不得提供不真实或者不完整的统计资料,不得迟报、拒报统计资料。
《中华人民共和国统计法》第九条规定:统计机构和统计人员对在统计工作中知悉的国家秘密、商业秘密和个人信息,应当予以保密。
本制度由大连市统计局负责解释。
目录一、总说明 ······················································································································二、报表目录 ······················································································································三、调查表式(一)劳动统计基本情况表式劳动统计单位基本情况表 ···························································································(二)基层年报表式从业人员及工资总额(表)··························································································从业人员及工资总额(表)··························································································(三)基层定报表式从业人员及工资总额(表) ····························································································(四)综合年报表式从业人员及工资总额(表) ····························································································从业人员及工资总额(表) ····························································································从业人员及工资总额(表) ····························································································从业人员及工资总额(表) ····························································································四、附录(一)从业人员及工资总额(表)目录(年报用) ······································································(二)国民经济行业分类目录( )(定报用)···········································································(三)职业分类与代码表 ····································································································(四)指标解释 ················································································································一、总说明(一)为及时、准确地搜集、整理法人单位从业人员人数及工资总额等方面的资料,为政府监测、调控工资分配格局、进行宏观决策提供数据,为国民经济核算和社会保障制度提供可靠依据,根据《中华人民共和国统计法》,制定本制度。
年工资统计报表填报要求及指标解释

主要面向市场、创收能 力强、经费自理的事业 单位。
科学出版社 科学时报社 青岛疗养院 庐山疗养院
填写”3类事业单位”。
四、统计方法
统计方法
按照“谁发工资 谁统计”的原则,职 工工资在哪个单位支 付,就由哪个单位按 现任职务(包括专业 技术职务)进行统计, 担任两种以上行政职 务的按最高职务统计。
凡国家文件(原人事部、财政部发文)规定的,都填写在国家统一的津贴补贴中。
②其他津贴补贴: 地方性津贴补贴、院及研究所自定的津贴补贴(如:百人计划津贴、 科技副职津贴等)
机关、事业单位工作人员工资统计报表
3、平衡关系:
人统5表
职工年工资总额 (乙5)
=
从业人员与劳动 报酬情况表
在岗职工工资总额(乙13)
3、平衡关系:
人统16表
= 上年末职工人数 增加或减少人员 (乙2)
人统5表
职工年末人数 (乙2)
机关、事业单位工作人员工资统计报表
五、人统17表主要指标解释
(机关、事业单位离退休人员待遇情况表)
1、年离退休费: 指各单位(和社会养老保险统筹部门)在一定时期内直接支付
给本单位离休、退休人员的全部基本离退休费和补贴以及退职人员 的退职费。
人统12表: 注意核对各职务岗位管理人员任职年限与工龄之间的逻辑关系。
人统13表: 注意核对各岗位专业技术人员任职年限与工龄之间的逻辑关系。
机关、事业单位工作人员工资统计报表
人统14表、15表审核要点
人统14表: 注意检查各类工人与薪级工资之间的关系。
人统15表: 1、注意核实不同技术等级岗位(技术职务)工人任职 年限与工龄之间的关系。
◇工资总额的计算应以直接支付给职工的全部劳动报酬为依据,不论 是计入成本还是不计入成本,不论是财政部门下拨的资金还是单位 自筹的资金都应列入工资总额统计范围。工资总额是按实发数统计, 包括报告期内补发的前些年的工资。
劳动工资统计年报表模板

劳动工资统计年报表模板
一、填报单位:XXXX
二、填报时间:XXXX年XX月XX日
三、统计范围:XXXX年度本单位在职职工和离退休人员的工资总额。
四、指标解释:
1. 职工人数:指报告期内实际参加工作的职工人数,包括合同制职工、临时工等。
2. 工资总额:指报告期内实际支付给职工的劳动报酬总额,包括基本工资、奖金、津贴、加班费等。
3. 人均工资:指报告期内职工平均每人所得工资额,计算公式为:工资总额/职工人数。
4. 增长率:指报告期内工资总额与上期相比的增长率,计算公式为:(本期工资总额-上期工资总额)/上期工资总额100%。
五、表格样式:
序号职工人数工资总额人均工资增长率
:--: :--: :--: :--: :--:
1 XXXX XXXX XXXX XXXX
2 XXXX XXXX XXXX XXXX
3 XXXX XXXX XXXX XXXX
... ... ... ... ...
总计 XXXX XXXX XXXX XXXX
六、填报要求:
1. 本表必须按照本单位实际情况填写,不得虚报、瞒报、漏报。
2. 本表必须加盖公章,并由单位负责人签字盖章。
3. 本表必须按时报送,不得延迟。
机关,事业单位工作人员工资统计报表

(2) 有关劳动保险和职工福利方面的费用。具体有:职工死亡丧葬费及抚恤费、医疗卫生费或公费医疗费用、职工生活困难补助费、集体福 利事业补贴、工会文教费、集体福利费、探亲路费等。
(3) 有关离休、退休、退职人员待遇的各项支出。 (4) 支付给聘用或留用的离休、退休人员的各项补贴。 (5) 发给外单位人员的稿费、讲课费及其他专门工作报酬。 (6) 出差伙食补助费、调动工作的旅费、安家费和计划生育独生子女补贴。 (7) 因聘用临时工而在工资以外向提供劳动力单位支付的手续费或管理费。
9. 1 类事业单位=国家重点扶持、以社会效益为主、基本不具有创收能力、经费来源主要由财政拨款的事业单位。 10. 2 类事业单位 z 以社会效益为主、具有一定创收能力和市场开发前景、经费来源部分由财政支持的事业单位。 11. 3 类事业单位 z 主要面向市场、创收能力强、经费自理的事业单位。
12. 企业化管理事业单位 z 是指不享受财政资金补助,实行企业会计制度的事业单位。
甲 2= 甲 (3+ …+7)
(2) 规范的津贴补贴:是指根据《中央纪委、中央组织部、监察部、财政部、人事部、审计署关于规范公务员津贴补贴问题的通知)) (2006) 17 号〉规定,并归地方和部门原自行发放津贴补贴和奖金项目后设立的津贴补贴。
(中纪发
(3) 改革性补贴:是指根据推进福利待遇货币化改革的需要,通过转化原有用于职工福利待遇的资金,向职工直接发放的货币补贴。包括住房 分配货币化改革补贴、交通补贴等。
工作人员的工资总额包括岗位工资、薪级工资、绩效工资和津贴补贴等。
公务员工资制度和事业单位收入分配制度改革前各单位实际支付的工资总额仍按照上年度的指标解释进行填报。
各单位在统计工资总额时,应按实发数计算。在实际操作中,要注意工资总额不包括的项目有:
员工每月工资合计表模板

员工每月工资合计表模板
以下是一个简单的员工每月工资合计表的模板。
请注意,这只是一个示例,实际工资结构可能会根据公司的政策和规定有所不同。
员工姓名基本工资岗位津贴绩效奖金加班费其他福利应发工资个人所得税实发工资
:--: :--: :--: :--: :--: :--: :--: :--: :--:
张三¥ ¥ ¥ ¥ ¥ ¥ ¥ ¥
李四¥ ¥ ¥ ¥ ¥ ¥ ¥ ¥
王五¥ ¥ ¥ ¥ ¥ ¥ ¥ ¥
这个表格包括以下列:
员工姓名:员工的名字。
基本工资:员工的基本工资。
岗位津贴:根据员工的岗位提供的津贴。
绩效奖金:根据员工的工作表现提供的奖金。
加班费:员工加班工作所得的工资。
其他福利:包括但不限于交通补贴、住房补贴等其他福利。
应发工资:所有收入的总和,这是计算个人所得税的基础。
个人所得税:根据员工的应发工资计算的个人所得税。
实发工资:扣除个人所得税后的实际收入。
工资统计报表说明

工资统计报表说明一、人事工资统计总体要求1.统计范围:机关、事业单位劳动工资计划管理所涉及到的各法人单位的全部职工,即机关事业单位正式工作人员、编外聘用人员(临时工)、离退休(退职)人员。
2.统计内容:主要调查各类机关、事业单位工作人员工资总额、平均工资、工龄等情况。
3.按行政隶属关系由中央、地方分别进行统计。
中央、国务院部、委、办、直属机构、民主党派、社会团体直属的机关、事业单位(含京外单位),由中央、国务院部、委、办、直属机构、民主党派、社会团体负责统计;地方所属的机关、事业单位,由地方负责统计。
中央、国务院部、委、办、直属机构、民主党派、社会团体直属单位除将报表报送主管部门审核汇总外,应同时抄送给驻地省、自治区、直辖市人事厅(局)。
计划单列市除将报表报省、自治区、直辖市人事厅(局)审核汇总外,应同时抄报人力资源和社会保障部工资福利司。
4.根据机关、事业单位工作人员工资管理的需要,职工工资关系在哪个单位,就由哪个单位按现任职务、现聘岗位进行统计,担任两种以上行政职务的按最高职务统计。
在事业单位中,同时在专业技术岗位和管理岗位任职的人员分两种情况进行统计:(1)执行管理人员工资标准的人员,按管理人员统计;(2)执行专业技术人员工资标准的人员,暂按专业技术人员统计。
由于特殊原因,岗位(职务)变动而工资标准未变时,仍按原工资标准所对应的岗位(职务)进行统计。
5. 各单位在统计工资总额时,应按实发数计算。
在实际操作中,要注意工资总额不包括的项目有:(1)根据国务院有关规定颁发的创造发明奖、国家星火奖、自然科学奖、科学技术进步奖和支付的合理化建议和技术改进奖以及支付给运动员在重大体育比赛中的重奖。
(2)有关劳动保险和职工福利方面的费用。
具体有:职工死亡丧葬费及抚恤费、医疗卫生费或公费医疗费用、职工生活困难补助费、集体福利事业补贴、工会文教费、集体福利费、探亲路费等。
(3)有关离休、退休、退职人员待遇的各项支出。
工资报表 指标解释及逻辑关系

工资报表指标解释及逻辑关系1.统计机关、事业单位劳动工资计划管理所涉及到的各法人单位的全部职工。
2.主要调查各类机关、事业单位工作人员工资总额、平均工资、工龄等情况。
3.按行政隶属关系由中央、地方分别进行统计。
中央、国务院部、委、办、直属机构、民主党派、社会团体直属的机关、事业单位(含京外单位),由中央、国务院部、委、办、直属机构、民主党派、社会团体负责统计;地方所属的机关、事业单位,由地方负责统计。
中央、国务院部、委、办、直属机构、民主党派、社会团体直属单位除将报表报送主管部门审核汇总外,应同时抄送给驻地省、自治区、直辖市人事厅(局)。
计划单列市除将报表报省、自治区、直辖市人事厅(局)审核汇总外,应同时抄报人力资源和社会保障部工资福利司。
4.根据机关、事业单位工作人员工资管理的需要,职工工资关系在哪个单位,就由哪个单位按现任职务、现聘岗位进行统计,担任两种以上行政职务的按最高职务统计。
在事业单位中,同时在专业技术岗位和管理岗位任职的人员分两种情况进行统计:(1)执行管理人员工资标准的人员,按管理人员统计;(2)执行专业技术人员工资标准的人员,暂按专业技术人员统计。
由于特殊原因,岗位(职务)变动而工资标准未变时,仍按原工资标准所对应的岗位(职务)进行统计。
人社统RW1-17号表1.单位个数:是指填报本报表制度的事业法人和机关法人单位的个数。
2.职工年末人数:指年末最后一天的实际人数。
已经招用但到年末尚未报到的人员和尚未用完的进人指标,不得作为年末人数统计。
3.正式职工:指在机关、事业单位中,经国家有关部门分配、安排或批准招收录用的职工。
包括原固定职工和使用期限在一年以上的合同制职工。
正式职工是单位全部职工中的其中项。
4.职工年平均人数:是指报告年内每天平均拥有的人数。
职工年平均人数计算方法是:以12个月的平均人数(月平均人数是以报告月内每天实有的全部人数之和,被报告月的日历天数除求得)之和被12除求得,或四个季度平均人数之和被4除求得。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言大作业组员|:邵国琴王陈桥谢强题目:职工工资报表本题主函数通过调用create() 函数建立一个职工链表,每个结点的数据包括职工号和工资。
链表建立后主函数又调用list() 函数打印输出链表的全部结点的职工号和工资代码:#include "stdio.h" /*I/O函数*/# include "bios.h" /*ROM基本输入输出函数*/#include "dos.h" /*dos接口函数*/#include "conio.h" /*屏幕操作函数*/#include "stdlib.h" /*其它说明*/#include "string.h" /*字符串函数*/#include "mem.h" /*内存操作函数*/#include "ctype.h" /*字符操作函数*/#include "alloc.h" /*动态地址分配函数*//****变量定义*******/typedef struct z1 /*定义数据结构*/{char no[11]; /*编号*/char name[15]; /*姓名*/float jbgz; /*基本工资*/float koukuan; /*扣款*/float yfgz; /*应发工资*/float shuijin; /*税金*/float sfgz; /*实发工资*/struct z1 *prior;/*前驱指针*/struct z1 *next;/*后继指针*/}SALARY; /*结构体类型名*/struct z1 *First; /*双链表头指针*/struct z1 *Last; /*双链表尾指针*//******函数原型*********/void init(); /*初始化*/void create(); /*创建链表*/void calc(); /*计算应发工资*/void delete(); /*删除*/void search(); /*查找*/void save(); /*保存文件*/void load(); /*读取文件*/void computer(); /*计算所需各种票面张数*/void insert(); /*插入*/void append(); /*追加*/void copy(); /*复制文件*/void sort(); /*排序*/void index(); /*索引*/void total(); /*分类合计*/void list(); /*显示所有数据*/void print(SALARY *p); /*输出单条记录*/void display(); /*随意逐条显示*/float fax(float x); /*计算税金*/int menu_select(); /*主菜单*//*******主函数开始**********/main(){int i;clrscr();for(;;){switch(menu_select()) /*调用菜单函数返回一个整数值*/{case 0:init();break; /*初始化*/case 1:create();break; /*输入数据创建双链表*/case 2:list();break; /*显示所有数据*/case 3:display();break; /*单条显示*/case 4:calc();break; /*计算实发工资*/case 5:search();break; /*查找职工信息数据*/case 6:delete();break; /*删除记录*/case 7:insert();break; /*插入记录*/case 8:append();break; /*追加记录*/case 9:save();break; /*保存文件*/case 10:load(); break; /*读取文件*/case 11:copy();break; /*复制文件*/case 12:sort();break; /*按实发工资升序排序*/case 13:computer();break; /*计算所需票面数*/case 14:index();break; /*按职工号索引*/case 15:total();break; /*按部门求合计*/case 16:exit(0); /*退出*/}}}/*菜单函数,函数返回值为整型,代表所选的菜单项*/menu_select(){char *f[]= { /*定义菜单字符串数组*/"**************MENU*************", /*菜单的标题行*/" 0. init list", /*初始化双链表*/" 1. Enter list", /*输入数据,创建双链表*/" 2. List all \n", /*显示所有记录*/" 3. Display record by step", /*显示单条记录*/" 4. Calc the salary", /*计算实发工资*/" 5. Search record on name", /*查找记录*/" 6. Delete a record", /*删除记录*/" 7. Insert record to list", /*插入记录*/" 8. Append record to file", /*追加记录*/" 9. Save data to the file", /*保存文件*/" 10. Load data from the file",/*读取文件*/" 11. Copy the file to new file", /*复制文件*/" 12. Sort on sfgz", /*排序*/" 13. Computer ticket number", /*计算所需票面数*/" 14. Index on number", /*索引*/" 15. Total on number", /*分类合计*/" 16. Quit" }; /*退出*/char s[80];int i;int key=0; /*记录所压键值*/int c=0;gotoxy(1,25); /*移动光标*/printf("press any key enter menu......\n");/*压任意键进入主菜单*/ getch();clrscr(); /*清屏*/textcolor(YELLOW); /*设置文本颜色为黄色*/textbackground(BLUE); /*设置背景颜色为兰色*/gotoxy(10,2);putch(0xda); /*输出左上角边框┏*/for(i=1;i<44;i++)putch(0xc4); /*输出上边框水平线*/putch(0xbf); /*输出右上角边框┓*/for(i=3;i<22;i++)/*输出左右两边的垂直线*/{gotoxy(10,i);putch(0xb3);gotoxy(54,i);putch(0xb3);}gotoxy(10,22);putch(0xc0); /*输出左上角边框┗*/for(i=1;i<44;i++)putch(0xc4); /*输出下边框水平线*/putch(0xd9); /*输出右下角边框┛*/window(11,3,53,21); /* 制作显示菜单的窗口,大小根据菜单条数设计*/clrscr(); /*清屏*/for(i=0;i<18;i++){gotoxy(10,i+1);cprintf("%s",f[i]); /*输出菜单项数组*/}i=1;gotoxy(10,2); /*设置默认选项在第一项*/textbackground(LIGHTGREEN);/*设置背景颜色为浅绿*/cprintf("%s",f[1]); /*输出菜单项,表示选中*/gotoxy(10,2); /*移动光标到菜单的第一项*/while(key!=13) /*所压键不是回车键时*/{while(bioskey(1)==0); /*查询是否压下了一个键*/key=bioskey(0); /*返回下一个在键盘压下的键*/key=key&0xff?key&0xff:key>>8; /*对所压的键进行判断*/gotoxy(10,i+1);textbackground(BLUE);/*设置背景颜色为蓝色*/cprintf("%s",f[i]); /*输出菜单项*/if(key==72) i=i==1?17:i-1; /*如压向上光标键↑,i减1,如已到第一行再上移,则到最后一行*/if(key==80)i=i==17?1:i+1; /*如压向下光标键↓,i加1,如已到最后一行再下移,则到第一行*/gotoxy(10,i+1); /*光标移动i的下一项*/textbackground(LIGHTGREEN); /*将背景颜色设为浅绿*/cprintf("%s",f[i]); /*输出菜单项*/c=i-1; /*给代表菜单选项的整数赋值*/}textbackground(BLACK); /*设置背景颜色为黑色*/window(1,1,80,25); /*恢复原窗口大小*/return c; /*返回代表菜单选项的整数值*/}/*初始化函数*/void init(){First=NULL;Last=NULL;}/*输入数据,创建双链表*/void create(){int x; /*记录行坐标*/int i; /*记录输入记录数*/int flag=0; /*做结束标记*/float temp; /*定义临时变量*/SALARY *info,*p; /*定义临时变量*/if(First!=NULL)init();/*如果头指针为空,调用初始化函数*/p=First; /*从头指针开始*/for(;;){if(flag==1)break; /*如果flag=1,结束输入*/i=0;x=0; /*确定移动的行坐标*/clrscr(); /*清屏*/gotoxy(1,3);printf("*************gongziguanli*************");/*输出标题*/gotoxy(1,4);printf(" --Enter @ end--");/*提示输入@结束*/gotoxy(1,5);printf("|------------------------------------|");/*输出表格的起始线*/gotoxy(1,6);printf("| no | name | jbgz |");/*输出字段标题,注意空格数*/ for(;;){gotoxy(1,7+x);printf("|----------|----------------|--------|");/*输出表格的水平线*/info=(SALARY *)malloc(sizeof(SALARY));/*申请一个记录空间*/if(!info){printf("\nout of memory");/*如没有得到空间,输出内存溢出信息*/exit(0);/*退出程序*/}info->next=NULL;/*新结点的后继为空*/info->prior=NULL;/*新结点的前驱为空*/gotoxy(1,8+x);printf("|"); /*输出数据间的分割线*/gotoxy(12,8+x);printf("|");gotoxy(29,8+x);printf("|");gotoxy(38,8+x);printf("|");gotoxy(2,8+x);/*光标到输入编号位置*/inputs(info->no,10);/*输入编号,并验证长度不超过10*/if(info->no[0]=='@'){flag=1;break;} /*编号首字符为@结束输入*/gotoxy(13,8+x); /*光标到输入姓名位置*/inputs(info->name,14); /*输入姓名,并验证长度不超过14*/gotoxy(30,8+x); /*光标到输入基本工资位置*/scanf("%f",&temp); /*输入基本工资到临时变量*/info->jbgz=temp; /*基本工资赋值*/info->koukuan=0; /*初始扣款为0,待计算工资时输入*/info->sfgz=0; /*初始实发工资为0,待计算工资时计算*/info->shuijin=0; /*初始税金为0,待计算工资时计算*/info->yfgz=0; /*初始应发工资为0,待计算工资时计算*/if(p==NULL)/*如果p为空,说明输入的是第一个结点*/{First=Last=info;/*头指针和尾指针*/First->prior=NULL; /*头指针的前驱是空*/Last->next=NULL; /*尾指针的后继是空*/}else /*插入的结点不是第一结点,则插入在头结点之前*/{info->next=p;/*新结点的后继指向原来的头结点*/info->prior=p->prior;/*新结点的前驱指向原来的头结点的前驱*/p->prior=info;/*原来结点的前驱指向新结点*/}p=info; /*新结点变为p结点,暂时的头结点*/First=info; /*新结点变为头结点*/x+=2; /*因为水平线,将光标下移两行*/gotoxy(1,8+x);i++; /*输入记录数加1*/if(i%9==0)break; /*输入9个记录,换一页输入*/}gotoxy(1,8+x);}printf("|----------|----------------|--------|");/*输出结尾水平线*/}/*字符串输入和验证函数*/inputs(char *s, int count){char p[255];do{scanf("%s",p);/*输入字符串*/if(strlen(p)>count)printf("\n too long! \n");/*进行长度校验,超过count值重输入*/ }while(strlen(p)>count);strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/}/*显示链表*/void list(){int i=0,n; /*记录输出行数*/SALARY *p; /*定义移动指针*/clrscr(); /*清屏*/p=First; /*从头指针开始*/while(i%10==0&&p!=NULL) /*外循环控制换页*/{i=0; /*记录一页的输出行数*/clrscr(); /*清屏*/printf("\n\n\n"); /*换行三次*/printf("*************************************SALARY**************************** *******\n"); /*输出大标题*/printf("|nO | name | jbgz | koukuan | yfgz | shuijin | sfgz |\n"); /*输出字段标题*/printf("|----------|---------------|---------|---------|---------|---------|---------|\n"); /*输出水平线*/while(p!=NULL) /*当p不为空时*/{printf("|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f|\n",p->no,p->name,p->jbgz,p->koukuan,p->yfgz,p->shuijin,p->sfgz);p=p->next; /*指针后移*/i++; /*输出行数加1 */if(i%10==0)break; /*如果满10行,跳出内循环*/}printf("****************************************end****************************** *****\n"); /*输出本页的结束行*/printf("Press any key congtinue...\n");getch(); /*输出一页暂停一下,压任意键继续*/} /*返回到外循环,准备下一页的输出*/}/*单条显示记录*/void display(){int ch; /*菜单选项字符*/SALARY *p; /*定义临时指针*/clrscr(); /*清屏*/p=First; /*从头指针开始*/if(p==NULL) /*指针为空,即链表为空,返回主函数*/{printf("record is empty!\n");return;}else{print(p); /*调用输出函数显示头结点信息*/for(;;) /*循环开始*/{printf("\n\n0. Quit 1. Prior 2. Next 3. First st \n\n");/*菜单项Quit退出Prior前驱Next后继First第一条Last最后一条*/printf("\nplease select 0~4:"); /*提示输入菜单选项0~4*/scanf("%d",&ch); /*输入菜单选项0~4*/if(ch==0) break; /*如果选项为0,退出*/switch(ch) /*开关语句根据选项字符判断*/{case 1:p=p->prior;if(p==NULL)p=First;break; /*指向前驱,没有前驱指向第一个*/case 2:p=p->next;if(p==NULL) p=Last;break; /*指向后继,没有后继指向最后一个*/case 3:p=First;break; /*指向第一个结点*/case 4:p=Last;break; /*指向最后一个结点*/}print(p); /*调用输出函数显示指针所指结点信息*/}}}/*输出指针所指结点信息*/void print(SALARY *p){if(p) /*如果指针不为空,则显示信息*/{clrscr(); /*清屏*/printf("\n\n\n"); /*换行*/printf("************************************SALARY***************************** *******\n"); /*输出标题信息*/printf("|no | name | jbgz | koukuan| yfgz | shuijin | sfgz |\n"); /*输出字段标题*/printf("|----------|---------------|---------|---------|---------|---------|---------|\n"); /*输出分割线*/ printf("|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f|\n", p->no,p->name,p->jbgz,p->koukuan,p->yfgz,p->shuijin,p->sfgz);/*输出结点信息*/printf("***************************************end***************************** *******\n"); /*输出结束标记*/}}/*计算实发工资*/void calc(){int x; /*行坐标*/int i=0; /*记录数*/float temp; /*临时变量扣款*/SALARY *p; /*移动指针*/clrscr(); /*清屏*/p=First; /*从头指针开始*/while(p!=NULL) /*当p不为空时,也就是有记录时,外循环控制换页*/{x=0;clrscr();gotoxy(1,3);printf("***************************gongziguanli*********************************** *"); /*输出标题*/gotoxy(1,5);printf("|--------------------------------------------------------------------------|");gotoxy(1,6);/*下面输出字段标题*/printf("| no | name | jbgz | koukuan | yfgz |shuijin | sfgz |");while(p!=NULL) /*当p不为空时,也就是有记录时,内循环控制处理9条*/{gotoxy(1,7+x);printf("|----------|----------------|--------|----------|--------|--------|--------|");gotoxy(1,8+x);printf("|");gotoxy(12,8+x);printf("|");gotoxy(29,8+x);printf("|");gotoxy(38,8+x);printf("|");gotoxy(49,8+x);printf("|");gotoxy(58,8+x);printf("|");gotoxy(67,8+x);printf("|");gotoxy(76,8+x);printf("|");gotoxy(2,8+x);printf("%-10s",p->no); /*输出编号*/gotoxy(13,8+x);printf("%-15s",p->name); /*输出姓名*/gotoxy(30,8+x);printf("%.2f",p->jbgz); /*输出基本工资*/gotoxy(39,8+x);scanf("%f",&temp); /*输入扣款*/p->koukuan=temp; /*扣款字段赋值*/p->yfgz=p->jbgz-p->koukuan; /*计算应发工资=基本工资-扣款*/gotoxy(50,8+x);printf("%.2f",p->yfgz); /*输出应发工资*/gotoxy(59,8+x);p->shuijin=(p->yfgz-1000)*fax(p->yfgz); /*否则按税率计算税金*/printf("%.2f",p->shuijin); /*输出税金*/gotoxy(68,8+x);p->sfgz=p->yfgz-p->shuijin; /*计算实发工资*/printf("%-8.2f",p->sfgz); /*输出实发工资*/x+=2; /*行坐标下移两行*/i++; /*记录数加1*/if(i%9==0)break; /*记录数超过9条,跳出内循环*/p=p->next; /*指针后移,处理下一条*/}gotoxy(1,7+x);printf("|----------|----------------|--------|----------|--------|--------|--------|\n"); /*输出结束行*/ printf("Press any key congtinue...\n");getch();}}/*根据应发工资,计算税率*/float fax(float x){float f1;if(x<1000)return 0; /*小于1000,返回0*/switch((int)(x/1000)){case 1:f1=0.05;break; /*1000~1999,返回0.05*/case 2:f1=0.1;break; /*2000~2999,返回0.1*/case 3:f1=0.15;break; /*3000~3999,返回0.15*/case 4:f1=0.2;break; /*4000~4999,返回0.2*/default:f1=0.3;break; /*5000以上,返回0.3*/}return f1;}/*计算票面张数*/void computer(){SALARY *p;int i=0,a[7]={0},t100,t50,t20,t10,t5,t2,t1;/*设置数组和临时变量保存票面张数*/float t; /*过渡变量,保存当前剩余工资*/p=First; /*移动指针从头指针开始*/while(p!=NULL) /*当p不为空时*/{t100=(int)p->sfgz/100; /*计算100元张数*/a[0]=a[0]+t100; /*累加保存*/t=p->sfgz-t100*100; /*剩余工资*/t50=(int)(t/50); /*计算50元张数*/a[1]=a[1]+t50; /*累加保存*/t=t-t50*50; /*剩余工资*/t20=(int)(t/20); /*计算20元张数*/a[2]=a[2]+t20; /*累加保存*/t=t-t20*20; /*剩余工资*/t10=(int)(t/10); /*计算10元张数*/a[3]=a[3]+t10; /*累加保存*/t=t-t10*10; /*剩余工资*/t5=(int)(t/5); /*计算5元张数*/a[4]=a[4]+t5; /*累加保存*/t=t-t5*5; /*剩余工资*/t2=(int)(t/2); /*计算2元张数*/a[5]=a[5]+t2; /*累加保存*/t=t-t2*2; /*剩余工资*/t1=(int)(t); /*计算1元张数*/a[6]=a[6]+t1; /*累加保存*/p=p->next; /*指针后移,处理下一条记录*/}clrscr(); /*清屏*/printf("\n\n\n***********ticket number***************\n"); /*输出标题*/ printf("--100-----50------20-----10-----5------2------1------\n");/*输出张数标题*/for(i=0;i<7;i++)printf("%5d ",a[i]);/*输出所需的张数*/printf("\n");/*换行*/}/*按编号查找记录*/SALARY *find(char *no){SALARY *p; /*定义移动指针*/p=First; /*从头指针开始*/while(p) /*当p不为空时*/{if(!strcmp(no,p->no))return p; /*比较相等,查找成功,返回指针*/p=p->next; /*不相等指针后移*/}printf("not found\n"); /*没有找到*/return NULL; /*返回为空指针*/}/*删除结点*/void delete(){SALARY *p; /*定义临时变量,p指向要删除的结点p*/char s[11]; /*要删除结点的编号*/clrscr(); /*清屏*/printf("please deleted no\n"); /*提示输入信息*/scanf("%s",s); /*输入要删除的职工编号*/if((p=find(s))!=NULL) /*调用查找函数,如果找到做下面的处理*/{if(First==p) /*如果是第一个结点*/{First=p->next; /*将头指针指向其后继结点*/if(First) /*如头指针不为空*/First->prior=NULL; /*将头结点的前驱设为空*/elseLast=NULL; /*否则头为空,尾也为空*/}else /*删除的不是第一个结点*/{p->prior->next=p->next; /*p的前驱的后继指向p原来的后继*/if(p!=Last) /*如果p不是最后个结点*/p->next->prior=p->prior; /*p后继的前驱指向p原来的前驱*/ elseLast=p->prior;/*如p是最后一个结点,修改尾指针为p的前驱*/ }free(p); /*删除结点后,不要忘记释放空间*/printf("\n have deleted %s SALARY\n",s);printf("Don't forget save\n");}}/*按姓名查找结点*/void search(){SALARY *p; /*移动指针*/char s[15]; /*保存姓名*/clrscr(); /*清屏*/printf("please enter name for search\n"); /*提示输入*/scanf("%s",s); /*输入要查找人的姓名*/p=First; /*移动指针从头指针开始*/while(strcmp(p->name,s)&&p!=NULL) /*做比较判断*/p=p->next; /*没找到,指针后移继续查找*/if(p==NULL) /*指针为空,说明没有找到*/printf("\nlist no %s SALARY\n",s); /*显示没找到信息*/ else{printf("\n\n"); /*换行*/print(p); /*查找成功,调用输出函数输出指针p所指记录*/ }}/*插入结点*/void insert(){SALARY *p,*info; /* info为新结点,p为新结点的后继*/char s[11]; /*保存查找的姓名*/float temp; /*临时变量*/clrscr(); /*清屏*/printf("please enter location before the no\n"); /*提示输入在哪个结点之前插入*/ scanf("%s",s); /*输入指定结点的编号*/printf("\nplease new record\n"); /*提示输入记录*/clrscr();/*清屏*/gotoxy(1,3); /*定位光标,按表格形式输入新结点信息*/printf("**************gongziguanli************");gotoxy(1,5);printf("|------------------------------------|");gotoxy(1,6);printf("| no | name | jbgz | ");gotoxy(1,7);printf("|----------|----------------|--------|");info=(SALARY *)malloc(sizeof(SALARY)); /*申请空间*/if(!info){printf("\nout of memory"); /*如没有得到空间,内存溢出*/exit(0); /*退出程序*/}info->next=NULL; /*新结点的后继为空*/info->prior=NULL; /*新结点的前驱为空*/gotoxy(1,8);printf("|");gotoxy(12,8);printf("|");gotoxy(29,8);printf("|");gotoxy(38,8);printf("|");gotoxy(2,8);inputs(info->no,10); /*输入新结点的编号,并校验*/gotoxy(13,8);inputs(info->name,14); /*输入新结点的姓名,并校验*/gotoxy(30,8);scanf("%f",&temp); /*输入基本工资*/info->jbgz=temp; /*给基本工资字段赋值*/info->koukuan=0; /*扣款初始为0*/info->yfgz=0; /*应发工资初始为0*/info->shuijin=0; /*税金初始为0*/info->sfgz=0; /*实发工资初始为0*/printf("|----------|----------------|--------|");p=First; /*移动指针从头指针开始*/while(strcmp(p->no,s)&&p!=NULL) /*查找结点确定插入位置*/p=p->next; /*指针后移,继续查找*/if(p==NULL) /*如p为空*/if(p==First) /*如p为头指针,说明链表为空*/{First=info; /*新结点为头指针*/First->prior=NULL; /*头结点的前驱为空*/Last=First; /*唯一结点,尾指针等于头指针*/}else /*新结点插在尾部*/{Last->next=info;info->prior=Last;Last=info; /*尾指针指向新结点*/}elseif(p==First) /*p不为空,但p为头指针,新结点插在第一个结点位置*/ {info->prior=NULL; /*新结点的前驱为空*/info->next=p; /*新结点的后继为p*/p->prior=info; /*p的前驱是新结点*/First=info; /*修改头指针指向新结点*/}else /*新结点插入在中间某一个位置p之前*/{info->next=p; /*新结点的后继是p*/info->prior= p->prior; /*新结点的前驱是p的前驱*/p->prior->next=info; /*p的前驱的后继是新结点*/p->prior=info; /*p的前驱是新结点*/}printf("\n\n\n ----have inserted %s SALARY----\n",info->name);printf("\n---Don't forget save---\n"); /*提醒调用保存文件存盘*/}/*保存文件*/void save(){FILE *fp; /*定义指向文件的指针*/SALARY *p; /*定义移动指针*/char outfile[10]; /*保存输出文件名*/clrscr();/*清屏*/printf("Enter outfile name,for example c:\\f1\\te.txt:\n");/*提示输入文件名格式信息*/ scanf("%s",outfile);if((fp=fopen(outfile,"wb"))==NULL) /*为输出打开一个二进制文件*/{printf("can not open file\n");return; /*返回*/}printf("\nSaving file......\n");p=First; /*移动指针从头指针开始*/while(p!=NULL) /*如p不为空*/{fwrite(p,sizeof(SALARY),1,fp); /*写入一条记录*/p=p->next; /*指针后移,处理下一条记录*/}fclose(fp); /*关闭文件*/printf("-----save success!!-----\n");/*显示保存成功*/}/*读文件*/void load(){SALARY *p,*q=NULL; /*定义记录指针变量*/FILE *fp; /* 定义指向文件的指针*/char infile[10]; /*保存文件名*/clrscr();/*清屏*/printf("Enter infile name,for example c:\\f1\\te.txt:\n");/*输入文件名格式*/scanf("%s",infile); /*输入文件名*/if((fp=fopen(infile,"rb"))==NULL) /*打开一个二进制文件,为读方式*/{printf("can not open file\n"); /*如不能打开,则结束程序*/return; /*返回*/}while(First) /*当表不为空时,清空链表*/{p=First; /*从头指针开始*/First=First->next; /*删除头结点*/free(p); /*释放空间*/}printf("\n -----Loading file!-----\n"); /*显示正在读文件*/First=(SALARY *)malloc(sizeof(SALARY)); /*为头指针申请空间*/if(!First) /*如果没有得到空间显示内存溢出*/{printf("out of memory!\n");return; /*返回*/}p=First; /*将头指针赋值给p*/while(!feof(fp)) /*当文件不空时*/{if(1!=fread(p,sizeof(SALARY),1,fp))break; /*将记录读到p所指的结点*/p->next=(SALARY *)malloc(sizeof(SALARY));/*为p的后继申请空间*/if(!p->next) /*如果没有得到空间显示内存溢出*/{printf("out of memory!\n");return; /*返回*/}p->prior=q; /*得到空间,则链接指针关系p的前驱为q*/q=p; /*保存p做为新的p结点的前驱*/p=p->next; /*p指针后移*/}q->next=NULL; /*q的后继为空*/Last=q; /*尾指针为q*/First->prior=NULL; /*头指针的前驱为空*/fclose(fp); /*关闭文件*/printf("---You have success read data from file!!!---\n"); /*显示成功读入记录*/ }/*追加记录*/void append(){FILE *fp; /*定义指向文件的指针*/SALARY *info; /*指向追加信息的指针*/char infile[10]; /*保存文件名*/float temp; /*临时变量*/clrscr(); /*清屏*/gotoxy(1,3);printf("**************gongziguanli************");gotoxy(1,5);printf("|------------------------------------|");gotoxy(1,6);printf("| no | name | jbgz | ");gotoxy(1,7);printf("|----------|----------------|--------|");info=(SALARY *)malloc(sizeof(SALARY)); /*申请追加信息的空间*/if(!info){printf("\nout of memory"); /*没有空间,内存溢出*/exit(0); /*结束程序*/}info->next=NULL; /*新信息的后继为空*/info->prior=NULL; /*新信息的前驱为空*/gotoxy(1,8);printf("|");gotoxy(12,8);printf("|");gotoxy(29,8);printf("|");gotoxy(38,8);printf("|");gotoxy(2,8);inputs(info->no,10); /*输入编号并校验*/gotoxy(13,8);inputs(info->name,14); /*输入姓名并校验*/gotoxy(30,8);scanf("%f",&temp); /*输入基本工资*/info->jbgz=temp;info->koukuan=0; /*扣款为0*/info->yfgz=0; /*应发工资为0*/info->shuijin=0; /*税金为0*/info->sfgz=0; /*实发工资为0*/printf("|----------|----------------|--------|");printf("\n\n\nEnter infile name,for example c:\\f1\\te.txt:\n"); /*提示输入文件名*/ scanf("%s",infile);if((fp=fopen(infile,"ab"))==NULL) /*打开文件*/{printf("can not open file\n");return; /*返回*/}printf("\n -----Appending record!-----\n");if(1!=fwrite(info,sizeof(SALARY),1,fp)) /*向文件中追加记录*/{printf("-----file write error!-----\n"); /*写函数返回值不为1,说明写入错误*/ return; /*返回*/}printf("-----append sucess!!----\n");/*显示追加成功*/fclose(fp);/*关闭文件*/}/*文件复制*/void copy(){char outfile[10],infile[10]; /*保存源文件名和目标文件名*/FILE *sfp,*tfp; /*定义指向源文件和目标文件的指针*/SALARY *p=NULL; /*定义临时指针,暂存读出的记录*/clrscr();printf("Enter infile name,for example c:\\f1\\te.txt:\n");scanf("%s",infile); /*输入源文件名*/if((sfp=fopen(infile,"rb"))==NULL) /*二进制读方式打开源文件*/{printf("can not open input file\n"); /*显示不能打开文件信息*/return; /*返回*/}printf("Enter outfile name,for example c:\\f1\\te.txt:\n"); /*提示输入目标文件名*/ scanf("%s",outfile); /*输入目标文件名*/if((tfp=fopen(outfile,"wb"))==NULL) /*二进制写方式打开目标文件*/{printf("can not open output file \n");return;}while(!feof(sfp)) /*读文件直到文件尾*/{if(1!=fread(p,sizeof(SALARY),1,sfp))break;/*块读*/fwrite(p,sizeof(SALARY),1,tfp); /*块写*/}fclose(sfp); /*关闭源文件*/fclose(tfp); /*关闭目标文件*/printf("you have success copy file!!!\n");/*显示成功拷贝*/}/*排序*/void sort(){SALARY *p0,*p00,*p1,*p11,*p2; /*定义临时指针*/int i=1; /*统计当前排第几个结点*/clrscr(); /*清屏*/printf("\n\n start sort....\n"); /*开始排序*/p1=p11=p2=First;while(p1!=NULL) /*当p1不为空时*/{p0=p1; /*待比较结点从p1开始*/p2=p1; /*p2从当前待排序位置开始*/while(p2->next!=NULL) /*p2的后继不为空时*/{if(p0->sfgz>p2->next->sfgz) /*找当前最小结点*/{p00=p2; /*找到当前最小结点记录其前驱指针*/p0=p2->next; /*记录当前最小值结点的指针p0*/}p2=p2->next; /*指针后移*/}Last=p0; /*当前最小结点为尾结点*/if(p1!=p0) /*判断最小结点是否是当前排序位置,不是则作指针修改*/{p00->next=p0->next; /*将p00的后继指向p0的后继*/p0->next->prior=p00; /*p0的后继的前驱为p00*/p0->next=p1; /*p0的后继指向下个排序位置p1*/p1->prior=p0; /*p1的前驱为p0*/if(i==1){First=p0; /*作头指针*/First->prior=NULL; /*头指针的前驱为空*/}else /*不是第一个结点*/{p11->next=p0; /*p11的后继指向p0*/p0->prior=p11; /*p0的前驱指向p11*/}p11=p1=p0; /*因p0是排好序的最后一个结点,p1是下一个将要排序的位置,所以将p0赋值给p1和p11*/}i++; /*排好序的结点数加1*/p1=p1->next; /*p1后移指向下一个待排序位置*/}printf("sort sucess!!!\n"); /*输出排序成功*/}/*索引*/void index(){SALARY *p,*q,*t,*h1; /*定义临时指针*/clrscr();/*清屏*/printf("\n\n start index.....\n\n"); /*显示开始索引*/h1=First->next; /*将原表的头指针所指的下一个结点作头指针*/First->next=NULL; /*第一个结点为新表的头结点*/Last=First; /*尾指针等于头指针*/while(h1!=NULL) /*当原表不为空时,进行排序*/{t=h1; /*取原表的头结点*/h1=h1->next; /*原表头结点指针后移*/p=First; /*设定移动指针p,从头指针开始*/q=First; /*设定移动指针q做为p的前驱,初值为头指针*/while(strcmp(t->no,p->no)>0&&p!=NULL) /*作编号比较*/{q=p; /*待排序点值大,应往后插,所以新表指针后移*/p=p->next;}if(p==q) /*p==q,说明待排序点值小,应排在首位*/{t->next=p; /*待排序点的后继为p*/p->prior=t; /*p的前驱结点指向待排序结点*/First=t; /*新头结点为待排序点*/First->prior=NULL; /*头指针的前驱为空*/}else /*待排序点应插入在中间某个位置q和p之间,如p为空则是尾部*/ {t->next=p; /*t的后继是p*/t->prior=q; /*t的前驱是q*/q->next=t; /*q的后继是t*/if(p==NULL) /*判p是否为空*/Last=t; /*将t赋值为尾指针*/elsep->prior=t; /*否则将t赋值给p的前驱*/}}printf("index sucess!!!\n");/*索引排序成功*/}/*分类合计*/void total(){struct t1 /*定义结构体保存合计数据*/{char u[7]; /*部门*/float s; /*合计实发工资*/}unit[20]; /*定义一个单位部门数不超过20个*/SALARY *p,*q; /*定义临时指针变量*/char sno[7],qno[7],*ptr; /*保存部门号*/float s1; /*保存合计值*/int i,j; /*控制变量*/p=First; /*从指针开始*/i=0; /*统计部门数*/clrscr();/*清屏*/while(p!=NULL) /*当p不为空时做下面的处理*/{memcpy(sno,p->no,6); /*从编号中取出部门号*/sno[6]='\0'; /*做字符串结束标记*/q=p->next; /*将指针指向待比较的记录*/s1=p->sfgz; /*当前部门的实发工资初值作为该部门合计值的初值*/while(q!=NULL) /*内循环开始*/{memcpy(qno,q->no,6); /*读部门号*/qno[6]='\0'; /*做字符串结束标记*/if(strcmp(qno,sno)==0) /*比较部门号*/{s1+=q->sfgz; /*累加实发工资*/q=q->next; /*指针指向下一条记录*/}elsebreak; /*不是一个部门的结束本次内循环*/}strcpy(unit[i].u,sno); /*将部门号写入部门结构体数组中*/unit[i].s=s1; /*将实发工资写入部门结构体数组中*/i++; /*部门数累加*/if(q==NULL) /*如果q为空,跳出循环*/break;elsep=q; /*否则,将q赋值给p*/}printf("\n\n**************Total table**************\n");/*输出合计标题*/printf("\n--no-------unit------------total---------\n"); /*输出序号、部门、合计字段标题*/ for(j=0;j<i;j++)printf(" %d %s %10.2f\n",j,unit[j].u,unit[j].s); /*输出合计值*/ printf("----------------------------------------\n");}。