1、职工信息管理系统源代码#include#include#includeint N=2;struct worker /*定义一个职工信息的结构体*/ int num; /*定义一个职工信息的结构体*/char name20; /*定义一个职工信息的结构体*/ char sex10; /用字符串存放职工的性别数据 char birth20; /用字符串存放职工的出生年月数据 char deta20; /用字符串存放职工的工作年月数据 char education20; /用字符串存放职工的学历数据 double salary; /用字符串存放职工的性别数据 char work30; /用字符串存放
2、职工的职务数据 char addr20; /用字符串存放职工的地址数据 char tel20; /用字符串存放职工的电话数据worker100; /用结构体数组存放职工的所有信息void menu(); void input(); void save(); void read(); void display(); void add(); void search(); void search_education(); void search_num(); void del(); void modify(); void main() char s; system(color 3f); printf
3、(nn); printf( tn); printf( t*n); printf( t*n); printf( t*n); printf( t* *n); printf( t* 欢迎使用职工信息管理系统 *n); printf( t* *n); printf( t* *n); printf( t* 制作人 吴青伶 *n); printf( t* *n); printf( t* 2013.12.28 *n); printf( t* *n); printf( t*n); printf( t*n); printf( t*n); printf( tn); do menu(); printf(Do you
4、 want to continue?(y/n); s=getchar(); while(s=Y|s=y);void menu()/*菜单函数*/int b;printf(t n);printf(t n);printf(t n);printf(t n);printf(t n); printf(t 请 选 择 n); printf(t - n); printf(t | | n); printf(t | 1. 职工信息录入 | n); printf(t | 2. 职工信息浏览 | n); printf(t | 3. 职工信息添加 | n); printf(t | 4. 职工信息查询 | n); pr
5、intf(t | 5. 职工信息删除 | n); printf(t | 6. 职工信息修改 | n); printf(t | 0. 退出 | n); printf(t - n); printf(n 输入你的选择项(06):n); scanf(%d,&b); switch(b) case 1 : /职工信息录入、保存 input(); save(); getchar(); break; case 2 :/读入职工信息并显示 read(); display(); getchar(); break; case 3 : /添加职工信息 add();getchar(); break; case 4 :
6、/查询职工信息 search();getchar(); break; case 5 : /读入职工信息并实现职工信息删除功能 read(); del(); getchar(); break; case 6 : /读入职工信息并修改职工信息 read();modify();getchar(); break; case 0 : exit(0);/退出 default:break; void input() /录入职工信息 int i,flag,j; printf(输入职工个数(默认个数为2):); scanf(%d,&N); fflush(stdin);/清除缓存 for(i=0;iN;i+) l
7、oop: printf(职工号:); scanf(%d,&workeri.num); fflush(stdin); flag=1; if(workerN.num0) printf(请输入正整数:n); else for(j=0;ji;j+) if(workeri.num=workerj.num) flag=0; printf( 工号重复,请重新输入!n); goto loop; printf(姓名:);scanf(%s,workeri.name); fflush(stdin); printf(性别:);scanf( %s,workeri.sex); fflush(stdin); printf(
8、出生年月:);scanf(%d,&workeri.birth); fflush(stdin); printf(工作年月:);scanf(%lf,&workeri.deta); fflush(stdin); printf(请输入学历(中专=zz,大专dz,本科bk,研究生yjs):n); scanf(%s,workeri.education);fflush(stdin); printf(工资:);scanf(%lf,workeri.salary); fflush(stdin); printf(职务:);scanf(%s,workeri.work); fflush(stdin); printf(住
9、址:);scanf(%s,workeri.addr); fflush(stdin); printf(电话:);scanf(%s,workeri.tel); fflush(stdin); printf(n创建完毕!n);void save() /保存函数 FILE *fp; int i; if(fp=fopen(worker.txt,wb)=NULL)/以只写方式打开一个二进制文件 printf(ncannot open filen); exit(0); for(i=0;iN;i+) fwrite(&workeri,sizeof(struct worker),1,fp);/将内存中的职工信息数据
10、输出到磁盘文件中去(二进制) fclose(fp);void read() /读入函数 FILE *fp; int i=0; if(fp=fopen(worker.txt,rb)=NULL) /以只读方式为输出打开磁盘文件中的一个二进制文件 printf(ncannot open filen); exit(0); do fread(&workeri,sizeof(struct worker),1,fp);/从worker.txt文件向内存读入数据(二进制) i+; while(!feof(fp); fclose(fp); N=i-1;void display() /信息浏览函数 int i;
11、for(i=0;iN;i+) printf(职工号:%dn,workeri.num); printf(姓名:%sn,workeri.name); printf(性别:%sn,workeri.sex); printf(出生年月:%dn,workeri.birth); printf(工作年月:%dn,workeri.deta); printf(学历:%sn,workeri.education);printf(工资:%lfn,workeri.salary); printf(职务:%dn,workeri.work); printf(住址:%sn,workeri.addr); printf(电话:%sn
12、,workeri.tel); void add() /添加函数 FILE *fp; int i; struct worker p; double t; printf(n请输入新增加职工的信息:n); printf(请输入职工号:n); scanf(%d,&p.num); for(i=0;in1.学历2.职工号3.取消并返回); printf(Which you needed?:n); scanf(%d,&c); if(c3|c3|c1); switch(c) case 1:search_education();break; case 2:search_num();break; case 3:m
13、enu();break; void search_education() /按学历查询函数 int i,flag=0; char s10; printf(n请输入你要查询的学历:n); scanf(%s,s); for(i=0;iN;i+) if(strcmp(s,workeri.education)=0) printf(职工号:%dn,workeri.num); printf(姓名:%sn,workeri.name); printf(性别:%sn,workeri.sex); printf(出生年月:%dn,workeri.birth); printf(工作年月:%dn,workeri.det
14、a); printf(学历(中专=zz,大专dz,本科bk,研究生yjs):%sn,workeri.education); printf(工资:%lfn,workeri.salary);printf(职务:%lfn,workeri.work); printf(住址:%sn,workeri.addr); printf(电话:%sn,workeri.tel); flag+; if(flag=0) printf(n对不起没有找到!n); getchar();void search_num() /按工号查询函数 int i,s,flag=0; printf(n输入要查询的职工号!:n); scanf(
15、%d,&s); for(i=0;iN;i+) if(s=workeri.num) printf(职工号:%dn,workeri.num); printf(姓名:%sn,workeri.name); printf(性别:%sn,workeri.sex); printf(出生年月:%dn,workeri.birth); printf(工作年月:%dn,workeri.deta); printf(学历(中专=zz,大专dz,本科bk,研究生yjs):%sn,workeri.education); printf(工资:%lfn,workeri.salary);printf(职务:%lfn,worker
16、i.work); printf(住址:%sn,workeri.addr); printf(电话:%sn,workeri.tel); flag+; if(flag=0) printf(n对不起没有找到! please); getchar(); void del() /删除函数 int i,j; FILE *fp; char name20; char c; if(fp=fopen(worker.txt,wb)=NULL)/以只写方式打开一个二进制文件 printf(ncannot open filen); exit(0); printf(请输入要删除的职工的姓名:); scanf(%s,name)
17、; for(i=0;iN;i+) if(strcmp(name,workeri.name)=0)/判断输入的姓名和原来的姓名是否相同 printf(找到该职工,是否删除?(y/n) ) ; fflush(stdin); scanf(%c,&c); if(c =Y|c=y) for(j=i;j=N) printf(没有找到该职工!n ); return; else N=N-1; for(i=0;iN;i+) if(fwrite(&workeri,sizeof(struct worker),1,fp)!=1) printf(ncannot save filen); getchar(); fclose(fp); void modify() /修改函数 struct worker p; FILE *fp; int i,n; double t; printf(n输入要修改的职工号:n); scanf(%d,&n); for(i=0;i=N) printf(n未找到该职工!n);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1