已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.附录源程序#include #include #include struct workerchar name30;char ID10;int salary1,salary2,salary3;int dq(struct worker wo);void show();void bc(struct worker wo);void add(); void see();void search();void ghcz();void xmcz();void del();void xmsc();void ghsc();void statistics();void modify();void ghxg(); void xmxg();void reserve();void back();void author();struct worker wo100; /保存所有的职工信息int Number=0; /记录总的职工人数void main()int choose=0;while(true) show();printf(tt=请选择:);scanf(%d,&choose);system(cls);switch(choose)case 0: exit(0);/退出break; case 1: add();back();/添加职工信息break; case 2: see();back();/查看职工信息break; case 3: search();back();/ 查找职工信息 break;case 4: del(); back();/删除职工信息break;case 5: statistics();back();/统计职工工资break;case 6: modify();back();/修改职工信息break; case 7:reserve();back();/保存数据 break;case 8:author();back();/作者信息break;default:break;fflush(stdin);getchar();system(cls);int dq(struct worker wo)FILE *fp=NULL;int i=0;fp=fopen(C:/worker.dat,rb);while(fread(&woi,sizeof(struct worker),1,fp)i+;fclose(fp);return i;void show() printf(n);printf(t*职工工资管理系统*nn);printf(t*nn);printf(t1 添加职工信息n);printf(t2 查看职工信息n);printf(t3 查找职工信息n);printf(t4 删除职工信息n);printf(t5 统计职工工资n);printf(t6 修改职工信息n);printf(t7 保 存 数 据n);printf(t8 作 者 信 息n);printf(t0 退 出 系 统nn);printf(t*n);void bc(struct worker *wo)FILE *fp=NULL;fp=fopen(C:/worker.dat,ab+);fwrite(wo,sizeof(struct worker),1,fp);fclose(fp);/添加职工信息void add() int numberTemp=0;int i=0;struct worker temp; printf(请输入要添加职工个数:);scanf(%d,&numberTemp);for(i=0;inumberTemp;i+)printf(输入第%d个职工信息n,i+1);printf(姓名:);scanf(%s,);printf(工号:);scanf(%s,temp.ID);printf(基本工资:);scanf(%d,&temp.salary1);printf(职务工资:);scanf(%d,&temp.salary2);printf(津贴:);scanf(%d,&temp.salary3);woNumber+=temp; /写入到数组bc(&temp); /写入到文件printf(添加成功n);/查看职工信息void see() int i=0;printf(以下是全部职工n);printf(t姓名t工号t基本工资t职务工资t津贴n);while(iNumber)printf(t%st%st%dtt%dtt%dn,,woi.ID,woi.salary1,woi.salary2,woi.salary3);i+;/查找职工信息void search() int n=0;printf(1 按姓名查找n);printf(2 按工号查找n); scanf(%d,&n);switch(n)case 1: xmcz();break;case 2: ghcz();break;default: printf(输入错误!n);break; void xmcz()/按姓名查找 char name30;int i=0;printf(请输入要查找职工姓名:);scanf(%s,name);system(cls);printf(t姓名t工号t基本工资t职务工资t津贴n);for (i=0;iNumber;i+)if (strcmp(name,)=0)printf(t%st%st%dtt%dtt%dn,,woi.ID,woi.salary1,woi.salary2,woi.salary3);void ghcz()/按工号查找 char id10;int i=0;printf(请输入要查找职工工号:);scanf(%s,id);system(cls);printf(t姓名t工号t基本工资t职务工资t津贴n);for (i=0;iNumber;i+)if (strcmp(id,woi.ID)=0)printf(t%st%st%dtt%dtt%dn,,woi.ID,woi.salary1,woi.salary2,woi.salary3);/删除职工信息void del() int n=0;printf(1 按姓名删除n);printf(2 按工号删除n);scanf(%d,&n);switch(n)case 1: xmsc();break;case 2: ghsc();break;void xmsc()/按姓名删除 FILE *fp=NULL;char name30;int i=0;int j=0;printf(请输入要删除的职工姓名:);scanf(%s,name);for(i=0;iNumber;i+)if (strcmp(name,)=0)for (j=i;jNumber-1;j+)woj=woj+1;Number-;/将剩余数据写入文件 擦除以前的数据fp=fopen(C:/worker.dat,wb);for (i=0;iNumber;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf(删除成功;n);void ghsc()/按工号删除 FILE *fp=NULL;char id60;int i=0;int j=0;printf(请输入要删除的职工工号:);scanf(%s,id);for(i=0;iNumber;i+)if (strcmp(id,woi.ID)=0) for (j=i;jNumber-1;j+)woj=woj+1;Number-;/将剩余数据写入文件 擦除以前的数据fp=fopen(C:/worker.dat,wb);for (i=0;iNumber;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf(删除成功;n);/统计职工工资void statistics() int i=0;double s=0.0;double sum100;for(i=0;iNumber;i+)sumi=woi.salary1+woi.salary2+woi.salary3;printf(%s的总工资为:%fn,,sumi);for(i=0;iNumber;i+)s+=sumi;printf(平均工资为:%fn,s/Number); /修改职工信息void modify() int mode=0;printf(请选择修改查找方式n);printf(1 按姓名查找修改n); printf(2 按工号查找修改n); scanf(%d,&mode);switch(mode)case 1: xmxg();break;case 2: ghxg();break;default: printf(输入错误!n);break; void xmxg()/按姓名修改 FILE *fp=NULL;char name30;int i=0;printf(请输入要修改的职工姓名:);scanf(%s,name);for (i=0;iNumber;i+)if (strcmp(name,);elsebreak;printf(t姓名t工号t基本工资t职务工资t津贴n);printf(t%st%st%dtt%dtt%dn,,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(请重新输入该职工信息);printf(姓名:);scanf(%s,);printf(工号:);scanf(%s,woi.ID);printf(基本工资:);scanf(%d,&woi.salary1);printf(职务工资:);scanf(%d,&woi.salary2);printf(津贴:);scanf(%d,&woi.salary3);/信息修改后重新更新文件里面的数据 以保持数据一致性fp=fopen(C:/worker.dat,wb);for (i=0;iNumber;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);void ghxg()/按工号修改 FILE *fp=NULL;char id30;int i=0;printf(请输入要修改的职工工号:);scanf(%s,id);for (i=0;iNumber;i+)if (strcmp(id,woi.ID);elsebreak;printf(t姓名t工号t基本工资t职务工资t津贴n);printf(t%st%st%dtt%dtt%dn,,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(请重新输入该职工信息);printf(姓名:);printf(姓名:);scanf(%s,);printf(工号:);scanf(%s,woi.ID);printf(基本工资:);scanf(%d,&woi.salary1);printf(职务工资:);scanf(%d,&woi.salary2);printf(津贴:);scanf(%d,&woi.salary3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2465-2026天然气在线硫化氢气体检测仪校准规范
- T/SSBME 2-2025家用LED紫外治疗设备
- T/SATA 081-2024食品中二氧化硫残留量的测定 间断化学分析法
- T/CSWSL 044-2025猪舍吊装轨道巡检机器人
- T/CI 080-2023富有机硒脐橙生产技术规程
- T/CSPSTC 185-2025深埋地下管道数字化综合探测技术规程
- T/SSX 012-2024发酵人参粉
- 2025-2026学年辽宁省营口市初中数学九年级期末上册高分快速提分卷详细参考解析
- Photoshop CS2 试题及详细参考答案
- 2025-2026学年四川省广元市初中数学八年级期末下册点睛提升黑金试题(附答案)
- 2026年学校德育体系实施方案-五维融通,三阶递进
- 山东省菏泽市菏泽经济技术开发区2026-2027学年七年级上学期10月阶段检测语文试题(含答案)
- 2026年广东省公需课《加快培育发展新质生产力》考试答案
- 2026年农田废弃物的资源化利用路径
- 2026年公路水运工程助理试验检测师练习题附答案
- 2026年成人高考专升本政治真题试卷及完整答案解析(官方标准)
- 检验检测机构法律法规政策培训测试题及答案
- 中远海运集团招聘笔试题目及答案
- 2026中国电信历年考试笔试题库及答案
- 2026年吉林大学中日联谊医院专业技术系列人员招聘笔试参考题库及答案详解
- 护理副高职称评审答辩自我介绍模板
评论
0/150
提交评论