问题也很好解决;
1、问题描述:按你所述内容,是想在找到相同书名后(可能有很多本,但ISBN号各不相同),你想按"ISBN" 号删除,如果输入的ISBN号在找到的所有同名书中存在,则删除该ISBN号所对应的书本信息,若不存在,则提示未找到相应的ISBN信息。
2、算法分析:在找到若干同名书之后,把所有找到书目放入一个数组F,数组的长度为你所写程序中变量"j"的值,即 Bookinfo F[j];然后在输入要删除的ISBN号后,只需在数组F中查找对应的ISBN号即可。
3、源代码参考:
Bookinfo F[j];//定义数组
for(i=0;i{
if(!strcmp(dictList[i].book,book))
{ //找到同名的数据,并输出
printf("%-10s%-23s%-18s%-8d%-15s%-4d\n",dictList[i].ISBN,dictList[i].book,dictList[i].author,dictList[i].edition,dictList[i].press,dictList[i].year);
F[j++] = dictList[i];//把找到的同名书目放入F数组
}
}
if(j==0)
printf("未找到待删除记录\n");
else
{
printf("请输入待删除的书目的书号\n");
gets(isbn); //获取要删除的数据的书号
//在F中查找ISBN
//楼主自己写代码哦,很简单
//
if(找到)
{
printf("确实要删除该记录?是(y)|否(n)\n"); //提示删除
if((s=getchar())=='y')
{
for(i=0;i{
if(!strcmp(dictList[i].ISBN,isbn))
{
//调用delet函数删除
printf("删除成功!\n");
return(delet(dictList,n,dictList[i].ISBN));
}
}
}
}
else(没找到)
{
//自己添加代码
}
这点财富值不太想写,你自己写一下,我帮你修改一下吧