用户名:aloneb410
#include<stdio.h>
#include<string.h>
#incl象ude<alloc.h>
FILE*fp;
inti;
charch;
/*AddressStructDefinition*/
structmember
{int**mber;
charname问答[20];
cha音三武六rtelephone[13];
charaddress[5均0];
charpost[6]铁粉;
}members[50];
voidData_Me**()
{printf("\n---------------------------me**---------------------------\n");
printf("1.Add");
printf("2护衣常.Delete");
pr晚跳完大烟封班学架intf("3.Search");
printf("4.S**e");
pri针百统专ntf("5.Showall")
printf区列路官远于黑谈第液("6.Exit");
p量权析校门半应rintf("\n--盾妈---------------------------------------------------------\n");
}
voidData_Load()
{intj;
longk;
fp=fopen("members.txt","rt");
if(fp!=**LL)
{for(i=1;i<50;i++)
{j=fgetc(fp);
if(j==EOF)
{部来return;
}
油负离级k=i-1;
fseek(fp,k*sizeof(structmember),**EK_**T);
fread(&members[i],sizeof(structmember),1,fp);
}
}
e选问握奏顾怎封应迫省顶lse
{fp=fopen("members.txt","w");
i=1;
}
}
voidData_Add(intj)
{printf叶示首求孙行("\n");
members开相方[j].**mber=j;
printf("\n\tNo:%d",j);
printf("\n\tName:")拉输儿迫营染;
scanf("%s",members[j].name);
printf("\tTele赶重入爱纸称亮了居火剂phone:");
scanf("%s",members[j].telephone);
printf("\tAddress:");
scanf("%s",members[j].address);
printf("\tPost大别都底边审认神甲价:");
scanf("%s",members[j].post);
}
voidData_Show(intj)
{printf("\n\tNo:%d",members[j].**mber);
printf("\n\tName:%s",members[j].name);
printf("\n\tTelephone:%s",members[j].telephone);
printf("\n\tAddress:%s",members[j].address);
printf("\n\tPost:%s",members[j].post);
}
voidData_Showall(intj)
{printf("\n\tNo:%d",members[j].**mber);
printf("\n\tName:%s",members[j].name);
printf("\n\tTelephone:%s",members[j].telephone);
printf("\n\tAddress:%s",members[j].address);
printf("\n\tPost:%s",members[j].post);
}
voidData_S**e()
{intj;
fp=fopen("members.txt","w");
for(j=1;j<=i;j++)
{fwrite(&members[j],sizeof(structmember),1,fp);}
}
main()
{char*search_name;
intj,k;
Data_Load();
i--;
do
{Data_Me**();
printf("PleaseChoose:");
ch=getche();
switch(ch)
{case'1':
while(i<50)
{i++;
Data_Add(i);
bre**;
}
if(i==50)
{printf("\n\tMessageisFilled!\n");}
bre**;
case'2':
if(i<1)
{printf("\n\tNoRecords\n");
bre**;
}
printf("\n\tDeleteNo:");
scanf("%d",&k);
for(j=k;j<i;j++){
strcpy(members[j].name,members[j+1].name);
strcpy(members[j].telephone,members[j+1].telephone);
strcpy(members[j].address,members[j+1].address);
strcpy(members[j].post,members[j+1].post);
}
i--;
bre**;
case'3':
printf("\n\tPleaseInputSearchName:");
search_name=(char*)malloc(20);
gets(search_name);
for(j=1;j<=i;j++)
{if(strcmp(search_name,members[j].name)==0){
Data_Show(j);
bre**;
}
}
free(search_name);
bre**;
case'4':
Data_S**e();
printf("DateisS**ed!\n");
fclose(fp);
bre**;
case'6':
printf("\n\t");
printf("DoYouWantToS**eMessage(y/n)");
if(getche()=='y')
{Data_S**e();}
fclose(fp);
exit(0);
bre**;
default:
bre**;
case'5':
for(j=1;j<=i;j++)
Data_Showall(j);
bre**;
}
}while(1);
}
ustb的?这个要tc编译