条件if语句错误

时间:2017-06-11 00:00:46

标签: c++

对于我的C ++编程课程中的作业,我们应该创建一个程序,要求发送产品的订单信息,例如价格,如果它是脆弱的,指定的国家等等。除了其他所有对于一个小if语句无法正常工作,并且它是打印出错误消息的那个,如果在国家输入时,它不是列出的三个之一,无论我输入什么,它总是吐出错误!

if(shippingDestination!="AUS" || shippingDestination != "CAN" || shippingDestination != "USA")
   {
       cout<<"\nWrong destination ! Exiting........."<<endl;
       system("pause");
       exit(0);
   }

(是的,在此声明之前,用户的输入被强制为大写,我在没有上述声明的情况下对其进行了测试,一切都按预期工作) 我已经尝试了几个不同的条件语句来尝试获得一个有利的结果,但无论我做什么,它总是,总是吐出错误。

3 个答案:

答案 0 :(得分:0)

不要使用“||”!你想要的是:&amp;&amp;。

* {
  box-sizing: border-box;
}
h1 {
  text-align: center;
}

.example-page {
  min-height: 45px;
  padding: 2em;
}
.example {
  border: 2.5px solid black;

}

h2 {
  text-align: center;
  font-size: 1em;
  margin: 0;
  padding: 0;
  background-color: black;
  color: white;
}

.example-layout {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 300px;
}

header, footer {
  padding: 20px;
  background: #666;
  color: white;
}

答案 1 :(得分:0)

您的逻辑运算符存在问题。

#include <iostream>
#include <string>

using namespace std;

int main()
{
  string shippingDestination="";
  cout<< " Enter Destination ";
  cin>>shippingDestination;
  if(shippingDestination!="AUS" && shippingDestination!="CAN" && shippingDestination!="USA" ){
      cout<< "Wrong Destination";
   }else{
      cout<< "Correct Destination";
   }

}

答案 2 :(得分:0)

如果在if语句中使用或运算符||,那么如果这些条件中的任何一个为真,则执行if条件中的任何内容。您需要的是此运算符的运算符&&,所有条件都必须为真。我发现这个答案非常有趣 How an 'if (A && B)' statement is evaluated?