1、 /* 声明输出函数 */ void modify(); /* 声明修改函数 */ void deletes(); /* 声明删除函数 */ void save(); /* 声明保存函数 */ void read(); /* 声明录入函数 */ void sort(); /* 声明排序存函数 */ int m;showmenu();scanf(%d,&m);for(;m=0&mMAX_NUM) 您输入的人数太多,大于 %d 人!,MAX_NUM);for(i=0;inumber;i+)n请输入第%d个职工的编号:t,i+1);worki.ID);t职工档案:tt姓名:%sworki.Name)
2、;tt出生年月:worki.Birth);tt电话:worki.Telenum);tt性别:worki.Sex);tt工资:worki.Wage);tt部门:worki.Department);tt职称:worki.Job);n您的输入是: *职工档案信息库*n 序号 编号 姓名 出生年月 电话t 性别 t工资t部门t职称n %d %d %s %st%st%st%dt%st%sn,i+1,worki.ID,worki.Name,worki.Birth,worki.Telenum,worki.Sex,worki.Wage,worki.Department,worki.Job); *n /* 查找
3、函数 */ void search() int number=MAX_NUM,findID,v,i; char findName30;n您选择的是档案查询! *请选择查询方式*nt t 1-按编号查找;t t t t 2-按姓名查找n /*以下可以修改为子菜单方式:1-按编号查找,2-按姓名查找*/ *n请选择:v);switch(v) case 1: system(n您选择的是按编号查找!n请输入职工的编号:findID);if(worki.ID=findID)if(inumber) 查找结果如下:t编号t姓名 t出生年月t电话t 性别t工资t部门t职称nt%dt%s t%st%st %st
4、%dt%st%sn,worki.ID,worki.Name,worki.Birth,worki.Telenum,worki.Sex,worki.Wage,worki.Department,worki.Job);else printf(您输入的编号不存在!n您选择的是按姓名查找!n请输入职工的姓名:findName);if(!strcmp(worki.Name,findName)您输入的姓名不存在! /* 输出函数 */ void output() int i,number=MAX_NUM; for(i=0; void deletes()int findID,i,j,number=MAX_NUM
5、;n您选择的是档案删除! for(j=i;jnumber-1;j+) workj.ID=workj+1.ID; strcpy(workj.Name,workj+1.Name); strcpy(workj.Telenum,workj+1.Telenum); strcpy(workj.Birth,workj+1.Birth); strcpy(workj.Sex,workj+1.Sex); workj.Wage=workj+1.Wage; strcpy(workj.Department,workj+1.Department); strcpy(workj.Job,workj+1.Job);else ,
6、worki.ID,worki.Name,worki.Telenum,worki.Birth,worki.Sex,worki.Wage,worki.Department,worki.Job);number-; /* 修改函数 */ void modify() int findID,i,number=MAX_NUM; char yz9,psw9=12345678;n您选择的是档案修改! while(1)n请输入密码!9; yzi=getch();* if(yzi=r yzi=0 break; if(!strcmp(psw,yz)n密码正确! else密码错误,请重输!t姓名 t出生年月电话tt 性
7、别t工资t部门t职称n原档案:nt%d t%st%st %st%dt%st%sn,worki.Name,worki.Birth,worki.Telenum,worki.Sex,worki.Wage,worki.Department,worki.Job);请输入新档案:n else /* 保存函数 */ void save() FILE *fp; int number=MAX_NUM,i;您选择的是职工档案的保存!请输入文件路径及文件名:,filepn);if(fp=fopen(filepn,w+)=NULL)不能打开文件!for (i=0;i+) if (fwrite(&worki,sizeo
8、f(struct worker),1,fp)!=1) 写入文件错误!fclose(fp);文件已经保存! /* 读取档案函数 */ void read() FILE *fp;您选择的是职工档案的读取!/*输入文件路径及名称*/r+ i=0;while(!feof(fp)fread(&worki+,sizeof(struct worker),1,fp);number=i-1;/*排序函数*/void sort()int i,j,n=MAX_NUM,s,v; char temp20;n您选择的是数据排序! *请选择排序方式*nt t 1-按编号排序;t t t t 2-按工资排序n1-按编号排序,
9、2-按工资排序*/=n;for(j=i+1;if(workj.IDworki.ID)strcpy(temp,worki.Birth);strcpy(worki.Birth,workj.Birth);strcpy(workj.Birth,temp);strcpy(temp,worki.Name);strcpy(worki.Name,workj.Name);strcpy(workj.Name,temp);strcpy(temp,worki.Sex);strcpy(worki.Sex,workj.Sex);strcpy(workj.Sex,temp);s=worki.Wage; worki.Wage
10、=workj.Wage; workj.Wage=s;strcpy(temp,worki.Telenum);strcpy(worki.Telenum,workj.Telenum);strcpy(workj.Telenum,temp);strcpy(temp,worki.Department);strcpy(worki.Department,workj.Department);strcpy(workj.Department,temp);strcpy(temp,worki.Job);strcpy(worki.Job,workj.Job);strcpy(workj.Job,temp); s=worki.ID; worki.ID=workj.ID; workj.ID=s; 新的排序如下:n;break ; int k;n您选择的是按工资排序!t t 1-按工资从高到低排序;t t t t 2-按工资从低到高排序n1-按工资从高到低排序;2-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1