2014-11-29 4 views
0

Я хочу создать как очень простой ИИ для консольной игры. Мне нужна функция, которая распознает 2 или 3 слова в строке, созданной с помощью cin. любая помощь была бы высоко оценена, поскольку я был в этом какое-то время и не могу найти решение.поиск строки для определенных слов

+0

Post, что у вас есть до сих пор. Если ничего, самый простой способ - искать строку ввода для каждого из нескольких целевых строк с помощью 'string :: find()'. Вы можете найти информацию об этом здесь: http://www.cplusplus.com/reference/string/string/find/. Более элегантным решением является использование регулярных выражений для поиска каждого возможного слова - см. Http://www.cplusplus.com/reference/regex/ – mhawke

+0

Теперь я вижу, что вы спросили [этот вопрос] (http: // stackoverflow. com/q/26836943/21945). Что было не так с ответами? – mhawke

+0

Я уже спрашивал об этом, так что, я думаю, вы видели, какой код у меня до сих пор, вещь в том, что я могу только, кажется, иметь эту функцию один раз, iv пытался несколькими способами, но я продолжаю иметь либо ошибки, либо это не так, t вполне нормально работает –

ответ

0
#include <string> 
#include <iostream> 

using namespace std; 

//-------------------------------------------globals 
string sentence; 





int main() 
{ 
getline(cin, sentence); 

string search; 
size_t pos; 

search = "hi"; 
pos = sentence.find(search); 
if (pos != string::npos) 
    cout << "hello sir " << endl; 
else 
search = "cya"; 
    pos = sentence.find("cya"); 
if (pos != std::string::npos) 
    std::cout << "goodbye sir " << endl; 
else 
search = "goodbye"; 
    pos = sentence.find("goodbye"); 
if (pos != std::string::npos) 
    std::cout << "shuting down sir " << endl; 
else 



return 0; 
} 

, что я хотел бы, чтобы иметь первоначальный вид для поиска других слов, таких как привет эй, и так далее, и similer вещь с другими

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