用C++定义一个userMessage函数做一个聊天机器人并配有详细的解析
以下是一个用C++定义的userMessage函数的示例,用于实现一个简单的聊天机器人:
#include <iostream>
#include <string>
#include <algorithm>
// 转换为小写字符串
std::string toLowerCase(const std::string& str) {
std::string lowerCaseStr = str;
std::transform(lowerCaseStr.begin(), lowerCaseStr.end(), lowerCaseStr.begin(), ::tolower);
return lowerCaseStr;
}
// 用户消息处理函数
void userMessage(const std::string& message) {
std::string lowerCaseMessage = toLowerCase(message);
if (lowerCaseMessage == "hello" || lowerCaseMessage == "hi") {
std::cout << "Hello! How can I assist you?" << std::endl;
} else if (lowerCaseMessage == "how are you?") {
std::cout << "I'm fine, thank you! How about you?" << std::endl;
} else if (lowerCaseMessage == "what is your name?") {
std::cout << "My name is ChatBot." << std::endl;
} else if (lowerCaseMessage == "bye" || lowerCaseMessage == "goodbye") {
std::cout << "Goodbye! Have a nice day!" << std::endl;
} else {
std::cout << "Sorry, I didn't understand your message." << std::endl;
}
}
int main() {
std::string message;
std::cout << "Welcome to ChatBot! Start messaging." << std::endl;
while (true) {
std::cout << "You: ";
std::getline(std::cin, message);
if (message == "exit") {
break;
}
userMessage(message);
}
return 0;
}
在上述示例中,userMessage函数用于处理用户输入的消息。它首先将接收到的消息转换为小写,以便更容易进行比较。然后,根据不同的消息内容,选择相应的回复。如果收到的消息是"hello"或"hi",则打印"Hello! How can I assist you?"。如果收到的消息是"how are you?",则打印"I'm fine, thank you! How about you?"。如果收到的消息是"what is your name?",则打印"My name is ChatBot."。如果收到的消息是"bye"或"goodbye",则打印"Goodbye! Have a nice day!"。如果收到的消息不匹配上述任何选项,则打印"Sorry, I didn't understand your message."。
在主函数中,程序通过循环等待用户输入消息。用户可以输入任何消息,并通过回车键进行发送。如果用户输入"exit",则程序退出。否则,用户输入的消息将传递给userMessage函数进行处理
原文地址: https://www.cveoy.top/t/topic/iq1e 著作权归作者所有。请勿转载和采集!