これがコードです。
int a;
int pi = 3.14;
int area;
int main()
{
cout << "Input the radius of the circle ";
cin >> a;
a *= a *= pi >> area;
cout << "The area is " << area;
}
>>
数値で使用される演算子は、代入ではなく右シフトです。あなたは次のようなものが欲しい
area = a * a * pi;
アップデート
また、浮動小数点型を使用する必要があります。そうしないと、期待どおりの答えが得られません。
float a;
float pi = 3.14f;
float area;
あなたの奇妙なコードを解読するのに十分な忍耐力がありません。どうarea = a * a * pi
ですか?
あなたのコードは意味がありません。
pi
(および他のすべての変数)は、intではなく、doubleまたはfloatである必要があります。int には整数のみを含めることができます。そしてpi
、明らかに不可欠ではありません。
a *= a *= pi >> area;
する必要がありますarea = a * a * pi;
>>
はビットシフトであり、右側への割り当てではなく、
*=
乗算の割り当てであり、乗算だけではありません。すなわち、それはに似ていますleft=left*right
int pi = 3.14;
データ型が間違っています。?に倍精度値を割り当てていint
ますか? それは間違っている。
これを書きます:
double pi = 3.14;
同様に、他のデータ型も同様に変更double
します。
円の面積は pi * r * r です。
a = a * a * pi
それが役立つことを願っています
それらはすべてフロートである必要があります。
あなたのコードは、あなたが望んでいたと私が思うことをしません。>>
;で変数に代入しません。これは、ストリーム抽出(およびビットシフト)専用です。
また、a *= a *= pi
おそらくあなたが思っていることはしません。
また、 ではなく、浮動小数点値が必要ですint
。「int」の pi はちょうど 3 です。
また、ストリーム抽出のエラー チェックが必要です。
試す:
int main()
{
const float pi = 3.14;
float a;
cout << "Input the radius of the circle ";
if (!(cin >> a)) {
cout << "Invalid radius!";
return 1;
}
float area = (a * a * pi);
cout << "The area is " << area;
}
int
すべての変数に 、または整数を使用しているためです。double
s または sを使用したいfloat
。( double
s の方が正確です)。
すべての変数は int として宣言されます。これにより、変数に割り当てられた小数部分が削除されます。浮動小数点値を扱うには、代わりに double を使用してください。
また、あなたの方程式はほとんど理解できません。あなたがそこで何をしようとしているのかわからない。