c语言课程设计职工工资管理系统源代码.doc

上传人:豆**** 文档编号:17406414 上传时间:2022-05-23 格式:DOC 页数:10 大小:228.50KB
返回 下载 相关 举报
c语言课程设计职工工资管理系统源代码.doc_第1页
第1页 / 共10页
c语言课程设计职工工资管理系统源代码.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《c语言课程设计职工工资管理系统源代码.doc》由会员分享,可在线阅读,更多相关《c语言课程设计职工工资管理系统源代码.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流c语言课程设计职工工资管理系统源代码.精品文档.绝对可以完美运行,下面有运行图片#include /调用库函数#include /字符串处理#include /控制台输入输出#include /定义杂项函数及内存分配函数#define N 2 /宏定义 以3代替N 函数声明void enter();int menu();void input();void output();void search();void search_employeeid();void search_name();void edit();void array();voi

2、d array_basesalary();void array_postwage();void array_totalwage();void statistics();void save();void load(); 职工类型定义struct employeechar employeeid10;char name10;char sex10;int age;float basesalary;float postwage;float totalwage; 职工变量定义struct employee empN;struct employee replace;struct employee *p=em

3、p; 系统主函数void main()int c;while(1)printf( nnnn); printf( 欢迎进入职工工资管理系统 nnn);printf( 1 进入管理系统 nn);printf( 0 退出 nn);printf( nnnn);printf( 请输入你选择: n);scanf(%d,&c);switch(c) case 1: enter(); break; case 0: printf( 谢谢使用!n); exit(0); 功能:登陆函数,进行密码验证void enter()char q;char key10,password10=china;int k=1,i;pri

4、ntf( 请输入密码: n);for(i=0;i5;i+)q=getch();keyi=q;printf(*);while(k=3)if(strncmp(key,password,5)=0)while(1)int a; /system(cls); a=menu();switch(a)case 1: input();break;case 2: output();break;case 3: search();break;case 4: edit();break;case 5: array();break;case 6: load();statistics();break;case 0: print

5、f(nn 谢谢使用!nnnn); save(); exit(0);else k+;printf( 输入密码错误!请再次输入:);for(i=0;i2)if(strncmp(password,key,5)=0) continue;else printf( 输入密码错误三次,系统将自动退出!n); exit(0);功能: 主菜单函数参数:a 类型:int说明: 变量返回值: aint menu()int a ;printf(nn);printf(|*欢迎进入职工工资管理系统*|n);printf(| |n);printf(| |n);printf(| 1 职工信息输入 |n);printf(| |

6、n);printf(| 2 职工信息输出 |n); printf(| |n);printf(| 3 职工信息查询 |n); printf(| |n); printf(| 4 职工信息修改 |n); printf(| |n); printf(| 5 工资排序 |n); printf(| |n); printf(| 6 工资统计 |n); printf(| |n); printf(| 0 退出 |n); printf(| |n); printf(| |n); printf(|*|n);printf(nn);printf( 请输入你所选择的选项:);scanf(%d,&a);while(a6|a0)

7、printf( error!n); printf( 请重新输入你所选择的选项:);scanf(%d,&a);return a;功能:职工信息输入void input()int c;p=emp;printf( 进入职工信息输入模块 nnn);for(c=0;cemployeeid);if(strcmp(p-employeeid,0)!=0) printf( 请输入职工姓名:n);scanf(%s,p-name);printf( 请输入职工性别: n);scanf(%s,&p-sex);printf( 请输入职工年龄: n);scanf(%d,&p-age);printf( 请输入职工基本工资:n

8、);scanf(%f,&p-basesalary);printf( 请输入职工岗位工资:n);scanf(%f,&p-postwage); printf( 职工信息输入完成! nn);elsereturn;save();功能:职工信息输出void output() int j;load();p=emp; printf( 进入职工信息输出模块 nnn); printf(-n);printf(| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n);printf(-n);for(j=0;j=0&j=2)switch(j)case 1:search_employeeid();br

9、eak;case 2:search_name();break;case 0:return;elseprintf( 输入错误! nn);printf( 请再次输入你的选择: nn);功能:按职工号查询函数void search_employeeid()char employeeid10;int k,j;p=emp;printf(*按职工号查询职工信息*nnnn);printf( 请输入要查询职工的职工号: nn);scanf(%s,employeeid);for(k=0;kemployeeid)=0)j=k; pj.totalwage=pj.postwage+pj.basesalary;prin

10、tf(-n);printf(| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf(-n);break; elseprintf( not foundn);return;功能:按职工姓名查询函数void search_name()char name10;int flog=0;int f,j;p=emp;pr

11、intf(*按职工姓名查询职工信息*nnn);printf( 请输入要查询职工的姓名: nn);scanf(%s,name); for(f=0;fname)=0)j=f; pj.totalwage=pj.postwage+pj.basesalary; printf(-n);printf(| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj

12、.totalwage);printf(-n);break;elseprintf( not found nn); return;getchar();功能:职工信息修改函数void edit()char e10;int g=0,j;char flog; p=emp;printf( 请输入你要修改职工的职工号: n);scanf(%s,e);for(g=0;gemployeeid)=0) j=g; pj.totalwage=pj.postwage+pj.basesalary; printf(-n); printf(| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n); pri

13、ntf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf(-n); printf( 是否要修改该职工信息?y(是)or n(否)?nn); getchar(); scanf(%c,&flog); if(flog = y) printf( 请输入新姓名:n); scanf(%s,p-name); printf( 请输入性别: n); scanf(%s,&p-sex); printf( 请输

14、入年龄: n); scanf(%d,&p-age); printf( 请输入基本工资:n); scanf(%f,&p-basesalary); printf( 请输入岗位工资:n); scanf(%f,&p-postwage); printf( 修改职工信息成功! nn); if(flog = n)printf( 退出该项操作! nn);return;save(); if(g=N)printf( not found nnn);return;功能:职工工资排列函数void array()int j;while(1)printf(*工资排序*nn);printf( 1 按基本工资排序 nn);pr

15、intf( 2 按岗位工资排序 nn); printf( 3 按总工资排列 nn); printf( 0 退出 nn);printf(nnn);while(1) printf( 请输入你的选择: nn); scanf(%d,&j); if(j=0&j=3) switch(j) case 1: array_basesalary();break; case 2: array_postwage();break; case 3: array_totalwage();break; case 0: return; else printf( 输入错误!nnn); printf( 请再次输入你的选择:nn);

16、功能:按基本工资排列(选择法)void array_basesalary()int i,j,k; p=emp;for(i=0;iN-1;i+) k=i;for(j=i+1;jN;j+)if(pk.basesalarypj.basesalary)k=j;if(k!=i)replace=empk;empk=empi;empi=replace;for(j=0;jN;j+)pj.totalwage=pj.postwage+pj.basesalary;printf(-n);printf(| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n);printf(|%10s|%9s|%7s

17、| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf(-n);功能:按岗位工资排列(冒泡法)void array_postwage()int i,j;p=emp; for(i=0;iN;i+)for(j=0;jN-i;j+) if(pj.postwagepj+1.postwage) replace=empj;empj=empj+1;empj+1=replace;for(j=0;jN;j+)pj.totalwage=pj

18、.postwage+pj.basesalary;printf(-n);printf(| 职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf(-n);功能:按总工资排列(插入法)void array_totalwage()int i,j; p=emp;for(i=1;i=0&pi.totalwagepi.t

19、otalwage;j-)empj+1=empj;empj+1=replace;for(j=N-1;j=0;j-)pj.totalwage=pj.postwage+pj.basesalary;printf(-n);printf(| 职工号 |姓名 |性别 | 年龄 |基本工资 |岗位工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf(-n);功能:工资统计

20、函数void statistics()int z,a=0,b=0,c=0;p=emp; for(z=0;z3000)a+;continue;if(pz.totalwage=2000&pz.totalwage=3000)b+;continue;if(pz.totalwage0)c+;continue;printf( 总工资在3000元以上的职工人数有: %dnn,a);printf( 总工资在2000元至3000元的职工人数有:%dnn,b);printf( 总工资在2000元以下的职工人数有: %dnn,c);getchar();功能:导出函数void save()int k;FILE *fp

21、;p=emp;if(fp=fopen(emp_list,wb)=NULL)printf( Create file error!n);return; for(k=0;kN;k+,p+)if(fwrite(p,sizeof(struct employee),1,fp)!=1)printf( file save error!nn);break;else continue; getchar(); fclose(fp);功能:导入函数void load()int l;FILE *fp;p=emp;if(fp=fopen(emp_list,rb)=NULL)printf( Create file error!n);exit(0); for(l=0;lN;l+,p+)if(fread(p,sizeof(struct employee),1,fp)!=1)printf( file read error!nn);break;elsecontinue;getchar(); fclose(fp);下面是实验结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com