1、c语言企业员工管理系统方案全部源代码: #include #include #include #include #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; /*地址*
2、/ 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个人的信息:
3、n,i+1); printf(姓名n); scanf(%s,workeri.name); 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(%
4、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.name,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.d
5、ay); 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.name,&workeri.age,workeri.job,workeri.sex,
6、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.name,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( 输出
7、完毕,按任意键返回主菜单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.name,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,wor
8、keri.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.name,&workeri.age,workeri.j
9、ob,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); do printf(请输入要修改的员工姓名n); scanf(%s,namekey); for(i=0;in;i+) if(strcmp(workeri.na
10、me,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.name,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
11、( *您要修改那一项?*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,workeri.name); brea
12、k; 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
13、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.name,w
14、orkeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day); else break; else if(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(修改完毕,按任
15、意键返回主菜单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,workeri.name); printf(年龄n); scanf(%d, &workeri.age); printf(工作n); scanf(%s,workeri.job); printf( 性别n); scanf(%s,w
16、orkeri.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(); i
17、f(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(workeri.name,namekey)=0) /*查找此人*/ printf(是否删除此人(y/n)n
18、); printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n); printf(%st%dt%st%st%st%st%d-%d-%d n,workeri.name,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
19、break; else if(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); p
20、rintf( 按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); f
21、or(i=0;in;i+) if(strcmp(workeri.name,namekey)=0) /*查找此人*/ printf(-员工信息-n); printf(姓名t年龄t工作t性别t地址t电话t入厂时间 n); printf(%st%dt%st%st%st%st%d-%d-%d n,workeri.name,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
22、(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.name,workeri
23、.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;i
24、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-%d n,workeri.name,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
25、); 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
26、();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.name,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_ti
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1