2017-01-27 12 views
0

でバイナリ「演算子の%」から「intが」ほんの数週間前にC++でプログラミングを開始し、私はこの問題が発生しました:エラー:無効な種類の「フロート」のオペランドとC++

float a,i,b,c,d,e,f; 
cin>>a; 
cin>>c; 
if(c%2==0) 
{ 
    d=c; 
    e=1; 
} 
else 
{ 
    d=0; 
    e=0; 
} 

for (i=2;i<=a;i++) 
{ 
    cin>>b; 
    if(b%2==0) 
    { 
     d=d+b; 
     e=e+1; 
    } 
} 
f=d/e; 
if(e==0) 
    cout<<"0"; 
else 
    cout<<fixed<<setprecision(2)<<f; 

理想的には、プログラムを算術平均を表す数 "f"を画面に表示する必要があります。

+1

モジュロ演算子 '%'は、整数オペランドに対してのみ定義されています。これは、C、C++、およびAFAIK Javaに適用されます。他のいくつかのプログラミング言語では、左側のオペランドは10進数でも可能です。 2.532%2の場合、0.532が得られる。基本的な問題は、右側のオペランドが整数でない場合です。 –

+0

エラーメッセージには、浮動小数点型では '%'演算子を使用できないことが示されています。 –

答えて

関連する問題