2014-03-05 62 views
0

我有這個程序,我想知道如何繼續它。我想讓用戶在「最新動態」之後輸入更多文本,然後讓程序響應。感謝您的幫助簡單的C++對話

int main() 
{ 
    cout << "Hello \n"; 

    char answer = 0; 
    cin >> answer; 

    switch(answer) 
    { 
     case 'h': 
     cout << "What's up \n"; 
     break; 
     case 'g': 
     cout << "Bye \n"; 
     break; 
     default: 
     cout << "Not a valid response. \n"; 
     break; 
} 
} 
+0

你不清楚你的目標是什麼,你能澄清一下嗎? – Awalrod

+0

在你問「最新情況」之後的日常談話中,你正在談論的人用什麼回覆。我想讓用戶輸入一些東西,然後讓程序說「有趣」或什麼的。 – user3166628

+0

然後awesomeyi的解決方案可能是最好的 – Awalrod

回答

1

你可以有一個while循環,這樣的談話一直持續到用戶說「再見」?

// convert bye to up/downcase, and all words for that matter when checking 
while(answer != "bye") 
{ 
    if(answer == "hello") 
    ... 
    cin >> answer; 
} 

或者是這個效果。

例子給你,用你的代碼

int main() { 
cout << "Hello \n"; 

char answer = 0; 
cin >> answer; 
while(answer != 'b') // b for bye 
    switch(answer) 
    { 
    case 'h': 
     cout << "What's up \n"; 
     break; 
    case 'b': 
     cout << "Bye \n"; 
     break; 
    default: 
     cout << "Not a valid response. \n"; 
     break; 
    } 
    cin >> answer; 
} 

}

+2

無法打開字符串。 – Rapptz

+0

你能舉個例子嗎? – user3166628

+0

@Rapptz不錯,我在很大程度上顯示了psuedocode,但你當然是對的。將其切換到IF語句以確保安全 – SparkyRobinson

2

這將是一個偉大的時刻具備的功能。創建一個繼續談話後「什麼事」稱之爲:

void continueConversation() { .... } 

case 'h': 
    cout << "What's up \n"; 
    continueConversation(); 
    break; 
0

對於要創造什麼,我很抱歉地說,它會佔用大量的比你想象的要編譯一個完全成熟的聊天機器人。您可以創建一個「矢量短語」並存儲您想要的任何短語,並使用PRNG來決定要輸出哪些短語。但是,您還必須編寫一些保護措施聲明,以便在用戶與程序通信時允許用戶理解這些短語。與你的開始相比,這很複雜。