Может кто то хочет сделать чат бот , вот один из примеров как его сделать =) конечно диалог можно увеличить так как богата ваша фантазия =)
Code
#include <iostream> #include<string> #include "stdlib.h" using namespace std; void start() { cout<<"Welcom to Vi Human (bot chat program)"<<endl; cout<<"Please print you question ! "<<endl; } void Hello2() { cout<<"Hi! what are you doing ?"<<endl; } void Hello1() { cout<<"Hi human! I VI (Virtual Intelligence)"<<endl; } int main() {
Отдельный метод для каждой фразы - это мощно. И да, используй while, а то goto - самозашквар. И функция main должна что-то возвращать, судя по твоему коду.
Не старичок и не новичок =) Через массив можно избавится от ненужных запросов типа "fdsjhsdfjhsdfh"
Ну дык идею усовершенствуй. Забавно было бы :) P.s. мы пересекались уже в моей теме "Locked World". Я просто долго на ник смотрел - показался знакомым. Разработку ещё не бросил :)
Нельзя такой шлак на форум пропускать. Тему закрыть, автора на колыму.
Согласен, чат бот сделанный через ифы, что за бред))
Quote
Не старичок и не новичок =)
Сколько за С++ работаешь, я за месяц из консоли вылезти не могу, а ты уже не новичок.
База данных для такого дела нужна, причем редактируемая внешне и чтобы для программы на С++ были какие-то опозновательные вещи, можно конечно просто сделать первое-второе предложение, но тогда получится шлак, который не будет отличаться от ифов, не лучше ли сделать что-то типа опозновательного тега что-ли, т.е. вопрос, ответы потом тег КОНЕЦ и сново вопрос и ответы КОНЕЦ, ведь на много лучше получится. Для этого придется тоже кучу проверок делать, но зато потом уже не придется делать нечего, просто обновлять текстовый файл. Прежде чем выпускать что-то подобное нужно позаботиться об универсальности. В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
Нельзя такой шлак на форум пропускать. Тему закрыть, автора на колыму.
Аа, вы не понимаете, автору с его ботом нужно срочно проходить тест Тьюринга. У него есть все шансы C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
switch(ax*size) { case 34: cout << "Hi! what are you doing ?\n"; // hi break; case 260: cout << "Hi human! I VI (Virtual Intelligence)\n"; // hello break; case 938: cout << "Fine!\n"; // how you break; default: cout << "I don't understand you.\n"; } }
int main() { string str;
start();
while(1) { getline(cin, str); for (int i = 0; i <= str.size(); i++) { str[i] = tolower(str[i]); } data(str); } }
2й Вариант, совпадения слов маловероятны, но максимальное слово может состоять из 8 букв. Как работает:
Возьмем для примера слово Hello, слово состоит из 85121215, для сокращения опускаем 1, в итоге их всего 3. Записываем в следующем порядке, 852253. Хотя если взять набор букв hebvo или hevbo, 8522215 после сокращения они не будут ничем отличаться от Hello Будут записаны также - 852253. Этим доказывается то что при сокращении, совпадения слов все же есть.
Code
#include <iostream> #include <string>
using namespace std;
void start() { cout << "Welcom to Vi Human (bot chat program)" << endl; cout << "Please print you question !" << endl; }
void data(int val) { cout << val << endl; switch(val) { case 890: cout << "Hi! what are you doing ?\n"; break; // Hi case 852253: cout << "Hi human! I VI (Virtual Intelligence)\n"; break; //Hello case 85375510: cout << "Fine\n"; break; //How you default: cout << "I don't understand you.\n"; } }
Sd-team, Что ты обижаешься то? Чат бот сделанный через if'ы сам то вдумайся. Ты бы хоть приводил строки к одному регистру для анализа ботом. В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
По идее, БД надо с полями "обращение - ответ", или хотя бы текстовый файлик. Ифами проверять... (представь что у тебя 300 фраз будет - это ж 300 ифов. а если фраз 2000?). Да и не полностью строку проверять, а делать анлизатор хотя бы примитивный, потому как, для проги "Привет бот" и "Бот привет" (да что там, даже "Привет бот.") будут разными. Следовательно, надо разбивать обращение на отдельные слова и искать в БД лучшее совпадение, и его уже выводить как ответ. Тут уже получится какой-никакой чат бот (тупенький правда).