该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void delet()//删除货物信息
{
struct goods sum;
FILE *fp1, *fp2;
int x,y,z;
int flag=0;
char num1[20], name1[20];
system("cls");
if((fp1=fopen("E:\\仓库管理\\record.txt","rb"))==NULL)
{
printf("打开数据文件失败!");
getch();
return;
}
if((fp2=fopen("E:\\仓库管理\\temp.txt","wb"))==NULL)
{
printf("打开数据文件失败!");
getch();
return;
}
do
{
rewind(fp1);
rewind(fp2);
printf("\n\n使用编号->1查找?还是使用名称->2查找?\n");
scanf("%d",&x);
if(x<1||x>2)
printf("您输入错误");
if(x==1)
{
printf("请输入您要查询的货物编号:");
scanf("%s",num1);
while(fread(&sum,sizeof(sum),1,fp1)==1)
{
if(strcmp(num1,sum.num)==0)
{
printf("%15s%15s%15s%15s\n","编号","名称","价格","数量");
printf("%15s",sum.num);
printf("%15s",sum.name);
printf("%15s",sum.price);
printf("%15s\n",sum.many);
printf("\t是否确定删除这条数据(y/n)?\n");
getchar();
y=getchar();
if(y=='y')
flag=1;
else
fwrite(&sum,sizeof(sum),1,fp2);
}
else
fwrite(&sum,sizeof(sum),1,fp2);
}
fclose(fp1);
fclose(fp2);
if(flag==1)
{
printf("删除成功!\n");
remove("record.txt");
rename("temp.txt","record.txt");
}
else
printf("找不到数据!\n");
printf("是否继续删除?(y/n):\n");
getchar();
z=getchar();
}
if(x==2)
{
printf("请输入你想查询的货物名称:");
scanf("%s",name1);
while(fread(&sum,sizeof(sum),1,fp1)==1)
{
if(strcmp(name1,sum.name)==0)
{
printf("%15s%15s%15s%15s\n","编号","名称","价格","数量");
printf("%15s",sum.num);
printf("%15s",sum.name);
printf("%15s",sum.price);
printf("%15s\n",sum.many);
printf("\t是否确定删除这条数据(y/n)?\n");
getchar();
y=getchar();
if(y=='y')
flag=1;
else
fwrite(&sum,sizeof(sum),1,fp2);
}
else
fwrite(&sum,sizeof(sum),1,fp2);
}
fclose(fp1);
fclose(fp2);
if(flag==1)
{
printf("删除成功!\n");
remove("record.txt");
rename("temp.txt","record.txt");
}
else
printf("找不到数据!\n");
printf("是否继续删除?(y/n):\n");
getchar();
z=getchar();
}
}while(z=='y');
}