职工信息管理系统(c语言源代码)_第1页
职工信息管理系统(c语言源代码)_第2页
职工信息管理系统(c语言源代码)_第3页
职工信息管理系统(c语言源代码)_第4页
职工信息管理系统(c语言源代码)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

#include #include #include struct workerint num;char name20;char zhicheng10; int wages;int reward;long birth;int salary;work500,work1; /*定义结构体*/void menu(); /声明菜单函数void type_in(); /声明录入函数void baocun(int); /声明保存函数void scan(); /声明浏览函数void del(); /声明删除函数void search(); /声明查询函数void search_zhicheng(); /声明按职称查询函数void search_name(); /声明按姓名查找函数void change(); /声明修改函数void order(); /声明排序函数void add(); /声明添加函数void order_wages();void order_name();void menu() /*菜单函数*/ printf(n); printf( welcome to n);printf( 职工信息管理系统 );printf(*n); printf( 1.录入职工信息n); printf( 2.浏览职工信息n); printf( 3.查询职工信息n); printf( 4.删除职工信息n); printf( 5.修改职工信息n);printf( 6.职工信息排序n); printf( 7.添加职工信息n); printf( 8.退出n);printf(*n); printf(n); /*/void main() int n,f;while(1) do menu(); /*调用菜单函数*/ printf(请输入你需要操作的序号(18):n); scanf(%d,&n); if(n=1&n=8) f=1; break; else f=0; printf(您输入有误,请重新选择!); while(f=0); switch(n) case 1:printf( 录入职工信息n);printf(n);type_in();break; case 2:printf( 浏览职工信息n);printf(n);system(cls);scan();break; case 3:printf( 查询职工信息n);printf(n);system(cls);search();break; case 4:printf( 删除职工信息n);printf(n);system(cls);del();break; case 5:printf( 修改职工信息n);printf(n);system(cls);change();break; case 6:printf( 职工信息排序n);printf(n);system(cls);order();break; case 7:printf( 添加职工信息n);printf(n);system(sls);add();break; case 8:goto loop;/*用goto语句跳至跳至指定的行*/ default :break; loop:/行标 system(cls); printf(nnnnnn -谢谢使用!-nnnnnn);/*/void type_in() /*录入函数*/ int i,m; printf(请输入需要创建信息的职工人数(1-500):n); scanf(%d,&m); for (i=0;im;i+) printf(请输入职工号: ); scanf(%d,&worki.num); printf(n); printf(请输入姓名: ); scanf(%s,); getchar(); printf(请输入职称: ); scanf(%s,&worki.zhicheng); printf(请输入基本工资: ); scanf(%d,&worki.wages); printf(请输入奖金: ); scanf(%d,&worki.reward); printf(请输入生日(格式如): ); scanf(%d,&worki.birth); getchar();system(cls); printf(n一个职工的信息档案创建完毕!请输入下一个职工的信息n); worki.salary=worki.wages + worki.reward; printf(n); baocun(m);/*/void baocun(int m) /*保存文件函数*/ int i; FILE *fp; if (fp=fopen(E:worker_list.txt,wb)=NULL) /*创建文件并判断是否能打开*/ printf (此文件不能打开n); exit(0); for (i=0;im;i+) /*将内存中职工的信息输出到磁盘文件中去*/ if (fwrite(&worki,sizeof(struct worker),1,fp)!=1) printf(file write errorn); fclose(fp);/*/int load() /*导入函数*/ FILE*fp; int i=0; if(fp=fopen(E:worker_list.txt,rb)=NULL) printf (cannot open filen); exit(0); else do fread(&worki,sizeof(struct worker),1,fp); i+; while(feof(fp)=0);fclose(fp);return(i-1); /*/void scan() /*浏览函数*/int i;int m=load();printf(n职工号t姓名t职称t基本工资t奖金t实际工资t生日 n);for(i=0;im;i+) printf(n %dt%st %st %d t%dt %dt %ldn,worki.num,, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth);printf(按任意键继续n);getchar();getchar();system(cls);/*/void del() /*删除函数*/ int m=load();int i,j,n,t,f;char name110;printf(n 原来的职工信息:n); scan(); /* 调用浏览函数*/ printf(n);printf(请输入要删除的职工的姓名:n);scanf(%s,name1);for(f=1,i=0;f&im;i+) if(strcmp(,name1)=0) printf(n已找到此人,原始记录为:n); printf(n职工号t姓名t职称t基本工资t奖金t实际工资t生日 n); printf(n %dt%st %st %d t%dt %dt %ldn,worki.num,, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth); printf(n确实要删除此人信息请按1,不删除请按0n); scanf(%d,&n); if(n=1) /*如果删除,则其他的信息都向前移一行*/ for(j=i;j=1&t=3) f=1; break; else f=0; printf(您输入有误,请重新选择!); while(f=0);system(cls); while(f=1) switch(t) case 1:printf(按姓名查询n);search_name();break; case 2:printf(按职称查询n);search_zhicheng();break; case 3:main();break; default:break; system(cls); /*/void search_name()/*按姓名查找函数*/ char name110; int i,t; int m=load(); printf(请输入要查找的姓名:n); scanf(%s,name1); for(i=0;im;i+) if(strcmp(name1,)=0) printf(n已找到此人,其记录为:n); printf(n职工号t姓名t职称t基本工资t奖金t实际工资t生日 n); printf(n %dt%st %st %d t%dt %dt %ldn,worki.num,, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth); break; if(i=m) printf(n对不起,查无此人n); printf(n); printf(返回查询函数请按1,继续查询职工号请按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; /*/void search_zhicheng()/*按职称查找函数*/ char zhicheng110; int i,t; int m=load(); printf(请输入要查找的职称:n); scanf(%s,zhicheng1); for(i=0;im;i+) if(strcmp(zhicheng1,worki.zhicheng)=0) printf(n已找到此人,其记录为:n); printf(n职工号t姓名t职称t基本工资t奖金t实际工资t生日 n); printf(n %dt%st %st %d t%dt %dt %ldn,worki.num,, worki.zhicheng,worki.wages,worki.reward,worki.salary,worki.birth); break; if(i=m) printf(n对不起,查无此人n); printf(n); printf(返回查询函数请按1,继续查询职工号请按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; /*/void change() /*修改函数*/int num;char name20;char zhicheng10; int wages;int reward;int birth;int salary;int b,c,i,n,t,f; int m=load(); /*导入文件内的信息*/ printf(n 原来的职工信息:n); scan(); /* 调用浏览函数*/ printf(n); printf(请输入要修改的职工的姓名:n);scanf(%s,name);for(f=1,i=0;f&i7|c=1&k=3) f=1; break; else f=0; printf(您输入有误,请重新选择!); while(f=0);system(cls); while(f=1) switch(k) case 1:printf(n按姓名排序为(字母由小到大排列):n);order_name();break; case 2:printf(n按基本工资排序为(由高到低排列):n);order_wages();break; case 3:system(cls);main();break; default:break; system(cls); /*/void order_name()/*按姓名排序函数*/int i,j,k; int m=load(); for(i=0;im-1;i+) for(j=0;j0) work1=workj;workj=workj+1;workj+1=work1; baocun(m);printf(n职工号t姓名t职称t基本工资t奖金t实际工资t生日 n);for(j=0;jm;j+) printf(n %dt%st %st %d t%dt %dt %ldn,workj.num,, workj.zhicheng,workj.wages,workj.reward,workj.salary,workj.birth);printf(返回排序函数请按1,返回主菜单请按2n); scanf(%d,&k); switch(k) case 1:order();break; case 2:system(cls); main();break; default:break; system(cls);/*/void order_wages()/*按基本工资排序函数*/int i,k,j; int m=load(); for(i=0;im-1;i+) for(j=0;jm-1-i;j+) if(workj.wagesworkj+1.wages)/*用起泡法排序*/ work1=workj;workj=workj+1;workj+1=work1; baocun(m);printf(n职工号t姓名t职称t基本工资t奖金t实际工资t生日 n);for(j=0;jm;j+) printf(n %dt%st %st %d t%dt %dt %ldn,workj.num,, workj.zhicheng,workj.wages,workj.reward,workj.salary,workj.birth);printf(返回排序函数请按1,返回主菜单请按2n); scanf(%d,&k

温馨提示

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

评论

0/150

提交评论