A. 請教編寫智能聊天機器人的思路。。。。。
不復雜只不過現在的技術還屬於初期階段,神經網路技術出現自動學習IA要等技術的突破.
B. 機器人對話c語言編程
定義一個結構體,把你的信息存進去
C. 如何寫聊天機器人
這不是單憑一個人能寫出來的東西,得要分析語義,資料庫中找回答等,這個資料庫得要自己加入大量內容的。
D. 求一份簡單的聊天機器人源代碼,要C++編寫的
那得看樓主希望聊天機器人有哪些功能了。
一般地,首先要能分析句子,區分名詞和形容詞,能記憶集合關系
然後就是隨機性地回答問題了
E. 想用c語言寫一個聊天機器人,求代碼
學過編譯原理不,學過的話,我就給你提提,沒有學過的話,就算了
F. 機器人c語言編程
機器人編程所採用的語言1.VJC 編程語言又稱為機器人C語言,是一種易學易用的編程語言。2.圖形化編程語言(G語言)還有與機器人語言相關的編程語言:通用C語言 通用匯編語言 通用LOGO語言 通用QBASIC語言
G. c語言 編寫一個智能聊天工具
可以使用智能聊天機器人的介面來做
下面是一個簡單的使用小耗子機器人提供的介面的聊天代碼
#include<stdio.h>
#include<string.h>
#include<curl/curl.h>
#include<stdlib.h>
#defineBOT_SER"https://brisk.eu.org/smbot/sm.php"
typedefstruct
{
size_tlen;
char*msg;
}MSG;
size_tget_data(char*ptr,size_tsize,size_tnmemb,MSG*msg)
{
msg->msg=realloc(msg->msg,msg->len+nmemb+1);
snprintf(msg->msg+msg->len,nmemb,"%s",ptr);
msg->len+=nmemb;
returnnmemb;
}
intmain(intargc,char**argv)
{
CURL*curl;
MSGmsg;
charbuf[1024];
chardata[2048];
curl=curl_easy_init();
msg.len=0;
msg.msg=NULL;
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,get_data);
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&msg);
curl_easy_setopt(curl,CURLOPT_USERAGENT,"CBot/FromBai");
while(1)
{
printf(">");
scanf("%s",buf);
if(strcmp(buf,"exit")==0)
break;
snprintf(data,sizeof(data),"%s?msg=%s",BOT_SER,buf);
curl_easy_setopt(curl,CURLOPT_URL,data);
curl_easy_perform(curl);
if(msg.len)
{
printf("%s ",msg.msg);
msg.len=0;
free(msg.msg);
msg.msg=NULL;
}
}
curl_easy_cleanup(curl);
return0;
}
H. c語言幫寫聊天機器人!!
恩,可以定義結構體,然後把txt裡面的內容讀取到結構體數組中,在進行字元串比對,輸出結果。
I. 機器人 C語言
這樣寫吧,清楚一點。
我覺得我這樣定義的話會讓程序清楚很多。
typedef struct
{
int x;
int y;
} pos_stru;
void main(void)
{
int cmd;
int face[4]={0,1,2,3}; //x+,y+,x-,y- 定義行進方向
int face_start=face[0]; //初始方向
pos_stru start={0,0}; //開始位置
while(scanf("%d",&cmd)!=NULL)
{
if(cmd==0)
break;
if(cmd<-2) //錯誤處理
{
printf("Invide input.");
}
switch(cmd) //先處理方向問題-1/-2
{
case -1: //左轉
if(face_start<3)
face_start=face[face_start+1];
else
face_start=face[0];
break;
case -2: //右轉
if(face_start>0)
face_start=face[face_start-1];
else
face_start=face[3];
break;
default:
break;
}
if(cmd>0) //不是方向的處理
switch(face_start)
{
case 0:
start.x+=cmd;
break;
case 1:
start.y+=cmd;
break;
case 2:
start.x-=cmd;
break;
case 3:
start.y-=cmd;
break;
default:
break;
}
//printf("tmp out:x=%d,y=%d\n",start.x,start.y);
}
printf("result:x=%d,y=%d\n",start.x,start.y);
}
out put:
-1
2
-2
1
0
result:x=1,y=2
Press any key to continue
問題補充:
沒給定義應該是都初始化為0了吧~
答:不對。隨機的這也是我們要求C語言必須初值的原因。下面是試驗
void main(void)
{
int a;
int b=0;
printf("a=%d,b=%d\n",a,b);
}
output:
a=-858993460,b=0
Press any key to continue
J. c語言能做對話機器人么
你說的這個要求我感覺C語言不能做到,這個要用C++或者其他面向對象的語言去實現吧,C++不是一兩句就能說完的,子急先找本書看看Windows程序執行的機制再去構思你想做的這個東西吧,比如你可以去看看這本書叫MFC Windows程序設計(第二版)(修訂版)作者是美國的,國內翻譯的,1166頁好好學學吧,高中畢業就有這樣的愛好是個好事兒,只是C++是個需要堅持的技術,希望你堅持下去,等到學完,你啥都會做了