文档介绍:/* Note:Your choice is C IDE */
#include<>
#include<>
#include<>
#define N 000000 /* 密码,实际请修改*/
/********定义员工信息结构体********/
struct record
{
int code; /* 员工编号*/
char name[15]; /* 姓名*/
char sex[3]; /* 性别*/
char birthday[15]; /* 生日*/
char add[30]; /* 地址*/
char tel[13]; /* 电话号码*/
char mail[20]; /*邮箱*/
char qq[20];
};
struct StuLink /*员工编号信息链节点*/
{
int code; /* 员工编号*/
char name[15]; /* 姓名*/
char sex[3]; /* 性别*/
char birthday[15]; /* 生日*/
char add[30]; /* 地址*/
char tel[13]; /* 电话号码*/
char mail[20]; /*邮箱*/
char qq[20];
struct StuLink *next;
};
int sizerecord=sizeof(struct record);
/**************录入文字*********************/
void InputWord(char *lx,char *p)
{
char word[20];
printf("请输入%s:",lx);
scanf("%s",word);
strcpy(p,word);
}
/************检测员工编号是否存在,若存在返回 1*********/
int exist(int n,FILE *fp)
{ struct record *p;
int flag=0;
p=(struct record*)malloc(sizerecord); /*申请一个新节点,用于读文件内容*/
rewind(fp);
while(!feof(fp))
{
fread(p,sizerecord,1,fp); /*读出文件内容*/
if(p->code==n)
{flag=1;break;}
}
return flag;
}
/************检测姓名是否存在,若存在返回 1*********/
char exist_name(char a[],FILE *fp)
{ struct record *p;
int flag=0;
p=(struct record*)malloc(sizerecord); /*申请一个新节点,用于读文件内容*/
rewind(fp);
while(!feof(fp))
{
fread(p,sizerecord,1,fp); /*读出文件内容*/
if(strcmp(p->name,a)==0)
{flag=1;break;}
}
return flag;
}
/**************计算文件长度*********************/
int FileLenth(FILE *fp)
{
long flen;
fseek(fp,0L,2); /*到文件末尾*/
flen=ftell(fp); /*取位置*/
rewind(fp); /*回到文件头*/
return flen;
}
/**************创建员工编号信息表*********************/
void readfile()
{
long start,filelen;
FILE *fp;
struct record *s;
int amount=0;//记录员工编号个数
if((fp=fopen("stuinf","a+"))==NULL) fp=fopen("stuinf","w+");
start=FileLenth(fp);
s=(struct record*)malloc(sizerecord); /*申请一个结构体空间*/
while(1)
{ printf("请输入员工编号(输入0退回上一步):");
scanf("%d",&s->code);
if(s->code==0) /*退