c++ - 在 C++ 上搜索结构内部的对象

标签 c++ cmd

我正在为图书馆制作一个程序,可以插入一本书,显示所有插入的书,并根据用户插入的 book_code 搜索特定的书名,我已经完成了其中的 2 个,但最后一个一个(搜索)不会像我预期的那样运行..如果这里有人可以帮助我,我将非常感激。这是代码

#include <iostream>
#include <conio.h>
void show_book(const Book &book );
void input_book (Book &book);
int main ()
{
  Book book[10];
  int i,x;
  char search;
  int position,found;
  cout<<"How many book you want to add = "; cin>>x;
  for (i=0; i<x; i++){
    input_book(book[i]);
  }
  for(i=0; i<x; i++){
    show_book(book[i]);
  }
//this is my searching code , im stuck here .. 
  cout<<"\n====== SEARCH ====="<<endl;
  cout <<"Enter book code = "; cin>>search;
  for (i=0; i<x; i++){
  if(book->book_code[i] == search){
    found = 1;
    position = i;
    i = x;
  }
}
  if (found != 0){
    show_book(book[position]);
  } else{
cout<<"The book is not exist";
 }
  return 0;
}
//function declaration...
void show_book(const Book &book){
  cout<<book.book_code<<" | "<<book.book_title<<endl;
}
void input_book(Book &book){
      cout << "Book code : ";cin  >> book.book_code;
      cin.ignore(1, '\n');
      cout << "Book title : " ;getline(cin, book.book_title);
}

this is the output now look like

最佳答案

found 在搜索 block 开始时未初始化为 0。

修改后的代码如下

for (i=0,found=0;i<x && !found; ++i)
  if (book[i].book_code == search)
  {
    found = 1;
    position = i;
  }

关于c++ - 在 C++ 上搜索结构内部的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50653238/

相关文章:

c++ - 人们会在 SphinxQL 上使用 SphinxAPI 的具体原因是什么?

C++如何使用不支持的调用约定调用代码

c - 为什么 system() 函数不起作用?

windows - Ctrl+C 不能可靠地终止 Windows 批处理脚本

c++ - 我可以让静态函数继承每个类的特定值吗?

c++ - 我如何使用 OpenCV 重写这个 warp-affine?

c++ - 将代理模式与 C++ 迭代器一起使用

windows - 批量语法问题

linux - echo 输出在 Linux 和 Windows 操作系统上不同

batch-file - MS-Win-CMD PushD/PopD 如何工作以及为什么不在 "For/f"-Loop 中