私はこの関数で '距離'が初期化されていないことを示す次のコードを持っています。円の面積デカルト平面からの点を使用
デカルト平面から2つの座標を受け取り、その間の距離を半径として円の面積を求めるコードです。これは、これは正しいコード
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct Point {
int x, y;
};
double getDistance(struct Point a, struct Point b)
{
double distance;
distance = sqrt((a.x - b.x) * (a.x - b.x) + (a.y-b.y) *(a.y-b.y));
return distance;
}
int main()
{
float Area;
double distance;
struct Point a, b;
printf("Enter coordinate of point a: ");
scanf("%d %d", &a.x, &a.y);
printf("Enter coordinate of point b: ");
scanf("%d %d", &b.x, &b.y);
printf("Distance between a and b: %lf\n", getDistance(a, b));
Area= 3.14 * distance * distance;
printf("\nArea of Circle : %f", Area);
return 0;
}
が、これはCまたはC++ことになっていますか?ファイル名と行番号を含む実際のエラーメッセージは何ですか? – melpomene
'getDistance()'の変数 'distance'は異なるスコープにありますので、' main() 'の変数' distance'とは完全に無関係です。 – Peter
もちろんです。 'main'関数を見てください。 'distance'という変数を宣言しますが、決して初期化しないでください。次に、あなたは 'Area = 3.14 * distance * distance;'を実行します。 –