职工档案管理系统(c语言编写).doc_第1页
职工档案管理系统(c语言编写).doc_第2页
职工档案管理系统(c语言编写).doc_第3页
职工档案管理系统(c语言编写).doc_第4页
职工档案管理系统(c语言编写).doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include #include#include #include #include #define MAX_NUM 45int main(int argc, char *argv) struct workerint ID;int Age;char SexMAX_NUM;char NameMAX_NUM;char TelenumMAX_NUM;int Wage;int Income; workMAX_NUM;void showmenu();int number,findID; int i,j,m,a,k,v,M,N,x,y;char bMAX_NUM,cMAX_NUM,nMAX_NUM,filepnMAX_NUM;FILE *fp;showmenu();scanf(%d,&k);for(;)switch(k)case 0:printf(n您选择的是退出系统!n);_beep(300,400);break;case 1:printf(n您选择的是档案录入!n);printf(n请输入本次录入的职工人数: );scanf(%d,&number); if(numberMAX_NUM)printf(您输入的人数太多,大于 %d 人!n,MAX_NUM); break;for(i=0;inumber;i+)printf(n请输入第%d个职工的编号:t,i+1);scanf(%d,&worki.ID);printf(t职工档案:n);printf(tt姓名:);scanf(%s,&worki.Name);printf(tt年龄:);scanf(%d,&worki.Age);printf(tt手机号码:);scanf(%s,&worki.Telenum); printf(tt性别:);scanf(%s,&worki.Sex);printf(tt工资:);scanf(%d,&worki.Wage);printf(tt奖金:);scanf(%d,&worki.Income);printf(n您的输入是:n); pintf( *职工档案信息库*n);printf( 序号t编号t姓名 t年龄t手机号码t 性别t工资t奖金n); for(i=0;inumber;i+)printf( %dt%dt%s t%dt%st%st%dt%dn,i+1,worki.ID,worki.Name,worki.Age,worki.Telenum,worki.Sex,worki.Wage,worki.Income);printf( *n);printf(n); break;case 2:printf(n您选择的是档案修改!n);printf(n请输入职工的编号: );scanf(%d,&findID);for(i=0;inumber;i+)if(worki.ID=findID)break;if(inumber) printf(t姓名 t年龄t手机号码t 性别t工资t奖金n); printf(原档案:nt%s t%dt%st %st%dt%dn,worki.Name,worki.Age,worki.Telenum,worki.Sex,worki.Wage,worki.Income);printf(请输入新档案:n );scanf(t%s t%dt%st %st%dt%d,&worki.Name,&worki.Age,&worki.Telenum,&worki.Sex,&worki.Wage,&worki.Income);else printf(您输入的编号不存在!n);break;case 3:printf(n您选择的是档案排序!n);for(j=0;jnumber-1;j+)for(i=0;iworki+1.ID)m=worki+1.ID;worki+1.ID=worki.ID;worki.ID=m;strcpy(n,worki+1.Telenum);strcpy(worki+1.Telenum,worki.Telenum);strcpy(worki.Telenum,n);a=worki+1.Age;worki+1.Age=worki.Age;worki.Age=a;strcpy(b,worki+1.Name);strcpy(worki+1.Name,worki.Name);strcpy(worki.Name,b);strcpy(c,worki+1.Sex);strcpy(worki+1.Sex,worki.Sex);strcpy(worki.Sex,c);x=worki+1.Wage;worki+1.Wage=worki.Wage;worki.Wage=x;y=worki+1.Income;worki+1.Income=worki.Income;worki.Income=y;printf(职工档案已排好序!n);break;case 4:printf(n您选择的是档案删除!n); printf(n请输入职工的编号: );scanf(%d,&findID);for(i=0;inumber;i+)if(worki.ID=findID)break;printf(t编号t姓名 t年龄t手机号码t 性别t工资t奖金n);if(inumber) for(j=i;jnumber-1;j+) workj.ID=workj+1.ID;strcpy(workj.Name,workj+1.Name);strcpy(workj.Telenum,workj+1.Telenum);workj.Age=workj+1.Age;strcpy(workj.Sex,workj+1.Sex);workj.Wage=workj+1.Wage;workj.Income=workj+1.Income;for(i=0;inumber-1;i+)printf(t%dt%s t%dt%st %st%dt%dn,worki.ID,worki.Name,worki.Age,worki.Telenum,worki.Sex,worki.Wage,worki.Income);else for(i=0;inumber-1;i+)printf(t%dt%s t%dt%st %st%dt%dn,worki.ID,worki.Name,worki.Telenum,worki.Age,worki.Sex,worki.Wage,worki.Income);number-;break;case 5:printf(n您选择的是档案查询!n);printf( *请选择查询方式*n);printf(t t 1-查询个人;t t t t 2-查询全部n); /*以下可以修改为子菜单方式:1-查询个人,2-查询全部*/printf( *n);printf(请选择:);scanf(%d,&v);switch(v) case 1: printf(n您选择的是个人查询!n);printf(n请输入职工的编号: );scanf(%d,&findID);for(i=0;inumber;i+)if(worki.ID=findID)break;if(inumber) printf(查找结果如下:n);printf(t编号t姓名 t年龄t手机号码t 性别t工资t奖金n);printf(t%dt%s t%dt%st %st%dt%dn,worki.ID,worki.Name,worki.Age,worki.Telenum,worki.Sex,worki.Wage,worki.Income); else printf(您输入的编号不存在!n);break;case 2:printf(n您选择的是全部查询!n);printf(查找结果如下:n);printf(t编号t姓名 t年龄t手机号码t 性别t工资t奖金n);for(i=0;inumber;i+)printf(t%dt%s t%dt%st %st%dt%dn,worki.ID,worki.Name,worki.Age,worki.Telenum,worki.Sex,worki.Wage,worki.Income);break;break;case 6:printf(n您选择的是职工档案的追加!n);printf(n您请输入需要追加的职工人数:n);scanf(%d,&M);for(i=number;inumber+M;i+)printf(n请输入第%d个职工的编号:t,i+1);scanf(%d,&worki.ID);printf(t职工档案:n);printf(tt姓名:);scanf(%s,&worki.Name); printf(tt手机号码:);scanf(%s,&worki.Telenum); printf(tt年龄:);scanf(%d,&worki.A);printf(tt性别:);scanf(%s,&worki.Sex); printf(tt工资:);scanf(%d,&worki.Wage);printf(tt奖金:);scanf(%d,&worki.Income); number=number+M;break;case 7:printf(n您选择的是职工档案的插入!n);printf(n请输入被插入的职工的序号: (注意插在此序号之后);scanf(%d,&N);if(NN;j-)workj.ID=workj-1.ID;strcpy(workj.Name,workj-1.Name);strcpy(workj.Telenum,workj-1.Telenum);workj.Age=workj-1.Age;strcpy(workj.Sex,workj-1.Sex);workj.Wage=workj-1.Wage;workj.Income=workj-1.Income;number=number+1;printf(t职工档案:n);printf(n请输入%d这个职工的编号: ,N+1);scanf(%d,&workN.ID);printf(tt姓名:);scanf(%s,&workN.Name); printf(tt手机号码:);scanf(%s,&workN.Telenum); printf(tt年龄:);scanf(%d,&workN.Age);printf(tt性别:);scanf(%s,&workN.Sex);printf(tt工资:);scanf(%d,&worki.Wage);printf(tt奖金:);scanf(%d,&worki.Income);else printf(输入的序号错误!n);break;case 8:printf(您选择的是职工档案的保存!n);printf(请输入文件路径及文件名:);scanf(%s,filepn);if(fp=fopen(filepn,w+)=NULL)printf(不能打开文件!n);return 0;for (i=0;inumber;i+) if (fwrite(&worki,sizeof(struct worker),1,fp)!=1)printf(写入文件错误!n); fclose(fp);printf(文件已经保存!n);break;case 9:printf(您选择的是职工档案的读取!n);printf(请输入文件路径及文件名:);scanf(%s,filepn);/*输入文件路径及名称*/if(fp=fopen(filepn,r+)=NULL)printf(不能打开文件!n);return 0; i=0;while(!feof(fp)fread(&worki+,sizeof(struct worker),1,fp);number=i-1;fclose(fp);break;default:printf(错误,重新输入n);showmenu();scanf(%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论