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

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

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

1、Good is good, but better carries it.精益求精,善益求善。c语言课程设计职工工资管理系统源代码-绝对可以完美运行,下面有运行图片#include/调用库函数#include/字符串处理#include/控制台输入输出#include/定义杂项函数及内存分配函数#defineN2/宏定义以3代替N/*函数声明*/voidenter();intmenu();voidinput();voidoutput();voidsearch();voidsearch_employeeid();voidsearch_name();voidedit();voidarray();vo

2、idarray_basesalary();voidarray_postwage();voidarray_totalwage();voidstatistics();voidsave();voidload();/*职工类型定义*/structemployeecharemployeeid10;charname10;charsex10;intage;floatbasesalary;floatpostwage;floattotalwage;/*职工变量定义*/structemployeeempN;structemployeereplace;structemployee*p=emp;/*系统主函数*/vo

3、idmain()intc;while(1)printf(nnnn);printf(欢迎进入职工工资管理系统nnn);printf(1进入管理系统nn);printf(0退出nn);printf(nnnn);printf(请输入你选择:n);scanf(%d,&c);switch(c)case1:enter();break;case0:printf(谢谢使用!n);exit(0);/*功能:登陆函数,进行密码验证*/voidenter()charq;charkey10,password10=china;intk=1,i;printf(请输入密码:n);for(i=0;i5;i+)q=getch(

4、);keyi=q;printf(*);while(k=3)if(strncmp(key,password,5)=0)while(1)inta;/system(cls);a=menu();switch(a)case1:input();break;case2:output();break;case3:search();break;case4:edit();break;case5:array();break;case6:load();statistics();break;case0:printf(nn谢谢使用!nnnn);save();exit(0);elsek+;printf(输入密码错误!请再次

5、输入:);for(i=0;i2)if(strncmp(password,key,5)=0)continue;elseprintf(输入密码错误三次,系统将自动退出!n);exit(0);/*功能:主菜单函数参数:a类型:int说明:变量返回值:a*/intmenu()inta;printf(nn);printf(|*欢迎进入职工工资管理系统*|n);printf(|n);printf(|n);printf(|1职工信息输入|n);printf(|n);printf(|2职工信息输出|n);printf(|n);printf(|3职工信息查询|n);printf(|n);printf(|4职工信

6、息修改|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)printf(error!n);printf(请重新输入你所选择的选项:);scanf(%d,&a);returna;/*功能:职工信息输入*/voidinput()intc;p=emp;printf(进入职工信息输入模块nnn);for(

7、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);scanf(%f,&p-basesalary);printf(请输入职工岗位工资:n);scanf(%f,&p-postwage);printf(职工信息输入完成!nn);elsereturn;save();/*功能:职工信息输出*/voidoutput()

8、intj;load();p=emp;printf(进入职工信息输出模块nnn);printf(-n);printf(|职工号|姓名|性别|年龄|基本工资|岗位工资|总工资|n);printf(-n);for(j=0;j=0&j=2)switch(j)case1:search_employeeid();break;case2:search_name();break;case0:return;elseprintf(输入错误!nn);printf(请再次输入你的选择:nn);/*功能:按职工号查询函数*/voidsearch_employeeid()charemployeeid10;intk,j;p

9、=emp;printf(*按职工号查询职工信息*nnnn);printf(请输入要查询职工的职工号:nn);scanf(%s,employeeid);for(k=0;kemployeeid)=0)j=k;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,

10、pj.totalwage);printf(-n);break;elseprintf(notfoundn);return;/*功能:按职工姓名查询函数*/voidsearch_name()charname10;intflog=0;intf,j;p=emp;printf(*按职工姓名查询职工信息*nnn);printf(请输入要查询职工的姓名:nn);scanf(%s,name);for(f=0;fname)=0)j=f;pj.totalwage=pj.postwage+pj.basesalary;printf(-n);printf(|职工号|姓名|性别|年龄|基本工资|岗位工资|总工资|n);p

11、rintf(|%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(notfoundnn);return;getchar();/*功能:职工信息修改函数*/voidedit()chare10;intg=0,j;charflog;p=emp;printf(请输入你要修改职工的职工号:n);scanf(%s,e);for(g=0;gemployeeid)=0)j=g;

12、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);printf(是否要修改该职工信息?y(是)orn(否)?nn);getchar();scanf(%c,&flog);if(flog=y)printf(请

13、输入新姓名:n);scanf(%s,p-name);printf(请输入性别:n);scanf(%s,&p-sex);printf(请输入年龄: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(notfoundnnn);return;/*功能:职工工资排列函数*/voidarray()intj

14、;while(1)printf(*工资排序*nn);printf(1按基本工资排序nn);printf(2按岗位工资排序nn);printf(3按总工资排列nn);printf(0退出nn);printf(nnn);while(1)printf(请输入你的选择:nn);scanf(%d,&j);if(j=0&j=3)switch(j)case1:array_basesalary();break;case2:array_postwage();break;case3:array_totalwage();break;case0:return;elseprintf(输入错误!nnn);printf(请

15、再次输入你的选择:nn);/*功能:按基本工资排列(选择法)*/voidarray_basesalary()inti,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|%9

16、s|%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);/*功能:按岗位工资排列(冒泡法)*/voidarray_postwage()inti,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.

17、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);/*功能:按总工资排列(插入法)*/voidarray_totalwage()inti,j;p=emp;for(i=1;i=0&pi.totalwagepi.totalwage;j-)e

18、mpj+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);/*功能:工资统计函数*/voidstatistics()intz,

19、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();/*功能:导出函数*/voidsave()intk;FILE*fp;p=emp;if(fp=fopen(emp_list,wb

20、)=NULL)printf(Createfileerror!n);return;for(k=0;kN;k+,p+)if(fwrite(p,sizeof(structemployee),1,fp)!=1)printf(filesaveerror!nn);break;elsecontinue;getchar();fclose(fp);/*功能:导入函数*/voidload()intl;FILE*fp;p=emp;if(fp=fopen(emp_list,rb)=NULL)printf(Createfileerror!n);exit(0);for(l=0;lN;l+,p+)if(fread(p,sizeof(structemployee),1,fp)!=1)printf(filereaderror!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