我正在做基本的控制台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;?
不知道怎么做,谷歌没有帮助。
我可以根据要求提交主程序代码,但我怀疑它有 与此错误有关。
答案 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循环没有条件,只有在完成循环时才能打印