私は C++ とプログラミング全般に不慣れです。手を汚すためだけに小さなプログラムを試しています。以下は、円錐の体積を計算するために作成したプログラムです。
問題: 何をしても、出力は常に整数です。小数点以下2桁の精度にしたい。より高い精度を得るために変数を double および long double に変更しようとしましたが、何も機能しません。
どうすればこれを修正できますか? そして、なぜこれが起こっているのですか?(できれば詳しく) UNi の若手講師に聞いたことがありますが、これまで誰も適切な答えをくれませんでした。
int main (){
float radius,length,volume ;
const float PI =22/7.0f;
cin >> radius >> length;
volume =1/3.0f *radius*radius*length;
cout << "Volume is " << volume <<endl;
return 0;
}
Fedoraでg ++を使用しています
編集:私は整数を与える 50 60/70 50 /120 40 のような入力でこれを早く試しました。3 4 のような小さい入力では小数になります。
編集: setprecision() が機能します。これを送ってくれてみんなありがとう