correct = 0;
cout << "You entered " << years << ".\nIs that correct? (Y/N) \n";
cin >> yesNo;
if (yesNo == 'y' || 'Y')
correct ++;
} while (correct != 1);
cout << "good! " << correct << endl;
return 0;
} 如果yesNo = y或Y,我希望它只有++正确的int,如果没有,我希望它循环回到顶部(看不见)
答案 0 :(得分:6)
我想你的问题在
if (yesNo == 'y' || 'Y')
应该是
if (yesNo == 'y' || yesNo== 'Y')
答案 1 :(得分:3)
http://coliru.stacked-crooked.com/a/5bf3edba51feec45
您的问题是if (yesNo == 'y' || 'Y')
。这个if语句说的是
如果
yesNo
等于'y'
或'Y'
为true
,请继续。
问题是,'Y'
始终为真,因为char
会隐式转换为bool
。
您可能想要的是if (yesNo == 'y' || yesNo == 'Y')