2016-11-19 35 views
-6

我试图做一些基本类型的游戏在C++中,我遇到了这个错误,当我使用此代码后statment:C++不检查是否转到

mainscreen: 
    cout<<"blab"; 
    getlinething: 
    cin.ignore(); 
     getline(cin,command); 
     if(command=='task'){goto mainscreen;} 
     else 
     {cout<<"Not valid."; 
      goto getlinething;} 

第一次我输入了它的工作原理,但是在第二次和后续的尝试中,它开始报告该命令无效,并且它只是将我返回到getline。有人知道为什么

+2

尝试'cout <<不是有效的命令:<<命令',看看为什么。 –

+1

打印'命令'变量并自己检查内容... – MordechayS

+2

您不应该在这样简单的程序中使用'goto'。这是一个非常糟糕的编程习惯,必须避免。 – woockashek

回答

-1

不管字符串比较,你忘记了你有cin.ignore();在那里。

在您收到'无效'的回复后,您必须以空行形式提供内容,就像执行开始时一样。

如果'任务'是您输入的第一个字符串,则它也不起作用。

+0

仍然无法正常工作,尽管它是一个有效的命令,它仍然会说无效。 – dwproski

+0

刚刚摆脱cin.ignore – QuarterlyQuotaOfQuotes

+0

无法输入任何内容。 – dwproski