职工工作量统计系统源程序

上传人:m**** 文档编号:124930837 上传时间:2022-07-25 格式:DOC 页数:6 大小:56.50KB
返回 下载 相关 举报
职工工作量统计系统源程序_第1页
第1页 / 共6页
职工工作量统计系统源程序_第2页
第2页 / 共6页
职工工作量统计系统源程序_第3页
第3页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
#include stdio.h#include string.h#include stdlib.h#define FILENAME worker.bin#define N 20struct workerint number;/*工号*/int counts;/*数量*/int grade;/*等级*/ ;/*定义void xinxi() printf(n+n);printf(+职工工作量统计系统+n);printf(+n);printf(+1. 职工基本信息输入+n);printf(+n);printf(+2. 工作量输入+n);printf(+n);printf(+3. 按工作量排序+n);printf(+n);printf(+4. 按职工工号进行信息删除+n);printf(+n);printf(+5. 结束程序+n);printf(+n);/*显示菜单*/int readFromFile(struct worker w) FILE *fp=NULL;int i=0;fp=fopen(FILENAME,rb); /*打开文件*/if(fp!=NULL)while(!feof(fp)/*从文件中读入学生*/if(i=N) break;if(fread(w+i,sizeof(worker),1,fp)=1) i+; fclose(fp);return i;/*信息显示到屏幕*/int f(struct worker w,int length) int i=length;while(iN)printf(第4 个职工n,i);printf(n);printf(-请你输入工号(以职工号为0结束):n);/*输入工号*/scanf(%d,&wi.number);if(wi.number=0)break;printf(n);printf(n);printf (请你输入数量:n);/*输入数量*/scanf(%d,&wi.counts);printf(n);i+;return i;*/void input(struct worker w,int length) int i=1;int number,counts;printf(请输入工号:);scanf(%d,&number); while(number!=0)printf (请输入完成数量:n);scanf(%d,&counts);for(i=0;i=length)printf(工号不存在:n); printf(请输入工号:); scanf(%d,&number); /*功能:工作量输入并累加*/void sortCounts(struct worker w,int length) int i=0,j=0,k=0; struct worker s;for(i=0;ilength;i+) k=i;for(j=i+1;jwk.counts) k=j;/* 交换 wi and wk */s = wk;wk =wi; wi = s;if(length0)w0.grade =1;for(i=1;i0) while(ilength)count=0;grade=wi.grade;printf(名次:d , grade);printf(工作量:d ,wi.counts); printf(%s,工号:); while(ilength)if(grade=wi.grade)printf(%d ,wi.number);count+;elsebreak;i+;printf(人数:dn,count);elseprintf(职工数据不存在!n);/* 输出名次、同一名次的职工人数及他们的工号,姓名*/ / int delet(struct worker w,int length,int stuNum)int i,j;char choice;for(i=0;ilength;i+)if(stuNum=wi.number)printf(%s:欲删除职工号为:); printf(%dn,wi.number);break;if(ilength)printf(你确实要删除这个职工吗? (Y/N);scanf(%c,&choice);if(choice=Y|choice=y)for(j=i;jlength;j+) wj=wj+1;length-;prints删除成功!n);elseprintf(n指定的职工不存在!n);return length; /*按职工号删除职工信息void writeToFile(struct worker w,int length) FILE *fp=NULL;int i=0;fp=fopen(FILENAME,wb);if(fp=NULL)printf(打开文件出错! n); exit(0);for(i=0;ilength;i+)fwrite(w+i,sizeof(worker),1,fp);fclose(fp);/*结构体数组中的职工信息输出到文件void main ()int choice;struct worker wN;int NUM;char stuName100;int stuNum;int length=0;length=readFromFile(w);读入 do xinxi();scanf(%d,&choice); switch(choice) case 1:length=f(w,length);break;case 2:input(w,length); break;case 3:sortCounts(w,length); sortNumber(w,length); break;case 4:prints请输入欲删除的职工号); scanf(%d,&stuNum); length=delet(w,length,stuNum); break;case 5: writeToFile(w,length);/保存 printf(程序使用以结束n); exit(0);default:printf (输入有错误请重新输入:n);while(1);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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