簡體   English   中英

if語句中的平等比較

[英]Equality comparison in if-statement

抱歉這個問題,這是我的第一個C ++項目,我有些困惑。 我要用戶輸入3個單獨的東西。 例如,我從80開始。我問用戶3個問題。 1)你喜歡藍色還是黃色? 鍵入1代表藍色,2代表黃色。 如果用戶輸入1表示藍色,則將數字80乘以2。如果用戶輸入2表示黃色,則將80乘以3。

有人可以讓我知道這是否正確嗎? 謝謝您,對於初學者的問題再次表示抱歉。

cout << "Please enter a color blue or yellow. Type 1 for Blue, 2 for Yellow";
cin >> bp1;
// Multiply by 2 if Blue is chosen, 3 if Yellow is chosen.
if (bp1 = 1)
num = num*2;
if (bp1 = 2)
num = num*3;

你打算寫比較運算符==

if (bp1 == 1)
if (bp1 == 2)
//      ^^

if (bp1=1)始終會被operator=評估為true

您的if陳述式有問題

它一定是這樣的:

if (bp1 == 1)
num = num*2;
if (bp1 == 2)
num = num*3;

歡迎來到C ++世界! 您肯定走在正確的道路上,但是有一些問題。 首先,您在if語句中使用的運算符是賦值運算符,因此您的語句將始終返回true。 實際上,它應該是比較運算符(==)。 其次,我建議在此處使用if-else if語句,因為您可能不需要同時檢查兩次。 以下內容就足夠了:

if(bp1 == 1)
{
    num = num * 2;
}
else if(bp1 == 2)
{
    num = num * 3;
}

更簡單:

代替:

if(bp1 == 1)
  num = num * 2;
else if (bp1 == 2)
  num = num * 3;

你可以寫這個

  num = num * (bp + 1)

甚至

  num *= (bp + 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM