如何解决我需要做什么才能将类数组中的字符串保存到普通字符串变量中?
int main() {
Book** library = nullptr;
int size = 0;
bool cont = true;
while (cont) {
switch (menu())
{
case 1:
addBook(library,size);
break;
case 2:
if (findBook(library,size) != -1)
{
cout << "Book: " << library[findBook(library,size)]->getTitle();
}
else
{
cout << "Book was not found in the library.\n";
}
break;
case 3:
cout << "ok test";
break;
case 4:
cont = false;
cout << "Exit Program...\n";
break;
}
cout << endl;
}
return 0;
}
int findBook(Book** BA,int size)
{
string title,titlecomp;
int i,position=-1;
cout << "Enter the name of the book: ";
cin.ignore(100,'\n');
getline(cin,title,'\n');
for (i = 0; i < size; i++)
{
titlecomp = BA[i]->getTitle();
int res = titlecomp.compare(title);
if (res==0)
{
position = i;
cout << "Title found.";
}
else
{
position = -1;
}
}
return position;
}
所以,我需要检查标题是否已经存在于动态数组中,我想我是从 ->getTitle() 获取的。我注意到它没有保存在变量 titlecomp 中。
问题是,在我将第一本书保存在另一个函数中,然后我按标题输入 findBook 的选择后,它仍然保留 -1 存储在位置,作为回报,它会说在 main() 中找不到这本书.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。