2015-01-21 3 views
-2

Iv'e пытался найти массив для определенной строки, но я не знаю, как это сделать, если кто-то может написать код, который поможет мне понять спасибо.Как искать массив для строки

Это вот только маленький кусочек кода, я не думаю, им близко вообще к функции поиска для работы

case '3': cout << "you wish to search for a book\n please type the book Title you are looking for." << endl; 

     getline(cin, srch); 
     for (i = 0;Book[i].GetBookTitle() ; i++) 
     { 
     (Book[i].GetBookTitle()== srch) 

     } 

     break; 
+0

только что использовался для повторения процесса столько раз, сколько вы устанавливаете приращение. Книга [i], которая находится там, совершенно неверна. Так что, пожалуйста, ответьте на мой вопрос. возможно, просто создайте шаблон функции поиска для строк –

ответ

1

Ваш for цикл необходим предел:

bool found = false; 
for (i = 0; i < NUMBER_OF_BOOKS_IN_ARRAY ; i++) 
{ 
    if (Book[i].GetBookTitle()== srch) 
    { 
    found = true; 
    break; 
    } 
} 

Я также закончил цикл, используя break, если книга найдена.
Переменная флага, found, установлена ​​в true, если книга была найдена.

1

Вы ищете код, который выглядит следующим образом:

string srch; 
cout << "you wish to search for a book\n please type the book Title you are looking for." << endl; 
getline(cin, srch); 
for (int i = 0; i < Max; i++) { 
    if (Book[i].GetBookTitle() == srch) { 
     cout << "Book found!" << endl; 
    } 
} 

Значение «Макс» является количество книг в базе данных.

Смежные вопросы