2016-04-12 4 views
-5

私は多少C++を使い始めましたが、基本的なC++電卓を作るためのコードを書こうとしましたが、ビルドしようとすると次のエラーが表示されます:C++エラー: 'operator >>'と一致しません

"エラー: '演算子>>'に一致しません(オペランドの型は 'std :: basic_ostream :: __ ostream_type {別名std :: basic_ostream}'および 'char'

コードは次のとおりです。

#include <iostream> 
#include <string.h> 

using namespace std; 

void add(int x, int y) 
{ cout<<"First number:"; 
cin>>x; 
cout<<endl<<"Second number:"; 
cin>>y; 
cout<<endl<<x<<"+"<<y<<"="<<x+y; 
} 

void subtract(int x, int y) 
{ 
cout<<"First number:"; 
cin>>x; 
cout<<endl<<"Second number:"; 
cin>>y; 
cout<<endl<<x<<"-"<<y<<"="<<x-y; 
} 

void multiply(int x, int y) 
{ 
cout<<"First number:"; 
cin>>x; 
cout<<endl<<"Second number:"; 
cin>>y; 
cout<<endl<<x<<"*"<<y<<"="<<x*y; 
} 

void divide(int x, int y) 
{ 
cout<<"First number:"; 
cin>>x; 
cout<<endl<<"Second number:"; 
cin>>y; 
cout<<endl<<x<<"/"<<y<<"="<<x/y; 
} 

int main() 
{ 
int x,y; 
char z; 
cout << "\t\t\t Welcome to the C++ Calculator." << endl; 
cout << "What operation would you like to perform? "; 
cout << "Add(+), Subtract(-), Multiply(*), Divide(/):"<< 
cin >> z; 
cout <<endl; 
if (z=='+') 
    add(x,y); 
else if (z=='-') 
    subtract(x,y); 
else if (z=='*') 
    multiply(x,y); 
else if (z=='/') 
    divide(x,y); 
else if ((z!='+')&&(z!='-')&&(z!='*')&&(z!='/')) 
    cout<<"Unknown symbol."; 
return 0; 
} 
+4

? – user2079303

+1

@ user2079303私はずっと読んでいるので、これはおそらく 'main()'にあります: 'char z;/* ... */cin >> z; '**編集**:またはそれの近くの_ _ - あなたがそれを見るとき... –

+1

コードを正式な形式で書式化してください。また、コンパイラが間違っている行を注意深く見てください。その行はあまり正しくありません。 – Barry

答えて

0

が< < COUT

を試してみて、 "追加(+)、減算( - )、乗算(*)、除算(/):"

代わりの

裁判所未満< < "(+)を追加し、減算( - )、乗算(*)、除算(/):" 行は、上のエラー発生し< <

+0

それはそれだった、それは問題だった。私はちょうどエラーがどれほど小さいかを理解しました。助けてくれたことに感謝し、私の「ノービーニー」を忘れてしまいました。 –

+0

関数内で入力が行われた場合は、xとyをパラメータとして指定しないでください。空のパラメータリストを使用し、xとyをローカル変数として宣言します。 –

関連する問題