结构体:
typedef struct
{
char M_number[M_MAX]; //会员号
char tele_number[TELE_MAX]; //手机号
char ID_number[ID_MAX]; //身份证号
char name[NAME_MAX]; //会员姓名
char passward[PASS_MAX]; //会员卡密码
double score; //会员积分
double account; //会员卡余额
}member;
typedef struct
{
int year;
int month;
int day;
int hour;
int minute;
int second;
}Time;
typedef struct
{
char name[NAME_MAX]; //会员姓名
int C_number; //电脑编号
Time start; //开始时间
Time end; //结束时间
double score; //会员积分
int condition; //电脑状态(0表示关闭,1表示开启)
}message;
/**读取存档*/
void Reading(member Member[],message Message[])
{
int m;
FILE *fp_Mem,*fp_Mes,*fp;
fp_Mem=fopen("会员信息.txt","r");
fp_Mes=fopen("上网信息.txt","r");
if(fp_Mem==NULL)
printf("会员信息文档打开失败!\n");
else{
for(m=0;m<Mem_MAX;m++){
fscanf(fp_Mem,"%s\t%s\t%s",Member[m].name,Member[m].tele_number,Member[m].ID_number);
fgetc(fp);
fscanf(fp_Mem,"%s\t%s\t%lf\t%lf",Member[m].M_number,Member[m].passward,&Member[m].score,&Member[m].account);
if(strlen(Member[m].name)==0)
memset(&Member[m],0,sizeof(Member));
}
}
fclose(fp_Mem);
if(fp_Mes==NULL)
printf("上网信息文档打开失败!\n");
else{
for(m=0;m<Com_MAX;m++){
fscanf(fp_Mes,"%s\t%d\t%d",Message[m].name,&Message[m].C_number,&Message[m].condition);
fscanf(fp_Mes,"%d\t%d\t%d\t%d\t%d\t%d",&Message[m].start.year,&Message[m].start.month,&Message[m].start.day,&Message[m].start.hour,&Message[m].start.minute,&Message[m].start.second);
if(fscanf(fp_Mes,"%d",&Message[m].end.year)==1)
fscanf(fp_Mes,"%d\t%d\t%d\t%d\t%d",&Message[m].end.month,&Message[m].end.day,&Message[m].end.hour,&Message[m].end.minute,&Message[m].end.second);
//fgetc(fp_Mes);
if(strlen(Message[m].name)==0)
memset(&Message[m],0,sizeof(Message));
}
}
fclose(fp_Mes);
}
}
/**保存存档*/
void Save(member Member[],message Message[])
{
int m;
FILE *fp_Mem,*fp_Mes;
fp_Mem=fopen("会员信息.txt","w");
fp_Mes=fopen("上网信息.txt","w");
if(fp_Mem==NULL)
printf("会员信息文档打开失败!\n");
else{
for(m=0;m<Mem_MAX;m++){
if(Member[m].account!=0)
fprintf(fp_Mem,"%s\t%s\t%s\n%s\t%s\t%.1f\t%.1f",Member[m].name,Member[m].tele_number,Member[m].ID_number,Member[m].M_number,Member[m].passward,Member[m].score,Member[m].account);
}
}
fclose(fp_Mem);
if(fp_Mes==NULL)
printf("上网信息文档打开失败!\n");
else{
for(m=0;m<Com_MAX;m++){
if(Message[m].C_number!=0){
fprintf(fp_Mes,"%s\t%d\t%d\n",Message[m].name,Message[m].C_number,Message[m].condition);
fprintf(fp_Mes,"%d\t%d\t%d\t%d\t%d\t%d\n",Message[m].start.year,Message[m].start.month,Message[m].start.day,Message[m].start.hour,Message[m].start.minute,Message[m].start.second);
if(Message[m].end.year!=0)
fprintf(fp_Mes,"\n%d%d\t%d\t%d\t%d\t%d\n",Message[m].end.year,Message[m].end.month,Message[m].end.day,Message[m].end.hour,Message[m].end.minute,Message[m].end.second);
}
}
}
fclose(fp_Mes);