c语言程序设计帮忙修改一下谢谢

2024-11-23 02:28:56
推荐回答(2个)
回答(1):

问题也很好解决;
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(没找到)
  {
  //自己添加代码
  }

回答(2):

这点财富值不太想写,你自己写一下,我帮你修改一下吧