void gx()
{
FILE *p;
struct st s[N];
void gx()
{
FILE *p;
struct st s[N];
int i=0,c,flag; p=fopen("staff.dat","rb"); if(p==NULL)
{
printf("文件不存在!\n"); exit(-1);
}
while(fread(&s[i],sizeof(struct st),1,p)==1)
{
i++;
}
fclose(p);over: system("cls");
printf("请选择功能:\n"); printf("**----------------按1:追加员工信息-----------------**\n");
printf("**----------------按2:删除员工信息-----------------**\n");
printf("**----------------按3:修改员工信息-----------------**\n");
printf("**-----------------按0:返回主菜单------------------**\n"); fflush(stdout);rewind(stdin); scanf("%d",&c); switch(c)
{ case 1:
flag=0; printf("请输入追加员工人数:"); int zj,n; scanf("%d",&zj); getchar();
for(i=n; i<n+zj; i++) {
printf("请输入第%d人的信息:\n",i-n+1); printf("请输入工号:\n"); scanf("%s",s[i].num); printf("请输入姓名:\n"); scanf("%s",s[i].name); printf("请输入年龄:\n"); scanf("%s",s[i].age); //getchar(); printf("请输入职位:\n"); scanf("%s",s[i].work); printf("请输入性别:\n"); scanf("%s",s[i].sex); printf("请输入地址:\n"); scanf("%s",s[i].add); printf("请输入电话:\n"); scanf("%s",s[i].phone); printf("请输入入职时间(年月日):"); scanf("%s%s%s",s[i].hiredate.year,s[i].hiredate.month,s[i].hiredate.day);
}
n=n+zj;
printf("追加成功 按回车继续······"); getchar();
break;
case 2: flag=0; printf("请输入删除员工人数:"); int sc,j,k; scanf("%d",&sc); getchar(); char gh[13]; for(i=0; i<sc; i++) { printf("请输入删除的员工工号:"); scanf("%d",&gh); for(j=0; j<n; j++) { if(strcmp(gh,s[j].num)==0) { if(j==n-1) { flag=1; n=n-1; } else { flag=1; for(k=j; k<n; k++) { s[k]=s[k+1]; } n=n-1; } } } } if(flag==0) { printf("查无此人 请重新选择!\n按回车继续······"); getchar(); getchar(); goto over; } printf("删除成功 按回车继续······"); getchar(); break; case 3: flag=0; printf("请输入要修改员工的工号:"); char gh1[13]; getchar(); scanf("%s",&gh1); for(i=0; i<n; i++) { if(strcmp(gh1,s[i].num)==0) { printf("请输入工号:\n"); scanf("%s",s[i].num); printf("请输入姓名:\n"); scanf("%s",s[i].name); printf("请输入年龄:\n"); scanf("%s",s[i].age); getchar(); printf("请输入职位:\n"); scanf("%s",s[i].work); printf("请输入性别:\n"); scanf("%s",s[i].sex); printf("请输入地址:\n"); scanf("%s",s[i].add); printf("请输入电话:\n"); scanf("%s",s[i].phone); printf("请输入入职时间(年月日):"); scanf("%s%s%s",s[i].hiredate.year,s[i].hiredate.month,s[i].hiredate.day); flag=1;
}
}
if(flag==0)
{
printf("查无此人 请重新选择!\n按回车继续······"); getchar();
}
break;
case 0:
FILE *fp;
printf("正在保存至staff.dat"); if((fp=fopen("staff.dat", "wb"))==NULL)
{
printf("文件无法打开...\n"); }
fwrite(s, sizeof(struct st),n,p); fclose(fp);
printf("数据成功写入文件...\n"); printf("请按回车键继续······"); getchar();
default:
printf("输入出错 请重新输入!!\n按回车继续······");
}
goto over;
system("pause");
}
int i=0,c,flag; p=fopen("staff.dat","rb"); if(p==NULL)
{
printf("文件不存在!\n"); exit(-1);
}
while(fread(&s[i],sizeof(struct st),1,p)==1)
{
i++;
}
fclose(p);over: system("cls");
printf("请选择功能:\n");
printf("**----------------按1:追加员工信息-----------------**\n");
printf("**----------------按2:删除员工信息-----------------**\n");
printf("**----------------按3:修改员工信息-----------------**\n");
printf("**-----------------按0:返回主菜单------------------**\n"); fflush(stdout);rewind(stdin); scanf("%d",&c); switch(c)
{ case 1:
flag=0; printf("请输入追加员工人数:"); int zj,n; scanf("%d",&zj); getchar();
for(i=n; i<n+zj; i++) {
printf("请输入第%d人的信息:\n",i-n+1); printf("请输入工号:\n"); scanf("%s",s[i].num); printf("请输入姓名:\n"); scanf("%s",s[i].name); printf("请输入年龄:\n"); scanf("%s",s[i].age); //getchar(); printf("请输入职位:\n"); scanf("%s",s[i].work); printf("请输入性别:\n"); scanf("%s",s[i].sex); printf("请输入地址:\n"); scanf("%s",s[i].add); printf("请输入电话:\n"); scanf("%s",s[i].phone); printf("请输入入职时间(年月日):"); scanf("%s%s%s",s[i].hiredate.year,s[i].hiredate.month,s[i].hiredate.day);
}
n=n+zj;
printf("追加成功 按回车继续······"); getchar();
break;
case 2: flag=0; printf("请输入删除员工人数:"); int sc,j,k; scanf("%d",&sc); getchar(); char gh[13]; for(i=0; i<sc; i++) { printf("请输入删除的员工工号:"); scanf("%d",&gh); for(j=0; j<n; j++) { if(strcmp(gh,s[j].num)==0) { if(j==n-1) { flag=1; n=n-1; } else { flag=1; for(k=j; k<n; k++) { s[k]=s[k+1]; } n=n-1; } } } } if(flag==0) { printf("查无此人 请重新选择!\n按回车继续······"); getchar(); getchar(); goto over; } printf("删除成功 按回车继续······"); getchar(); break; case 3: flag=0; printf("请输入要修改员工的工号:"); char gh1[13]; getchar(); scanf("%s",&gh1); for(i=0; i<n; i++) { if(strcmp(gh1,s[i].num)==0) { printf("请输入工号:\n"); scanf("%s",s[i].num); printf("请输入姓名:\n"); scanf("%s",s[i].name); printf("请输入年龄:\n"); scanf("%s",s[i].age); getchar(); printf("请输入职位:\n"); scanf("%s",s[i].work); printf("请输入性别:\n"); scanf("%s",s[i].sex); printf("请输入地址:\n"); scanf("%s",s[i].add); printf("请输入电话:\n"); scanf("%s",s[i].phone); printf("请输入入职时间(年月日):"); scanf("%s%s%s",s[i].hiredate.year,s[i].hiredate.month,s[i].hiredate.day); flag=1;
}
}
if(flag==0)
{
printf("查无此人 请重新选择!\n按回车继续······"); getchar();
}
break;
case 0:
FILE *fp;
printf("正在保存至staff.dat"); if((fp=fopen("staff.dat", "wb"))==NULL)
{
printf("文件无法打开...\n"); }
fwrite(s, sizeof(struct st),n,p); fclose(fp);
printf("数据成功写入文件...\n"); printf("请按回车键继续······"); getchar();
default:
printf("输入出错 请重新输入!!\n按回车继续······");
}
goto over;
system("pause");
}