powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чат Бот. Различные варианты условия if. C++ Builder.
12 сообщений из 12, страница 1 из 1
Чат Бот. Различные варианты условия if. C++ Builder.
    #40025924
Sakha98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать разные ответы на вопросы давай пообщаемся/как дела/хочу общаться. Пробовал || поставить между ответами и вопросами тогда он отвечает на все напечатанные буквы: Как дела?. А Если убрать уже пишет "Текст не распознан" по условии
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026005
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я ничего не понял.
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026028
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Лично я ничего не понял.

Задача очень сложная, вот вы и не поняли.
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026105
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы разделил две задачи.

1) Программирование на C++ Builder.
2) Программирование ботов вообще.

Это две разные задачи и их не стоит смешивать в 1 топике. Тем более что С++ вобщем-то не подходит
для программирования логики диалоговых экспертных систем. Здесь нужно что-то более подходящее.
Я не знаю. Может Lisp или Prolog. Просто базу ответов и вопросов и текущего состояния контекста
будет очень трудно запрограммировать на классических кондишенах if-else. Тут нужен более фундаментальный
подход. И сама база фраз и ответов должна как-то храниться отдельно от исходного кода.
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026232
Sakha98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,
да знаю, только проходим, можно было проще подключить БД, но задание есть задание. В общем вот программма. Пробовал добавить так }
Код: plaintext
1.
2.
3.
else if (Edit1->Text == "Хочу общаться")||("2 вариант")||("3 вариант") {
	   ListBox1->Items->Add("USER: " + Edit1->Text);
	   ListBox1->Items->Add("CHATBOT: Как дела?")||("CHATBOT: 2 вариант")||("CHATBOT: 3 вариант");


А еще пытался
Код: plaintext
1.
2.
3.
4.
5.
else if (Edit1->Text == "Хочу общаться","2 вариант","3 вариант") {
	   ListBox1->Items->Add("USER: " + Edit1->Text);
	   ListBox1->Items->Add("CHATBOT: Как дела?");
           ListBox1->Items->Add("CHATBOT: 2 вариант");
           ListBox1->Items->Add("CHATBOT: 3 вариант");}


Так вот если добавлю какой то из этих вариантов не находит ошибку но на все накаляканные буквы спрашивает Как дела, а должен был сказать Текст не распознан



Основная программа:
Код: plaintext
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.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Edit1->Text.IsEmpty())return;
else if(Edit1->Text == "Привет"){
		 ListBox1->Items->Add("USER: " + Edit1->Text);
		 ListBox1->Items->Add("CHATBOT: Здравствуйте");
	 }else if (Edit1->Text.Pos("Число Пи")){
			   ListBox1->Items->Add("USER: " + Edit1->Text);
			   ListBox1->Items->Add("CHATBOT: 3.14");
				}
else if (Edit1->Text == "Хочу общаться") {
	   ListBox1->Items->Add("USER: " + Edit1->Text);
	   ListBox1->Items->Add("CHATBOT: Как дела?");

	 }
	 else{
	   ListBox1->Items->Add("USER: " + Edit1->Text);
	   ListBox1->Items->Add("CHATBOT: Текст не распознан");
	   }
Edit1->Text == "";
SendMessage(ListBox1->Handle, WM_VSCROLL, SB_LINEDOWN, 0);
SendMessage(ListBox1->Handle, WM_VSCROLL, SB_LINEDOWN, 0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
if (Key==VK_RETURN) {
	  if (Edit1->Text.IsEmpty())return;
	  else if(Edit1->Text == "Привет"){
			ListBox1->Items->Add("USER: " + Edit1->Text);
			ListBox1->Items->Add("CHATBOT: Здравствуйте");
	  }else if (Edit1->Text.Pos("Число Пи")){
			ListBox1->Items->Add("USER: " + Edit1->Text);
			ListBox1->Items->Add("CHATBOT: 3.14");
	  }else if (Edit1->Text == "Хочу общаться") {
	   ListBox1->Items->Add("USER: " + Edit1->Text);
	   ListBox1->Items->Add("CHATBOT: Как дела?");

	  }
}
}
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026234
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sakha98,
Ужас. Вообрази какое множество может быть вопросов и насколько вырастет твой код. Я уже не говорю, о том, что всё по классике формошлёпства засунуто в обработчик кнопки и работает с полями элементов формочки.
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026235
Sakha98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster, программа маленькая
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026238
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ужас. С основ надо начинать - операции сравнения , логические операции ... Хотя лучше учебник какой-то для начинающих.
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026239
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sakha98
Пробовал добавить так
Код: plaintext
1.
else if (Edit1->Text == "Хочу общаться")||("2 вариант")||("3 вариант") {


Почти угадал, правильно так
Код: plaintext
1.
else if ((Edit1->Text == "Хочу общаться") || (Edit1->Text == "2 вариант") || (Edit1->Text == "3 вариант")) {


Прежде чем что-то писать книжку бы почитал, элементарные вещи не знаешь.
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026242
Sakha98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,а этот вариант тогда тоже правильный? ответы бота
Код: plaintext
1.
 ListBox1->Items->Add("CHATBOT: Как дела?")||("CHATBOT: 2 вариант")||("CHATBOT: 3 вариант");
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026244
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sakha98
Dima T,а этот вариант тогда тоже правильный? ответы бота
Код: plaintext
1.
 ListBox1->Items->Add("CHATBOT: Как дела?")||("CHATBOT: 2 вариант")||("CHATBOT: 3 вариант");


Нет. Это чушь какая-то даже если откомпилируется. Тут ты сам должен как-то определиться и вывести один из трех вариантов, т.е.
Код: plaintext
1.
ListBox1->Items->Add("CHATBOT: одно из трех");
...
Рейтинг: 0 / 0
Чат Бот. Различные варианты условия if. C++ Builder.
    #40026254
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sakha98
crutchmaster, программа маленькая

И что?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чат Бот. Различные варианты условия if. C++ Builder.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]