请用C++做一个智能聊天机器人
下面是一个简单的示例代码,可以实现一个基本的智能聊天机器人。
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
// 问题和对应的回答
std::vector<std::pair<std::string, std::string>> responses = {
{"你好", "你好!"},
{"你叫什么名字", "我叫ChatBot。"},
{"你是谁", "我是一个智能聊天机器人。"},
{"再见", "再见!"},
{"天气怎么样", "我不知道,请自己查看天气预报。"},
{"我喜欢你", "谢谢!我也喜欢你。"},
{"你会做什么", "我可以回答一些问题,和你聊天。"},
{"你喜欢什么", "我喜欢和人类聊天。"}
};
// 将字符串转换为小写
std::string toLower(const std::string& str) {
std::string result = str;
std::transform(result.begin(), result.end(), result.begin(), ::tolower);
return result;
}
// 根据输入的问题返回回答
std::string getResponse(const std::string& question) {
std::string lowerQuestion = toLower(question);
for (const auto& response : responses) {
if (lowerQuestion.find(toLower(response.first)) != std::string::npos) {
return response.second;
}
}
return "我不知道该如何回答。";
}
int main() {
std::cout << "你好!我是ChatBot,有什么问题可以帮到你吗?" << std::endl;
std::string question;
while (true) {
std::cout << "> ";
std::getline(std::cin, question);
if (question == "退出") {
break;
}
std::string response = getResponse(question);
std::cout << response << std::endl;
}
std::cout << "再见!" << std::endl;
return 0;
}
这个示例代码中,我们定义了一些常见的问题和对应的回答。然后,根据用户输入的问题,在问题列表中查找匹配的问题,并返回对应的回答。用户可以通过输入"退出"来退出程序。
请注意,这只是一个简单的示例,实际的智能聊天机器人需要更复杂的算法和数据结构来处理更复杂的问题和回答。
原文地址: http://www.cveoy.top/t/topic/h8PO 著作权归作者所有。请勿转载和采集!