该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
{
printf("此文件不可读或无你所需要修改的用户资料,请重新输入或返回主菜单重新选择!!"); //The system can't open the file
getchar();
return;
}
system("cls");
while(flag=='y')
{
printf("\n\tMODIFY SUBSCRIBER DETAILS");
printf("\n\n请输入您要修改的用户名 :");
scanf(" %s",newname);
rewind(fp); //将文件位置重新置于文件开头
system("cls");
while((fread(&tel,sizeof(struct aaa),1,fp))==1)
{
if(strcmp(newname,tel.name)==0)
{
printf("\n\tRECORD TO BE MODIFIED\n");
printf("姓名:%s\n",tel.name);
printf("地址:%s\n",tel.address);
printf("电话号码:%d\n",tel.telhome);
find=1;
break;
}
}
if(find==0)
{
printf("\n\n你输入的用户名错误或不存在,请重新输入!!");
getchar();
getchar();
return;
}
fseek(fp,-1*sizeof(struct aaa),1);//fseek(fp,-(long)(sizeof(struct aaa)),1);
printf("\n ENTER NEW RECORD DETAILS\n\n");
printf("请输入新的姓名:");
scanf("%s",tel.name);
printf("请输入新的地址:");
scanf("%s",tel.address);
printf("请输入新的电话号码:");
scanf("%d",&tel.telhome);
while(tel.telhome<4000000||tel.telhome>4999999)
{
printf("\n\tSubscriber telephone number must be between 4000000 and 4999999\n");
printf("\n请重新输入电话号码:");
scanf(" %d",&tel.telhome);
fflush(fp);
}
fwrite(&tel,sizeof(struct aaa),1,fp);
printf("修改成功!!是否继续修改?(y/n):");
scanf(" %c",&flag);
}
fclose(fp);
system("cls");
getchar();
getchar();
}
/*删除现有订户的详细信息*/
void del_existing()
{
FILE *fp;
struct aaa tel;
struct aaa *bbb;
char newname[30];
char flag='y';
char find=1;
int Count=0,i=0;
if((fp=fopen("telefon.txt","rb"))==NULL)
{
printf("\n此文件不可读或无你所需要删除的用户资料,请重新输入或返回主菜单重新选择!!");
getchar();
return;
}
system("cls");
while(flag=='y')
{
printf("\tDELETE SUBSCRIBER DETAILS\n\n");
printf("请输入要删除的用户名 :");
scanf("%s",newname);
system("cls");
while(fread(&tel,sizeof(struct aaa),1,fp)==1)
{
if(strcmp(tel.name,newname)==0)
{
printf("\n姓名:%s\n地址:%s\n电话号码:%d\n",tel.name,tel.address,tel.telhome);
find=1;
break;
}
}
if(strcmp(tel.name,newname)!=0)
{
printf("无你所需要删除的用户资料,请重新输入或返回主菜单重新选择!!\n");
getchar();
getchar();
return;
}
rewind(fp);
fseek(fp,-1*sizeof(struct aaa),1);
while(fread(&tel,sizeof(struct aaa),1,fp)==1)
{
Count++;
}
bbb=(struct aaa *)malloc((Count-1)*sizeof(struct aaa));
rewind(fp);
while(fread(&tel,sizeof(struct aaa),1,fp)==1)
{
if(strcmp(tel.name,newname)!=0)
{
bbb[i]=tel;
i++;
}
}
fclose(fp);
fp=fopen("telefon.txt","wb");
fwrite(bbb,sizeof(struct aaa),Count-1,fp);
printf("删除完毕!!是否继续删除?(y/n):");
scanf(" %c",&flag);
}
fclose(fp);
getchar();
}
/*根据电话号码查出的订户详细信息*/
void telephone()
{
char flag='y';
char find=0;
int newtelhome;
FILE *fp;
struct aaa tel;