循环字符序列

时间:2014-10-19 03:27:52

标签: c++

您好我正在尝试创建一个读取字符的程序,直到用户输入正确的两个字符序列(cs)来打开门。输入应该只有c后跟s和两个字符。我不知道我哪里错了!请帮忙。现在它允许访问,即使我输入一个单词!

int main()
{
   char A;
   int done = 0;

   cout << "You have before you a closed door !" << endl;
   cin >> A;

   while (!done)
   {
      if (A='cs')
        break;

      else
        cin >> A;
   }

   cout << "Congratulations ! The door has opened !" << endl;

   return 0;
}

2 个答案:

答案 0 :(得分:4)

'cs'是一个多字符常量

并且A='cs'是分配而不是比较,这也不是意图和不正确的

您应该使用std::string A;

并进行比较,如下所示

if( A == "cs" ) { }

答案 1 :(得分:0)

int main()
{
char A,B='cs';

cout << "You have before you a closed door !" << endl;
cin >> A;

while (1)
{
  if (A==B)
    break;

  else
    cin >> A;
}

cout << "Congratulations ! The door has opened !" << endl;

return 0;
}

你在多角色常数的比较中犯了错误。