如何(不)重新运行c ++代码?

时间:2015-09-18 02:54:46

标签: c++

我正在做基本的控制台c ++"你想重新运行程序吗?"舞蹈,
并失败。这就是我正在使用的

int main()
{
  char repeat = 'y';        
  while (rep == 'y' || 'Y')
  {

   {
   //primary code is here
   }

  cout << "\n\tRerun program? y/n";
  cin >> repeat;
  if (rep == 'n' || 'N')
  {cout << "\n\tExiting program\n";}
  }

return 0;
}

当我的程序完成后,它会重新启动并输出&#34;退出程序&#34;
 无论我在&#34; Rerun计划中输入什么?&#34;我明白这有 与刷新或重置字符有关的事情&#34;重复&#34;? 不知道怎么做,谷歌没有帮助。

我可以根据要求提交主程序代码,但我怀疑它有  与此错误有关。

1 个答案:

答案 0 :(得分:3)

if (rep == 'n' || 'N')将永远为真, 因为它实际上正在执行if( (rep =='n') or 'N')'N'具有非零值,这意味着if语句正在执行:if( (rep =='n') or true)),因此您总是打印出“退出程序”。

你应该if (rep == 'n' || rep =='N')

同样,你的while语句应该是(rep == 'y' || rep == 'Y')

OR

移动

cout << "\n\tExiting program\n";

你的while循环没有条件,只有在完成循环时才能打印