c语言企业员工管理系统.doc_第1页
c语言企业员工管理系统.doc_第2页
c语言企业员工管理系统.doc_第3页
c语言企业员工管理系统.doc_第4页
c语言企业员工管理系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

全部源代码:#include#include#include#include #define MAX 100char filename20; /*文件名*/FILE *fp;int n; /*当前该厂人数*/struct date /*时间结构体*/ int year;int mouth;int day; ;struct person /*员工信息结构体*/ char name10; /*姓名*/int age; /*年龄*/char job10; /*工作*/char sex10; /*性别*/char address20; /*地址*/char phone10; /*电话*/struct date in_time; /*入厂时间*/t,workerMAX;/*录入模块*/void input()int i;system(cls);/system(cls);printf(nn请输入文件名n);scanf(%s,filename);printf(开始输入员工的信息n);printf(n请输入现有员工人数n);scanf(%d,&n);if(fp=fopen(filename,w)=NULL) printf(不能建立!n);exit(0);for(i=0;in;i+) printf(第%d个人的信息:n,i+1);printf(姓名n);scanf(%s,);printf(年龄n);scanf(%d,&workeri.age);printf(工作n);scanf(%s,workeri.job);printf(性别n);scanf(%s,workeri.sex);printf(地址n);scanf(%s,workeri.address);printf(电话n);scanf(%s,workeri.phone);printf(入厂年n);scanf(%d,&workeri.in_time.year);printf(入厂月n);scanf(%d,&workeri.in_time.mouth);printf(入厂日n);scanf(%d,&workeri.in_time.day);printf(录入完毕,按任意键返回主菜单n);getch();for(i=0;in;i+)fprintf(fp,%s %d %s %s %s %s %d-%d-%dn,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);/*输出模块*/void output() int i;if(fp=fopen(filename,r)=NULL) printf( 暂时未有任何信息,请按任意键返回主菜单进行信息录入n);getch();exit(0);system(cls);printf( 该厂的员工信息:n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);for(i=0;in;i+) fscanf(fp,%s %d %s %s %s %s %d-%d-%d,,&workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&workeri.in_time.mouth,&workeri.in_time.day);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);printf( 输出完毕,按任意键返回主菜单n);getch();/*保存模块*/void save() int i;if(fp=fopen(filename,w)=NULL) /*打开文件*/ printf(n 不能打开该文件!);exit(0);for(i=0;in;i+)fprintf(fp,%s %d %s %s %s %s %d-%d-%dn,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);/*读取信息*/void read_message() int i;printf(输入文件名n);scanf(%s,filename);printf(n请输入现有员工人数n);scanf(%d,&n);if(fp=fopen(filename,r)=NULL) printf( 暂时未有任何信息,请按任意键返回主菜单进行信息录入n);getch();for(i=0;in;i+)fscanf(fp,%s %d %s %s %s %s %d-%d-%d,,&workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&workeri.in_time.mouth,&workeri.in_time.day);fclose(fp);/*修改模块*/void modify() int i,flag,choice; char ch,namekey10;flag=0;system(cls);printf( 开始修改n);doprintf(请输入要修改的员工姓名n);scanf(%s,namekey);for(i=0;in;i+) if(strcmp(,namekey)=0) printf(是否修改此人(y/n)n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);getchar(); /*接收回车*/ch=getchar();if(ch=y) printf( *您要修改那一项?*nn);printf( *1,姓名*nn);printf( *2,年龄*nn);printf( *3,工作*nn);printf( *4,性别*nn);printf( *5,地址*nn);printf( *6,电话*nn);printf( *7,入厂年*nn);printf( *8,入厂月*nn);printf( *9,入厂日*nn);printf( 请选择(1-9)n);scanf(%d,&choice);switch(choice) case 1: printf(输入修改后的姓名n);scanf(%s,); break;case 2: printf(输入修改后的年龄n);scanf(%d,&workeri.age); break;case 3: printf(输入修改后的工作n);scanf(%s,workeri.job); break;case 4: printf(输入修改后的性别n);scanf(%s,workeri.sex); break;case 5: printf(输入修改后的地址n);scanf(%s,workeri.address); break;case 6: printf(输入修改后的电话n);scanf(%s,workeri.phone); break;case 7: printf(输入修改后的入厂年n);scanf(%d,&workeri.in_time.year); break;case 8: printf(输入修改后的入厂月n);scanf(%d,&workeri.in_time.mouth); break;case 9: printf(输入修改后的入厂日n);scanf(%d,&workeri.in_time.day); break;printf(修改后的信息n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else break;elseif(i=n) printf(此人不存在n);printf(n是否继续输入(y/n)n);getchar(); /*接收回车*/ch=getchar();if(ch=y) printf(继续n);flag=1;else flag=0;while(flag=1);printf(修改完毕,按任意键返回主菜单n) ;getch();/*添加模块*/void add() int i,flag=0; char ch;system(cls);printf(n 开始添加新员工n);printf( *-*nn);do i=n;printf(n 请输入添加职工的信息(姓名,年龄,工作,性别,地址,电话,入厂时间)n);printf(姓名n);scanf(%s,);printf(年龄n);scanf(%d, &workeri.age);printf(工作n);scanf(%s,workeri.job);printf( 性别n);scanf(%s,workeri.sex);printf(地址n);scanf(%s,workeri.address);printf(电话n);scanf( %s,workeri.phone);printf(入厂年n);scanf(%d,&workeri.in_time.year);printf(入厂月n);scanf(%d,&workeri.in_time.mouth);printf(入厂日n);scanf(%d,&workeri.in_time.day);n+;printf(n添加成功!是否继续输入(y/n)n);getchar(); /*接收回车*/ch=getchar();if(ch=y) printf(继续n);flag=1;else flag=0;while(flag=1);printf(添加完毕,按任意键返回主菜单n) ;getch();/*删除模块*/void del() int i,flag; char ch,namekey10;flag=0;system(cls);printf(开始删除n);do printf(请输入要删除员工的名字n);scanf(%s,namekey);for(i=0;in;i+)if(strcmp(,namekey)=0) /*查找此人*/ printf(是否删除此人(y/n)n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);getchar(); /*接收回车*/ch=getchar();if(ch=y) for(;in;i+)workeri=workeri+1;n-;else break;elseif(i=n)printf(此人不存在n);printf(n是否继续输入(y/n)n);getchar(); /*接收回车*/ch=getchar();if(ch=y) printf(继续n);flag=1;else flag=0;while(flag=1);printf(操作完毕,按任意键返回主菜单n) ;getch();/*更新模块*/void renew() int i;do system(cls);printf(nnn *更新员工信息*nn);printf( 按1,添加员工信息nn);printf( 按2,删除员工信息nn);printf( 按3,修改员工信息nn);printf( 按0,返回主菜单n);printf( 请选择(0-3)n);scanf(%d,&i);switch(i) case 1: add(); break;case 2: del(); break;case 3: modify(); break;case 0: break;while(i!=0);save();/*按姓名查找*/void name_cha() int i,j; char namekey10;j=0;system(cls);printf( 输入要查询的员工姓名n);scanf(%s,namekey);for(i=0;in;i+)if(strcmp(,namekey)=0) /*查找此人*/ printf(-员工信息-n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(此人不存在n);printf(按任意键返回主菜单n);getch();/*按年龄查找*/void age_cha() int i,j; int agekey;j=0;system(cls);printf( 输入要查询员工的年龄n);scanf(%d,&agekey);for(i=0;in;i+)if(workeri.age=agekey) printf(-员工信息-n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(此人不存在n);printf(按任意键返回主菜单n);getch();/*按工作查找*/void job_cha() int i,j; char jobkey10;j=0;system(cls);printf(输入要查询的员工职务n);scanf(%s,jobkey);for(i=0;in;i+)if(strcmp(workeri.job,jobkey)=0) printf(-员工信息-n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(此人不存在n);printf(按任意键返回主菜单n);getch();/*查询模块*/void inquire() int i;do system(cls);printf(nnn *查询员工信息*nn);printf( *1,按姓名查询*nn);printf( *2,按年龄查询*nn);printf( *3,按工作查询*nn);printf( *0,返回主菜单n);printf( 请选择(0-3)n);scanf(%d,&i);switch(i) case 1: name_cha();break;case 2: age_cha(); break;case 3: job_cha();break;case 0: break;while(i!=0);/*排列模块*/void line() int i,j;system(cls);printf(-按年龄排序-nn);for(i=0;in-1;i+)for(j=i+1;jworkerj.age) t=workeri;workeri=workerj;workerj=t;printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);for(i=0;in;i+)printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);printf(按任意键返回主菜单n);getch();/*按年龄统计*/void count_age() int i,j; int agekey;j=0;system(cls);printf( 输入要统计员工的年龄n);scanf(%d,&agekey);for(i=0;in;i+)if(workeri.age=agekey) printf(-员工信息-n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(暂无该年龄段员工n);printf(按任意键返回主菜单n);getch();/*按职务统计*/void count_job() int i,j; char jobkey10;j=0;system(cls);printf(输入要统计的员工职务n);scanf(%s,jobkey);for(i=0;in;i+)if(strcmp(workeri.job,jobkey)=0) printf(-员工信息-n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(暂无该职务或该职务暂时无人n);printf(按任意键返回主菜单n);getch();/*按性别统计*/void count_sex() int i,j; char sexkey10;j=0;system(cls);printf(输入要统计的员工性别n);scanf(%s,sexkey);for(i=0;in;i+)if(strcmp(workeri.sex,sexkey)=0) printf(-员工信息-n);printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n);printf(%st%dt%st%st%st%st%d-%d-%d n,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf(暂无该性别员工n);printf(按任意键返回主菜单n);getch();/*统计模块*/void count() int i;do system(cls);printf(nnn *统计员工信息*nn);printf( 按1,统计某年龄职工nn);printf( 按2,统计某职务员工nn);printf( 按3,统计某性别职工nn);printf( 按0,返回主菜单nn);printf( 请选择(0-3):n);scanf(%d,&i);switch(i) case 1: count_age(); break;case 2: count_job(); break;ca

温馨提示

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

评论

0/150

提交评论