简易聊天机器人O(∩_∩)O哈哈哈~
使用说明:随便输入点什么,复制到Dev-c++上即可使用。(正在完善请多谅解︿( ̄︶ ̄)︿)
#include<iostream>
#include<cstdio>
using namespace std;
char c[1001];
int main()
{
cout<<"My name is Jackson,your good friend!"<<endl;
cout<<"If you have something disturbing,please tell me!QwQ"<<endl;
if(gets(c))
{
cout<<"hi,what can I do for you?"<<endl;
}
if(gets(c))
{
cout<<"Do not worry,I will try my best to help you!"<<endl;
}
return 0;
}
(*^__^*) 嘻嘻……
还有两个在网上找的,也挺好玩的^_^
#include<iostream>
#include<string>
#include<ctime>
#include<cstdlib>
int main()
{
std::string Response[]={
"I heard you!",
"SO, you are talking to me.",
"CONTINUE,I am listening.",
"Very interesting conversation.",
"TELL me more..."
};
srand((unsigned) time(NULL));
std::string sInput="";
std::string sResponse="";
while(1){
std::getline(std::cin,sInput);
int nSelection=rand()%5;
sResponse=Response[nSelection];
std::cout<<sResponse<<std::endl;
}
return 0;
}
#pragma warning(disable:4786)
#include<iostream>
#include<string>
#include<vector>
#include<ctime>
#include<cstdlib>
using namespace std;
const int MAX_RESP=3;
typedef vector<string>vstring;
vstring find_match(string input);
void copy(char*array[],vstring &v);
typedef struct
{
char*input;
char*responses[MAX_RESP];
}record;
record KnowledgeBase[]=
{
{"What is your name",
{"My name is chatterbot2.",
"You can call me chatterbot2.",
"Why do you want to know my name?"}
},
{"Hi",
{"Hi there!",
"How are you?",
"Hi!"
}
},
{"How are you",
{"I'm doing fine!",
"I'm doing well and you?",
"Why do you want to know how am I doing?"}
},
{"Who are you",
{"I'm an a.I program.",
"I think that you know who I'm.",
"Why are you asking?"}
},
{"Are you intelligent",
{"Yes,of course.",
"What do you think?",
"Actualy,I'm very intelligent!"}
},
{"Are You real",
{"Does that question really maters to you?",
"What do you mean by that?",
"I'm as real as I can be."}
}
};
size_t nKnowledgeBaseSize = sizeof(KnowledgeBase)/sizeof(KnowledgeBase[0]);
int main()
{
srand((unsigned) time(NULL));
std::string sInput="";
std::string sResponse="";
while(1)
{
cout<<">";
getline(cin,sInput);
vstring responses=find_match(sInput);
if(sInput=="Bye")
{
cout<<"It was nice talking to you user,see you next time!"<<endl;
break;
}
else if(responses.size()==0)
{
cout<<"I'will try me best to help you!"<<endl;
}
else{
int nSelection=rand()%MAX_RESP;
sResponse=responses[nSelection];
cout<<sResponse<<std::endl;
}
}
return 0;
}
// make a search for the user's input
// inside the database of the program
vstring find_match(string input)
{
vstring result;
for(int i=0;i<nKnowledgeBaseSize;++i)
{
if(string(KnowledgeBase[i].input)==input)
{
copy(KnowledgeBase[i].responses,result);
return result;
}
}
return result;
}
void copy(char *array[],vstring &v)
{
for(int i=0;i<MAX_RESP;++i)
{
v.push_back(array[i]);
}
}
原blog上都是大写输出,我稍微改了一下(⊙v⊙)
↖(^ω^)↗~~O(∩_∩)O哈哈~~
附上一个blog链接好啦~\(≧▽≦)/~啦啦啦
风过林梢,骄阳正好
彼时他们正当年少。

浙公网安备 33010602011771号