私は C++ のバックグラウンドを持つ非常に経験豊富な Java プログラマーですが、プログラミング クラスの 1 つで C を使い始めたばかりで、夢中になっています。これが最初の課題です。球の体積または表面積を計算することになっています。問題は、ユーザーが値を入力しても、「半径」がゼロに等しいことです。「モード」はうまく機能しますが、奇妙に思えます。コードは次のとおりです。
#include <stdio.h>
#define PI 3.14
int main()
{
float radius;
int mode;
printf("\nPlease enter a non-negative radius of a sphere: ");
scanf("%f", &radius);
printf("Please enter 1 for volume, 2 for area: ");
scanf("%d", &mode);
if (radius = 0)
{
printf("\n\nPlease enter a positive radius, instead of %f.", radius);
}
else
{
float area = 4 * PI * radius * radius;
float volume = (4.0f / 2.0f) * PI * radius * radius * radius;
float result = 0;
if(mode == 1)
{
printf("\n\nYou are computing volume.");
result = volume;
}
else
{
printf("\n\nYou are computing area.");
result = area;
}
printf("\n\nThe result is %2f", result);
}
fflush(stdin);
getchar();
return 0;
}
半径が正しく保存されていない理由はありますか? 参考までに、このコードのほとんどは事前に作成されています。私はただエラーを見つけることになっています。