2016-06-20 7 views
-4

私はLearnCpp.comの第2章のクイズで、C++の新機能です。私は立ち往生して質問があります。 std :: cout文の中に変数を追加できますか?例:"cout"の中に変数を追加できますか?

プログラムは自分の答えを表示しません。ユーザーが値を入力した後、Enterキーを押すとすぐにプログラムは終了します。あなたの助けを前もってありがとう。

編集:申し訳ありませんが、コード全体を投稿します。私はフォーラムも初めてです。誰かが提案したように()を追加しました。私はプログラムを実行したときに私はそれが一瞬のために答えを表示し、それがPress any key to continue. . .

#include "stdafx.h" 
#include <iostream> 

int main() 
{ 
double first_value; 
double second_value; 
char user_operator; 

std::cout << "Enter a double value: "; 
std::cin >> first_value; 
std::cout << "Enter a second double value: "; 
std::cin >> second_value; 
std::cout << "Enter one of the following (+, -, *, /): "; 
std::cin >> user_operator; 

if (user_operator == 43 || user_operator == 45\ 
    || user_operator == 42 || user_operator == 47) 
    switch (user_operator) 
    { 
     case 43: 
      std::cout << " " << (first_value + second_value) << "\n"; 
      break; 
     case 45: 
      std::cout << " " << (first_value - second_value) << "\n"; 
      break; 
     case 42: 
      std::cout << " " << (first_value * second_value) << "\n"; 
      break; 
     case 47: 
      std::cout << " " << (first_value/second_value) << "\n"; 
      break; 
    } 
else std::cout << "Please enter a valid operator."; 

return 0; 

}

+3

実際の問題を特定しようとしたときに何か問題が発生しました。おそらく '事件 'のどれも取られなかったでしょう。 – LogicStuff

+1

'switch'文とは何ですか?それはおそらく問題の原因です。注意: '<<"は算術演算子(+ - * ./)よりも優先順位が低いので、式を取り出すことができます。たとえそれがなかったとしても、式をかっこに入れることができます。 –

+3

_ @ marcellatwin_偽のコードは投稿しないでください。あなたが直面する問題を再現する[MCVE]を投稿してください。 –

答えて

3

はい、あなたはstd::ostream& operator<<(std::ostream&, T)呼び出しの連鎖の中に操作を実行できることを示していない見たと思います。 operator precedenceに従うだけで、必要に応じて括弧(())を式のまわりに置く必要があります。

固定電話Demoです。

関連する問題