2017-04-19 35 views
-1

私はC++を初めて使い、他のプログラミング言語に関する知識を持って何かをすることに決めました。私は簡単な計算機を作って素早く計算することにしましたが、何かがオフになっています。私は、操作のための特定のシンボルだけを許可するようにしようとしたが、それは、これらのエラーを考え出す続ける:C++エラー:エラー: '||'の前にprimary-expressionが必要ですトークン

12:19: error: expected primary-expression before '||' token 
12:22: error: expected primary-expression before '/' token 
12:24: error: expected primary-expression before '||' token 
12:29: error: expected primary-expression before '||' token 
12:33: error: expected primary-expression before ')' token 

は、ここに私のコードです:

// Example program 
#include <iostream> 
#include <string> 

int main() 
{ 
char symbol; 
int number1; 
int number2; 
    std::cout << "Enter an operator "; 
    std::cin >> symbol; 
    if (symbol != + ||/|| * || -){ 
    std::cout << "That isn't an operator, please fix it."; 
    std::cin >> symbol; 
    } 
    std::cout << "Choose a number "; 
    std::cin >> number1; 
    std::cout << "Choose a second number "; 
    std::cin >> number2; 
    if (symbol == '+'){ 
    std::cout << number1 + number2; 
} 
if (symbol == '*'){ 
    std::cout << number1 * number2; 

    } 
    if (symbol == '-'){ 
     std::cout << number1 - number2; 
     } 
     if(symbol == '/'){ 
      std::cout << number1/number2; 
      } 
} 
+4

'if(symbol!= + ||/|| * || - )' - それはどういう意味ですか? – AnT

+0

私はあなたがこの、もし 必要があると思う( シンボル= '+' || シンボル= '/' || シンボル= '*' || 記号を=!!!! ' - ' ) –

+0

それがどのようですあなたは 'symbol == '+''をいくつかの場所で知っていますが、なぜ 'symbol == +'が別のシンボルで間違っているのか理解できません。それはOR演算子の仕組みではありません。チュートリアルは、キーをたたくだけでなく、動作することを期待するのではなく、オンラインで見つかるはずです。 –

答えて

1

まず、正しい構文が

if (symbol != '+' || symbol != '/' || symbol != '*' || symbol != '-') 

ですがあなたのsymbolは同時にこれらのすべてに等しいことができないので、このifは役に立たない。したがって、それはif (true)に相当します。

||(および)の代わりに&&(および)を使用し、ユーザーが演算子を入力するまでループします。

std::cin >> symbol; 
while (symbol != '+' && symbol != '/' && symbol != '*' && symbol != '-') { 
    std::cout << "That isn't an operator, please fix it."; 
    std::cin >> symbol; 
} 
関連する問題