简单的C ++对话

时间:2014-03-05 02:36:52

标签: c++ switch-statement

我有这个程序,我想知道如何继续它。我想让用户在“什么事情发生”之后输入更多文本然后让程序响应。感谢您的帮助

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;
 }
}

3 个答案:

答案 0 :(得分:2)

这将是一个有功能的好时机。创建一个继续对话并在“什么事情发生”后调用它:

void continueConversation() { .... }

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

答案 1 :(得分:1)

您可以使用while循环,以便会话继续,直到用户说出“Bye”?

// 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 :(得分:0)

对于你想要创建的内容,我很遗憾地说,编译一个完全复杂的聊天机器人需要花费更多的时间。您可以创建一个“矢量短语”并在其中存储任意数量的短语,并使用PRNG来决定输出哪些短语。但是,您还必须编写一些安全保护声明,以便在用户与程序通信时使用短语。将这种情况与你的开始进行比较是非常艰巨的。