无论输入是否正确,下面的代码都不起作用。如果输入正确,则if语句仍然由于某种原因而执行。任何快速建议都会有所帮助。
char status;
cout<<"Please enter the customer's status: ";
cin>>status;
if(status != 'P' || 'R')
{
cout<<"\n\nThe customer status code you input does not match one of the choices.\nThe calculations that follow are based on the applicant being a Regular customer."<<endl;
status='R';
}
答案 0 :(得分:3)
这是if(status != 'P' || status != 'R')
。
即便如此,逻辑也有点不对劲。你不能像那样(或任何逻辑运算符)链接逻辑OR,你应该使用像if(status != 'P' && status != 'R')
这样的其他东西
答案 1 :(得分:2)
if ('R')
始终求值为true,因此if(status != 'P' || 'R')
始终求值为true。
变化
if(status != 'P' || 'R')
到
if(status != 'P' && status != 'R')
OR
if(status == 'P' || status == 'R')
最后一个版本可能会让您更清楚地了解您想要的内容?