c语言企业员工管理系统方案_第1页
c语言企业员工管理系统方案_第2页
c语言企业员工管理系统方案_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、全部源代码:#include<stdio.h>#include<string.h> #include<conio.h> #include <stdlib.h>#define MAX 100 char 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 p

2、hone10; /* struct date in_time; /*t,workerMAX;/* 文件名 */当前该厂人数 */ 时间结构体 */员工信息结构体 */ 姓名*/ 年龄*/ 工作 */ 性别 */ 地址 */ 电话*/入厂时间 */* 录入模块 */void input()int i;system("cls");/system("cls"); printf("nn 请输入文件名 n"); scanf("%s",filename); printf(" 开始输入员工的信息 n"); p

3、rintf("n 请输入现有员工人数 n");scanf("%d",&n); if(fp=fopen(filename,"w")=NULL) printf(" 不能建立! n");exit(0);for(i=0;i<n;i+) pri ntf(”第4 个人的信息:n ”,i+1);printf("姓名 n");scanf("%s",); printf("年龄 n");scanf("%d",&

4、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"

5、;,&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;i<n;i+)fprintf(fp,"%s %d %s %s %s %s %d-%d-%dn",workeri.

6、name,workeri.age,wor keri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.yea r,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

7、");printf(" 该厂的员工信息: n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); for(i=0;i<n;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,&wo rkeri.in_time.

8、mouth,&workeri.in_time.day);printf("%st%dt%st%st%st%st%d-%d-%d n",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);printf(" 输出完毕,按任意键返回主菜单 n");getch();/* 保存模块 */void save

9、() int i;if(fp=fopen(filename,"w")=NULL) /* 打开文件 */ printf("n 不能打开该文件! ");exit(0);for(i=0;i<n;i+)fprintf(fp,"%s %d %s %s %s %s %d-%d-%dn",,workeri.age,wor keri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.yea r,workeri.in_time.mouth,worke

10、ri.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;i<n;i

11、+)fscanf(fp,"%s %d %s %s %s %s %d-%d-%d",,&workeri.age,workeri.j ob,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&work eri.in_time.mouth,&workeri.in_time.day);fclose(fp);/* 修改模块 */void modify() int i,flag,choice; char ch,namekey10;flag=0;syste

12、m("cls");printf(" 开始修改 n");doprintf("请输入要修改的员工姓名 n");scanf("%s",namekey);for(i=0;i<n;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

13、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(" * printf(" *1, printf(" *2, printf(" *3, printf(" *4, printf(

14、" *5, printf(" *6, printf(" *7, printf(" *8, printf(" *9, printf(" scanf("%d",&choice);您要修改那一项? 姓名 *nn"); 年龄 *nn"); 工作 *nn"); 性别 *nn"); 地址 *nn"); 电话 *nn"); 入厂年 *nn"); 入厂月 *nn"); 入厂日 *nn"); 请选择 (1-9)n");*nn&

15、quot;);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&

16、quot;);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

17、); 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(&quo

18、t;%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.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

19、();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 请输入添加职工的信息 ( 姓名 , 年龄 , 工作

20、, 性别 , 地址 , 电话 , 入厂时 间)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"

21、);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",&a

22、mp;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

23、");printf(" 开始删除 n");do printf(" 请输入要删除员工的名字 n");scanf("%s",namekey);for(i=0;i<n;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-%

24、dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);getchar(); /* 接收回车 */ch=getchar();if(ch='y') for(;i<n;i+)workeri=workeri+1;n-;else break;elseif(i=n)printf(" 此人不存在 n");printf

25、("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; system("cls"); printf("nnn * printf(" printf(" printf(

26、" printf(" printf(" scanf("%d",&i);do更新员工信息 *nn"); 按 1,添加员工信息 nn"); 按 2,删除员工信息 nn"); 按 3,修改员工信息 nn"); 按 0, 返回主菜单 n"); 请选择 (0-3)n");switch(i) case 1: add(); break;case 2: del(); break;case 3: modify(); break;case 0: break;while(i!=0); save();

27、/* 按姓名查找 */void name_cha() int i,j; char namekey10;j=0;system("cls");printf(" 输入要查询的员工姓名 n");scanf("%s",namekey);for(i=0;i<n;i+)if(strcmp(,namekey)=0) /* 查找此人 */ printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf

28、("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.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

29、 i,j; int agekey;j=0;system("cls");printf(" 输入要查询员工的年龄 n");scanf("%d",&agekey);for(i=0;i<n;i+)if(workeri.age=agekey) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",

30、,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.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");prin

31、tf(" 输入要查询的员工职务 n");scanf("%s",jobkey);for(i=0;i<n;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-%dn",,workeri.age,workeri.job,workeri.sex,workeri

32、.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);if(j=n) printf(" printf("else j+;此人不存在 n"); 按任意键返回主菜单 n");getch();/* 查询模块 */ void inquire() int i;do查询员工信息 *nn"); 按姓名查询 *nn"); 按年龄查询 *nn"); 按工作查询 *nn"); 返回主菜单 n");请选择

33、 (0-3)n"); system("cls"); printf("nnn * printf(" *1, printf(" *2, printf(" *3, printf(" *0, printf("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);/* 排列模块 */ vo

34、id line() int i,j;system("cls");printf(" 按年龄排序 nn");for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(workeri.age>workerj.age) t=workeri;workeri=workerj;workerj=t;printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); for(i=0;i<n;i+)printf("%st%dt%st%st%st%st%d-%d-%d n&qu

35、ot;,,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.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");

36、scanf("%d",&agekey);for(i=0;i<n;i+)if(workeri.age=agekey) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_

37、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;i<n

38、;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-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,worker

39、i.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;i<n;i+)if(strcmp(workeri.sex,sexke

40、y)=0) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);else j+;if(j=n)

41、printf(" 暂无该性别员工 n");printf(" 按任意键返回主菜单 n");getch();/* 统计模块 */ void count() int i;do system("cls"); printf("nnn * printf(" printf(" printf(" printf(" printf(" scanf("%d",&i);统计员工信息 *nn"); 按 1, 统计某年龄职工 nn"); 按 2, 统计某职务员工 nn"); 按 3, 统计某性别职工 nn")

温馨提示

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

评论

0/150

提交评论