Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 5.00
anele
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 10
#1

Поиск подстроки - C++

21.05.2011, 19:10. Просмотров 5361. Ответов 1
Метки нет (Все метки)

Почему при поиске вхождения подстроки в строку если я ввожу несколько слов, то компилятор разделяет строку на слова и ищет вхождение в них?

Мне надо составить программу, с которой можно было бы "разговаривать"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
 
 setlocale(0,"rus");
 
int x;
string qwe;
string a;
 
string otv1="Eto makrosu. Ya znaya makrosu";
string otv2="Pishniki samue klevue!";
string otv3="Svoya marka zamechatelnaya gazeta.";
string otv4="Vse zamechatelno!!!";
string otv5="Basic";
string otv6="Priveeeeeet! Davno ne videlis!";
string otv="Poka. Yvidimsya skoro.";
string def="Nuuuuu ne znayu ya!";
 
cout<<"Vsem privet! Eto model cheloveka!"<<endl;
 
cout<<"Sprosi y menya chto-nibud'))"<<endl<<endl;
 
do {
x=0;
qwe="";
a="";
 cin>>qwe;
 
if ((qwe.find("priv"))==0)
 {a=otv6;}
 
if ((qwe.find ("dela"))==0) 
 {a=otv4;}
 
if ((qwe.find ("pi"))==0)
 {a=otv2;}
 
if ((qwe.find("basic"))==0)
 {a=otv1;}
 
if ((qwe.find("Parallel"))==0) 
 {a=otv3;}
 
if ((qwe.find("sdae"))==0)
 {a=otv5;}
 
if ((qwe.find("poka"))==0)
 {a=otv;
 x=1;}
 
if (a=="")
{a="Nuuuuu ne znayu ya!";}
cout<<a<<endl;
 
}
 
while (x!=1);
 
 getch();
}
По сути дела, если задается вопрос, который не включает в себя ни одно из этих слов, то должна выводится строка "Nuuuuu ne znayu ya!". А она выводится при вхождении в строку любого слова, отличного от тех, что должны искаться.

Что я делаю не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 19:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск подстроки (C++):

Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. - C++
#include &lt;stdio.h&gt; int count_of_substrings(string s, string s1){ int start = 0; int count = 0; int pos = 0; ...

Поиск подстроки - C++
Народец))) Подскажите пожалуйста новичку,как найти подстроку в строке?

Поиск подстроки - C++
Всем привет. Вот такое вот дали задание: найти все вхождения данного образца в строке. При этом надо указать индекс в тексте с которого...

Поиск подстроки - C++
Привет всем. Я пишу программу для поиска подстроки. Если подстрока есть в строке, вывести YES. Иначе - NO. Вот код(еще не дописанный) ...

Поиск подстроки - C++
Эта программа написана чтобы искало буквы....а как написать чтобы искало количество слова например &quot; kag &quot; #include&lt;iostream.h&gt; ...

Поиск подстроки - C++
Подскажите, как в тексте типа этого - &quot;101011110101001001001111010101010101100110&quot;, найти определенную комбинацию...

1
iama
1251 / 976 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
21.05.2011, 19:16 #2
Сравнивать значение, возвращаемое string.find() нужно не с 0, а с string::npos.
А вообще, читайте

Добавлено через 1 минуту
И читайте про стандартные операторы C++, про case вам ваще в тему было бы.

Добавлено через 30 секунд
И ваще пипец
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 19:16
Привет! Вот еще темы с ответами:

Поиск подстроки - C++
Как считать из файла поочерёдно подстроку и искать её в строке? И почему то в итоге не корректно выводится результат 2 -х значений. Вот...

Поиск подстроки - C++
Всем добрый день, подскажите хорошая ли идея искать наличие подстроки таким способом, 8 строка. #include &lt;iostream&gt; #include &lt;string&gt; ...

поиск подстроки в строке - C++
Всем доброго времени суток! Дано: две строки типа string, к примеру str1 = &quot;HeLLo&quot; и str2 = &quot;hell&quot; Вопрос: как найти из str1 подстроку...

Поиск подстроки в строке - C++
Здравствуйте. Задача такова: есть список (вообще, список большой, и не имеет в принципе ограничения, но сейчас у меня подстрок 5) подстрок,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.