C语言人事档案管理系统
- 格式:docx
- 大小:11.96 KB
- 文档页数:14
#include
#include
#include
#define N 10
struct worker
{
char num[20]; //员工编号
char name[20]; //员工名称
char sex;//员工性别
int age;//员工年龄
char remark[20];//员工备注
} stu[10];
void input()//员工基本信息录入
{
int i=0;
FILE *fp; //文献指针
for(i=0;i
{
printf("\n请输入第%d个员工旳基本信息:\n",i+1);
printf("员工编号: ");
scanf("%s",stu[i].num);
printf("员工名称: ");
scanf("%s",stu[i].name);
fflush(stdin);
printf("员工性别: "); scanf("%c",&stu[i].sex);
printf("员工年龄:");
scanf("%d",&stu[i].age);
printf("备注: ");
scanf("%s",stu[i].remark);
}
if((fp=fopen("worker-massge","wb"))==NULL) //判断文献打开与否成功
{
printf("文献打开失败");
exit(0);
}
for(i=0;i
{
if(fwrite(&stu[i],sizeof(struct worker),1,fp)!=1)
printf("file writer error\n");
}
fclose(fp);
}
void show(int j)//显示员工信息
{
int i;
FILE *fp;
if((fp=fopen("worker-massge","rb"))==NULL)//判断文献打开与否成功 {
printf("文献打开失败");
exit(0);
}
for(i=0;i
fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文献*/
printf("\n***********员工基本信息表*************\n"); //显示员工信息
printf("编号\t名称\t性别\t年龄\t备注\n");
for(i=0;stu[i].age!=-1&&i
{
printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark);
}
}
void search()//按照员工名称进行查询
{
int a,i,g,e;
char d,r[20],c[20];
FILE *fp;
if((fp=fopen("worker-massge","rb"))==NULL)//判断文献打开与否成功
{
printf("文献打开失败");
return;
}
for(i=0;i
fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文献*/ fclose(fp);
while(g)
{
printf("***********请选择查询方式***************\n");
printf(" 1,姓名 2,序号 3,性别 4,年龄\n ");
printf("****************************************\n");
scanf("%d",&a);
switch(a)
{
case 1:printf("请输入姓名:");
scanf("%s",r);
printf("姓名 序号 性别 年龄 备注 \n ");
for(i=0;i
{
if(strcmp(stu[i].name,r)==0)
printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark);
}
break;
case 2:printf("请输序号:");
scanf("%s",&c);
printf("姓名 序号 性别 年龄 备注 \n ");
for(i=0;i
{
if(strcmp(c,stu[i].num)==0)
printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark);
}
break;
case 3:printf("请输性别:");
getchar();
scanf("%c",&d);
printf("姓名 序号 性别 年龄 备注 \n ");
for(i=0;i
{
if(stu[i].sex==d)
printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark);
}
break;
case 4:printf("请输年龄:");
scanf("%d",&e);
printf("姓名 序号 性别 年龄 备注 \n ");
for(i=0;i<10;i++)
{
if(stu[i].age==e)
printf("\n%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark);
}
break; default :printf("错误");
break;
} printf("-----__与否继续查询(是按1/否按0):");
scanf("%d",&g);
}
}
void change(int k)//修改员工信息
{
int i;
FILE *fp;
char listname[20];
char password[10];
do{
printf("请输入修改密码\n");
scanf("%s",password);
if((strcmp(password,"0819")!=0))
{
printf("密码错误,不能修改\n");
continue;
}
break;
}
while(1);
printf("密码对旳,可以修改\n");
if((fp=fopen("worker-massge","rb"))==NULL)
{ printf("文献打开失败");
return ;
}
for(i=0;i
fread(&stu[i],sizeof(struct worker),1,fp); /*读磁盘文献*/
printf("\n\n-----------------员工信息表------------------\n\n");
printf("编号\t姓名\t性别\t年龄\t备注\n");
for(i=0;i
{
printf("%s\t%s\t%c\t%d\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].remark);
}
printf("请输入要更改旳员工旳编号:");
scanf("%s",listname);
for(i=0;i
{
if(strcmp(listname,stu[i].num)==0)
break;
}
if(i
{ printf("\n请修改员工旳信息:\n");
printf("员工编号: ");
scanf("%s",stu[i].num);
printf("员工姓名: ");
scanf("%s",stu[i].name);
fflush(stdin);
printf("员工性别: ");
scanf("%c",&stu[i].sex);
printf("员工年龄: ");
scanf("%d",&stu[i].age);
printf("员工备注: ");
scanf("%s",&stu[i].remark);
}
else
{
printf("对不起,你请输入员工编号是错误旳或没有此编号");
return ;
}
//
if((fp=fopen("worker-massge","wb"))==NULL)
{
printf("文献打开失败");
exit(0);
}