收藏 分销(赏)

职工工资信息管理系统设计.doc

上传人:天**** 文档编号:2629358 上传时间:2024-06-03 格式:DOC 页数:28 大小:153.54KB
下载 相关 举报
职工工资信息管理系统设计.doc_第1页
第1页 / 共28页
职工工资信息管理系统设计.doc_第2页
第2页 / 共28页
职工工资信息管理系统设计.doc_第3页
第3页 / 共28页
职工工资信息管理系统设计.doc_第4页
第4页 / 共28页
职工工资信息管理系统设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、综合实验实验报告 实 验 名 称_职工工资信息管理系统_学 生 专业_网络工程_学 生 学 号_ _学 生 姓 名_ _一、 题目职工工资信息管理系统、需要处理的基础抒抉职工基本信息:如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。工资基础信息:技术职称编号、技术职称、基本工资、职务工资、各种补助等。费用扣除信息:工资卡号、水费、电费、清洁费(5元/月)、闭路电视费(10/月)等。工资单数据:工资卡号、姓名、应发工资、水费、电费、清洁费、闭路电视费、税金、实发工资、特别奖励。其中:税金计算方法为:应发工资1800元,税金=0;1800应发工

2、资3400元,税金=(应发工资-3400)*10%、系统功能:(1)、各种基本数据的录入。如:职工基本信息录入。(2)、各种基本数据的修改。如:允许对以及录入的数据重新进行编辑、修改。(3)、各种基本数据的插入。如:在工资基础信息中插入一条新信息。(4)、各种基本数据的删除。如:假设某员工调离,删除该员工的相关信息等。(5)、基于各种数据的查询。如:技术职称为技术员的所有员工、基本工资在1000元以上的员工等。(6)、基于各种基本数据的统计计算、数据结构说明及举例数据结构可以采用十字交叉链表,也允许辅之以其他链表来完成对系统基础数据的完整描述。二、 系统功能模块结构图职工工资信息管理系统 载入

3、模块插入模块统计模块查找模块删除模块修改模块录入模块三、 各模块功能 载入模块(struct worker *loadrec())根据data.txt文件中所保存的数据送到内存中进行处理,此时可省略录入信息的过程。 录入模块(struct worker *enterrec())对数据进行格式化,重新录入所有员工的信息。 修改模块(void change(struct worker *p1))根据用户所提供的员工身份证号查找员工并重新输入改员工的信息。 插入模块(void newrec(struct worker *head))新建一个员工的信息,并把该员工放到数据链表的最后面。 删除模块(st

4、ruct worker *delrec(struct worker *head))根据用户锁提供的员工身份证号查找员工并删除该员工的信息。 查找模块根据用户的操作判断用户所需要查找的数据类型进行查找。 统计模块根据用户的操作判断用户所需要统计的数据类型进行统计。四、实验结果1、2、3、4、五、体会以前也做过很多实验,有时候觉得做实验没什么用,都是些小工具、小实验。现在才发现原来大实验是靠平时积累出来的,没有写过小实验,怎么会懂得写像这次综合实验一样的大实验呢!能写出想职工工资信息管理系统这么“庞大”的实验真的很有成就感。总结一句话:知识是日积月累的。由于时间比较赶,所以就实现了大部分的功能,还

5、有小部分内容有待完善,敬请老师谅解,谢谢!六、参考文献C程序设计 谭浩强 清华大学出版社 百度知道附录:程序清单(程序代码)#include#include#include#include#include stdlib.h#define LEN sizeof(struct worker)struct workerchar credit_num20; char id20; char name10; char sex10; int age; int workage; char department20; char position20; int position_num; char telepho

6、ne9; char mobilephone12; double basepay; double positionpay; double extrapay; double water_fare; double power_fare; double clean_fare; double tv_fare; double pay; double tax; double realpay; double others; struct worker *next; void menu() /菜单system(cls); printf( *n); printf( * 职工工资信息管理系统 *n); printf

7、( *n);printf( 功能有限 敬请谅解n);printf( 如有雷同 纯属巧合n); printf( *n); printf( *n); printf( * 0、退出编辑 *n);printf( * 1、数据录入 *n); printf( * 2、数据修改 *n); printf( * 3、数据插入 *n); printf( * 4、数据删除 *n); printf( * 5、数据查询 *n); printf( * 6、数据统计计算 *n);printf( * 任何情况下点击右上角的叉叉图标即可关闭 *n); printf( *n); printf( *n);printf(请输入所选择

8、的序号:);struct worker *enterrec() /录入信息struct worker *head,*p1,*p2;FILE *fp;system(cls);p1=p2=(struct worker*)malloc(LEN);head=p1;printf(nn请正确输入职工基本信息:(本项信息没有的用0代替)n请输入身份证号码:); scanf(%s,p1-id);while(strcmp(p1-id,0)!=0) printf(请输入姓名:); scanf(%s,p1-name); printf(请输入性别:); scanf(%s,p1-sex); printf(请输入年龄:)

9、; scanf(%d,&p1-age); printf(请输入工龄:); scanf(%d,&p1-workage ); printf(请输入部门:); scanf(%s,p1-department ); printf(请输入技术职称:); scanf(%s,p1-position); printf(请输入技术职称编号:); scanf(%d,&p1-position_num ); printf(请输入工资卡号:); scanf(%s,p1-credit_num ); printf(请输入家庭电话号码:); scanf(%s,p1-telephone); printf(请输入手机号码:); s

10、canf(%s,p1-mobilephone); printf(请输入基本工资:); scanf(%lf,&p1-basepay); printf(请输入职务工资:); scanf(%lf,&p1-positionpay); printf(请输入补助资金:); scanf(%lf,&p1-extrapay); printf(请输入水费:); scanf(%lf,&p1-water_fare); printf(请输入电费:); scanf(%lf,&p1-power_fare); printf(请输入特别奖励资金:); scanf(%lf,&p1-others);p1-clean_fare=5;

11、p1-tv_fare=10;p1-pay=p1-basepay+p1-positionpay+p1-extrapay-p1-water_fare-p1-power_fare-p1-clean_fare-p1-tv_fare;if(p1-paytax=0;else if(p1-pay1800&p1-paytax=(p1-pay-1800)*0.05;else p1-tax=(p1-pay-3400)*0.1;p1-realpay=p1-pay-p1-tax+p1-others;p1=(struct worker*)malloc(LEN);p2-next=p1;p2=p1;printf(请输入下一

12、个员工身份证号码(若录入结束输入0即可!);scanf(%s,p1-id);p2-next=NULL;fp=fopen(data.txt,at+);p1=head;while(p1-next!=NULL) fprintf(fp,%s %s %s %d %d %s %s %d %s %s %s %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2fn,p1-id,p1-name,p1-sex,p1-age,p1-workage,p1-department,p1-position,p1-position_num,p1-credit_num,p1-telephone

13、,p1-mobilephone,p1-basepay,p1-positionpay,p1-extrapay,p1-water_fare,p1-power_fare,p1-others,p1-pay,p1-tax,p1-realpay);p1=p1-next;fclose(fp);printf(录入成功n);system(pause);return head;void change(struct worker *p1) /修改char id20;system(cls);printf(请输入要编辑的员工身份证号:);scanf(%s,id);while(p1-next!=NULL)if(strcm

14、p(p1-id,id)=0) break;else p1=p1-next;if(strcmp(p1-id,id)=0)printf(nn请重新输入该职工基本信息:n请输入身份证号码:); scanf(%s,p1-id); printf(请重新输入姓名:); scanf(%s,p1-name); printf(请重新输入性别:); scanf(%s,p1-sex); printf(请重新输入年龄:); scanf(%d,&p1-age); printf(请重新输入工龄:); scanf(%d,&p1-workage ); printf(请重新输入部门:); scanf(%s,p1-departm

15、ent ); printf(请重新输入技术职称:); scanf(%s,p1-position); printf(请重新输入技术职称编号:); scanf(%d,&p1-position_num ); printf(请重新输入工资卡号:); scanf(%s,p1-credit_num ); printf(请重新输入家庭电话号码:); scanf(%s,p1-telephone); printf(请重新输入手机号码:); scanf(%s,p1-mobilephone); printf(请重新输入基本工资:); scanf(%lf,&p1-basepay); printf(请重新输入职务工资:

16、); scanf(%lf,&p1-positionpay); printf(请重新输入补助资金:); scanf(%lf,&p1-extrapay); printf(请重新输入水费:); scanf(%lf,&p1-water_fare); printf(请重新输入电费:); scanf(%lf,&p1-power_fare); printf(请重新输入特别奖励资金:);scanf(%lf,&p1-others);p1-clean_fare=5;p1-tv_fare=10;p1-pay=p1-basepay+p1-positionpay+p1-extrapay-p1-water_fare-p1

17、-power_fare-p1-clean_fare-p1-tv_fare;if(p1-paytax=0;else if(p1-pay1800&p1-paytax=(p1-pay-1800)*0.05;else p1-tax=(p1-pay-3400)*0.1;p1-realpay=p1-pay-p1-tax+p1-others;printf(修改成功n);else printf(找不到该员工n);system(pause);void write(struct worker *head) /写入system(cls);struct worker *p1;FILE *fp;fp=fopen(dat

18、a.txt,wt+);p1=head;while(p1-next!=NULL) fprintf(fp,%s %s %s %d %d %s %s %d %s %s %s %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2f %.2fn,p1-id,p1-name,p1-sex,p1-age,p1-workage,p1-department,p1-position,p1-position_num,p1-credit_num,p1-telephone,p1-mobilephone,p1-basepay,p1-positionpay,p1-extrapay,p1-water_

19、fare,p1-power_fare,p1-others,p1-pay,p1-tax,p1-realpay);p1=p1-next;fclose(fp);printf(数据已成功保存在data.txt中!n);struct worker *loadrec()FILE *fp; struct worker *head,*p1,*p2;fp=fopen(data.txt,rt);p1=p2=(struct worker*)malloc(LEN);head=p1;while(!feof(fp)fscanf(fp,%s %s %s %d %d %s %s %d %s %s %s %lf %lf %lf

20、 %lf %lf %lf %lf %lf %lfn,p1-id,p1-name,&p1-sex,&p1-age,&p1-workage,p1-department,p1-position,&p1-position_num,p1-credit_num,&p1-telephone,p1-mobilephone,&p1-basepay,&p1-positionpay,&p1-extrapay,&p1-water_fare,&p1-power_fare,&p1-others,&p1-pay,&p1-tax,&p1-realpay);p1=(struct worker*)malloc(LEN);p2-n

21、ext=p1;p2=p1;p1-next=NULL;return head;void newrec(struct worker *head) /插入system(cls);struct worker *p1,*p2;p1=head;while(p1-next!=NULL)p1=p1-next;p2=(struct worker*)malloc(LEN);p2-next=NULL;p1-next=p2;p2=p1;printf(nn请输入新职工基本信息:n请输入身份证号码:); scanf(%s,p1-id); printf(请输入姓名:); scanf(%s,p1-name); printf(

22、请输入性别:); scanf(%s,p1-sex); printf(请输入年龄:); scanf(%d,&p1-age); printf(请输入工龄:); scanf(%d,&p1-workage ); printf(请输入部门:); scanf(%s,p1-department ); printf(请输入技术职称:); scanf(%s,p1-position); printf(请输入技术职称编号:); scanf(%d,&p1-position_num ); printf(请输入工资卡号:); scanf(%s,p1-credit_num ); printf(请输入家庭电话号码:); sc

23、anf(%s,p1-telephone); printf(请输入手机号码:); scanf(%s,p1-mobilephone); printf(请输入基本工资:); scanf(%lf,&p1-basepay); printf(请输入职务工资:); scanf(%lf,&p1-positionpay); printf(请输入补助资金:); scanf(%lf,&p1-extrapay); printf(请输入水费:); scanf(%lf,&p1-water_fare); printf(请输入电费:); scanf(%lf,&p1-power_fare); printf(请输入特别奖励资金:

24、);scanf(%lf,&p1-others);p1-clean_fare=5;p1-tv_fare=10;p1-pay=p1-basepay+p1-positionpay+p1-extrapay-p1-water_fare-p1-power_fare-p1-clean_fare-p1-tv_fare;if(p1-paytax=0;else if(p1-pay1800&p1-paytax=(p1-pay-1800)*0.05;else p1-tax=(p1-pay-3400)*0.1;p1-realpay=p1-pay-p1-tax+p1-others;printf(插入信息成功n);syst

25、em(pause);struct worker *delrec(struct worker *head) /删除system(cls);struct worker *p1,*p2;char str20;p1=head;p2=NULL;printf(请输入要删除职工的身份证号:);scanf(%s,str);while(p1-next!=NULL)if(strcmp(p1-id,str)=0) break; else p2=p1;p1=p1-next;if(p1-next=NULL&(strcmp(p1-id,str)!=0) printf(找不到该员工n);else if(p2=NULL) p

26、1=p1-next;head=p1;printf(删除成功!n);else p2-next=p1-next;printf(删除成功!n); system(pause);return head;void search1(struct worker *head)system(cls);struct worker *p1;p1=head;printf(技术职称为技术员的所有员工身份证号:n);while(p1!=NULL)if(strcmp(p1-position,技术员)=0) printf(%sn,p1-id);p1=p1-next;else p1=p1-next;system(pause);v

27、oid search2(struct worker *head)system(cls);struct worker *p1;p1=head;printf(基本工资在1000元以上的员工身份证号:n);while(p1!=NULL)if(p1-basepay=1000) printf(%sn,p1-id);p1=p1-next;else p1=p1-next;system(pause);void menu1(struct worker *head)system(cls);int n;printf( * 1、查询技术职称为技术员的所有员工n); printf( * 2、查询基本工资在1000元以上

28、的员工n); printf(请输入所选择的序号:);scanf(%d,&n);switch(n)case 1: search1(head);break;case 2: search2(head);break;default : printf(输入有误,请退出重新输入n);system(pause);void statistic1(struct worker *head)struct worker *p1;int n=0;p1=head;while(p1!=NULL)if(p1-agenext;else p1=p1-next;printf(年龄20岁以下青年员工数:%dn,n-1);system

29、(pause);void statistic2(struct worker *head)struct worker *p1;int n=0;p1=head;while(p1!=NULL)if(p1-age20&p1-agenext;else p1=p1-next;printf(年龄20岁以上,45岁以下的员工数:%dn,n);system(pause);void statistic3(struct worker *head)struct worker *p1;int n=0;p1=head;while(p1!=NULL)if(p1-age=55) n+;p1=p1-next;else p1=p

30、1-next;printf(年龄55岁以上退休员工数:%dn,n);system(pause);void menu2(struct worker *head)system(cls);int n;printf( * 1、计算年龄20岁以下青年员工数n); printf( * 2、年龄20岁以上,45岁以下的员工数n);printf( * 3、年龄55岁以上退休员工数n);printf(请输入所选择的序号:);scanf(%d,&n);switch(n)case 1: statistic1(head);break;case 2: statistic2(head);break;case 3: sta

31、tistic3(head);break;default : printf(输入有误,请退出重新输入n);system(pause);main()system(color 0A);int n;struct worker *head=NULL;menu();head=loadrec();scanf(%d,&n);while(n!=0)switch(n)case 1: head=enterrec();break;case 2: change(head);break;case 3: newrec(head);break;case 4: head=delrec(head);break;case 5: m

32、enu1(head);break;case 6: menu2(head);break;case 0: return 0;default : printf(输入有误,请退出重新进入!);write(head);menu();scanf(%d,&n);system(cls);printf(谢谢使用!n);return 0;目 录第一章 总论1第一节 项目背景1第二节 项目概况2第二章 项目建设必要性5第三章 市场分析与建设规模7第一节 汽车市场需求分析7第二节 市场预测12第三节 项目产品市场分析13第四节 建设规模16第四章 场址选择17第一节 场址所在位置现状17第二节场址建设条件17第五章

33、技术方案、设备方案、工程方案22第一节 技术方案22第二节 设备方案28第三节 工程方案33第六章 原材料、燃料供应38第七章 总图布置与公用辅助工程39第一节 总图布置39第二节 公用辅助工程43第八章 环境影响评价52第一节 环境保护设计依据52第二节 项目建设和生产对环境的影响52第三节 环境保护措施54第四节 环境影响评价56第九章 劳动安全卫生与消防57第一节 劳动安全卫生57第二节 消防64第十章 节能与节能措施67第一节 项目概况67第二节 项目综合能耗69第三节 节约及合理利用能源的主要措施71第十一章 项目实施进度与人力资源配置76第一节 建设工期76第一节 项目实施进度76第二节 生产组织与人员培训79第十二章 投资估算与资金筹措82第一节 建设投资估算82第二节 总投资估算86第三节 资金筹措86第十四章 财务效益分析88第一节 财务评价基础数据与参数选取88第二节 销售收入及销售税金估算89第三节 成本费用估算89第四节 财务评价91第五节 不确定性分析93第十三章 风险分析95第十四章 结论与建议97第一节 研究结论97第二节 建议97

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

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

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服