ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:108.91KB ,
资源ID:3474236      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3474236.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C职工工资管理系统报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C职工工资管理系统报告.docx

1、C职工工资管理系统报告1.题目职工工资管理系统的设计与实现2.功能(1)每一条记录包括一个职工的工号、姓名、基本工资、职务工资、津贴、医疗保险、公积金和总工资。(2)输入功能:可以一次完成多条记录的输入。(3)显示功能:完成全部职工记录的显示。(4)查找功能:完成按工号和姓名查找职工记录,并显示。(5)排序功能:按职工的工号进行排序。(6)插入功能:可以插入多名职工信息记录。(7)保存功能:将职工记录保存在任何自定义的文件中。(8)读取功能:将保存在文件中的职工信息工资信息读取出来。(9)有一个清晰美观界面来调用各个功能3.要求(1)整个系统均用C语言实现;(2)利用指针、链表来实现学生成绩的

2、数据结构设计;(3)系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能;(4)系统的各个功能模块都用函数的形式来实现;(5)可以将职工工资信息保存在文件中。(6)可以将职工工资信息从文件中读取出来。4.设计内容整个系统除了主函数外,另外还有14个函数,实现八大功能:输入功能、显示功能、查找功能、排序功能、插入功能、保存功能、读取功能。各个函数的详细设计说明分别如下:主函数 main()利用无限次循环for( )和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。菜单选择函数 void menu()这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有

3、显示系统的主要功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,按任一键回到主界面也要通过这个函数来实现!void menu() um); printf(请输入姓名: ); scanf(%s,&emi.name); getchar(); printf(请输入基本工资: ); scanf(%d,&emi.jbgz); printf(请输入职务工资: ); scanf(%d,&emi.zwgz); printf(请输入津贴: ); scanf(%d,&emi.jt); printf(请输入医疗保险: ); scanf(%d,&emi.yb); printf(请输入公积金: ); sc

4、anf(%d,&emi.gjj); emi.total=(emi.jbgz)+(emi.zwgz)+(emi.jt)-(emi.yb)-(emi.gjj);um,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); sum+=emi.total;um) printf(职工号 姓名 基本工资 职务工资 津贴 医疗保险 公积金 总工资 n); printf(n %-6d%-6s %-8d %-8d %-8d %-8d %-8d %-8d ,emi.num,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.

5、yb,emi.gjj,emi.total); break; if(i=m) printf(n对不起,查无此人n); printf(n); printf(返回查询函数请按1,继续查询职工号请按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; 按姓名查询:void search_name() char name30; int i,t; int m=load(); printf(请输入姓名:n); scanf(%s,name); for(i=0;im;i+) if(strcmp(emi.

6、name,name)=0) printf(n已找到,其记录为:n); printf(职工号 姓名 基本工资 职务工资 津贴 医疗保险 公积金 总工资 n); printf(n %-6d%-6s %-8d %-8d %-8d %-8d %-8d %-8d ,emi.num,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); if(i=m) printf(nn); printf(n); printf(返回查询菜单请按1,继续查询姓名请按2n); scanf(%d,&t); switch(t) case 1:search();br

7、eak; case 2:break; default :break; 删除记录函数 void del()先将职工信息打印出来,然后输入要删除职工的姓名,若该姓名不存在,则显示“查无此人”,如果存在则显示职工信息并且询问是否确认删除,若确定则删除。void del() /*删除函数 */ int m=load(); int i,j,n,t,button; char name20; printf(n 原来的职工信息:n); display(); ame,name)=0)um,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); p

8、rintf(n确定删除 请按1,不删除请按0n); scanf(%d,&n); if(n=1) for(j=i;j=emj+1.num) p=emj; emj=emj+1; emj+1=p; printf(职工号 姓名 基本工资 职务工资 津贴 医疗保险 公积金 总工资 n);for(i=0;im;i+) /*m为输入部分的职工人数*/ printf(n %-6d%-6s %-8d %-8d %-8d %-8d %-8d %-8d ,emi.num,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); 修改数据函数 void

9、modify()打印职工信息并提示输入要修改信息的职工姓名。按照提示选择要修改的项目,输入要修改的结果并将该结果赋值给对应的成员,完成指定的修改。void modify() /*修改函数*/ int num; char name20; int jbgz; int zwgz; int jt; int yb; int gjj; int b,c,i,n,t,button; int m=load(); system(cls); printf(n 原来的职工信息:n); display(); printf(n); printf(请输入要修改的职工的姓名:n); scanf(%s,name); for(b

10、utton=1,i=0;button&i8|c1) printf(n选择错误,请重新选择!n); button=0; if(button=1) printf(n查无此人n); do switch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/ case 1:printf(职工号改为: ); scanf(%d,&num); emi-1.num=num; break; case 2:printf(姓名改为: ); scanf(%s,name); strcpy(emi-1.name,name); break; case 3:printf(基

11、本工资改为: ); getchar(); scanf(%d,&jbgz); emi-1.jbgz=jbgz; emi-1.total=( emi-1.jbgz+ emi-1.zwgz + emi-1.jt- emi-1.yb- emi-1.gjj); break; case 4:printf(职务工资改为: ); scanf(%d,&zwgz); emi-1.zwgz=zwgz; emi-1.total=( emi-1.jbgz+ emi-1.zwgz + emi-1.jt- emi-1.yb- emi-1.gjj); break; case 5:printf(津贴改为: ); scanf(%

12、d,&jt); emi-1.jt=jt; emi-1.total=( emi-1.jbgz+ emi-1.zwgz + emi-1.jt- emi-1.yb- emi-1.gjj); break; case 6:printf(医疗保险改为: ); scanf(%d,&yb); emi-1.yb=yb; emi-1.total=( emi-1.jbgz+ emi-1.zwgz + emi-1.jt- emi-1.yb- emi-1.gjj); break; case 7:printf(公积金改为: ); scanf(%d,&gjj); emi-1.gjj=gjj; emi-1.total=( e

13、mi-1.jbgz+ emi-1.zwgz + emi-1.jt- emi-1.yb- emi-1.gjj); break; case 8:modify(); break; printf(n); printf(nn 确定修改 请按1 ; 重新修改 请按2: n); scanf(%d,&b); while(b=2); printf(n修改后的所有职工信息:n); printf(n); save(m); display(); printf(n按1 继续修改 ,不再修改请按0n); scanf(%d,&t); switch(t) case 1:modify();break; case 0:break

14、; default :break; 修改后为程序部分#include#include#include#include#define N 100struct employee int num; delum); printf(请输入姓名: ); scanf(%s,&emi.name); getchar(); printf(请输入基本工资: ); scanf(%d,&emi.jbgz); printf(请输入职务工资: ); scanf(%d,&emi.zwgz); printf(请输入津贴: ); scanf(%d,&emi.jt); printf(请输入医疗保险: ); scanf(%d,&em

15、i.yb); printf(请输入公积金: ); scanf(%d,&emi.gjj); emi.total=(emi.jbgz)+(emi.zwgz)+(emi.jt)-(emi.yb)-(emi.gjj);um,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); sum+=emi.total;ame,name)=0)um,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); printf(n确定删除 请按1,不删除请按0n); scanf(%d,&n);

16、 if(n=1) for(j=i;jm-1;j+)ame,emj+1.name); emj.num=emj+1.num; emj.jbgz=emj+1.jbgz; emj.zwgz=emj+1.zwgz; emj.jt=emj+1.jt; emj.yb=emj+1.yb; emj.gjj=emj+1.gjj; emj.total=emj+1.total; button=0; if(!button)delum); printf(n); printf(请输入姓名: ); scanf(%s,emi.name); getchar(); printf(请输入基本工资: ); scanf(t%d,&emi

17、.jbgz); printf(请输入职务工资: ); scanf(%d,&emi.zwgz); printf(请输入津贴: ); scanf(%d,&emi.jt); printf(请输入医疗保险: ); scanf(t%d,&emi.yb); printf(请输入公积金: ); scanf(%d,&emi.gjj); emi.total=( emi.jbgz+ emi.zwgz + emi.jt- emi.yb- emi.gjj);um) printf(职工号 姓名 基本工资 职务工资 津贴 医疗保险 公积金 总工资 n); printf(n %-6d%-6s %-8d %-8d %-8d

18、%-8d %-8d %-8d ,emi.num,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); break; if(i=m) printf(n对不起,查无此人n); printf(n); printf(返回查询函数请按1,继续查询职工号请按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; void search_name() char name30; int i,t; int m=load(); printf

19、(请输入姓名:n); scanf(%s,name); for(i=0;im;i+) if(strcmp(emi.name,name)=0) printf(n已找到,其记录为:n); printf(职工号 姓名 基本工资 职务工资 津贴 医疗保险 公积金 总工资 n); printf(n %-6d%-6s %-8d %-8d %-8d %-8d %-8d %-8d ,emi.num,emi.name,emi.jbgz,emi.zwgz,emi.jt,emi.yb,emi.gjj,emi.total); if(i=m) printf(nn); printf(n); printf(返回查询菜单请按1

20、,继续查询姓名请按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2:break; default :break; void modify() /*修改函数*/ int num; char name20; int jbgz; int zwgz; int jt; int yb; int gjj; int b,c,i,n,t,button; int m=load(); system(cls); printf(n 原来的职工信息:n); display(); printf(n); printf(请输入要修改的职工的姓名:n); sca

21、nf(%s,name); for(button=1,i=0;button&i8|c1) printf(n选择错误,请重新选择!n); button=0; if(button=1) printf(n查无此人n); do switch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人*/ case 1:printf(职工号改为: ); scanf(%d,&num); emi-1.num=num; break; case 2:printf(姓名改为: ); scanf(%s,name); strcpy(emi-1.name,name); break; case 3:printf(基本工资改为: ); getchar();

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2