Ich habe den folgenden Code, der besagt, dass "Abstand" in dieser Funktion nicht initialisiert verwendet wird.Bereich eines Kreises Verwendung von Punkten aus einer kartesischen Ebene
Dies ist ein Code, der zwei Koordinaten aus einer kartesischen Ebene akzeptiert und den Abstand zwischen ihnen als Radius verwendet, um die Fläche eines Kreises zu finden. Dies ist der Code
#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;
}
Soll das C oder C++ sein? Und was ist die eigentliche Fehlermeldung, einschließlich Dateiname und Zeilennummer? – melpomene
Die Variable 'distance' in' getDistance() 'hat einen anderen Gültigkeitsbereich und ist daher völlig unabhängig von der Variablen' distance' in 'main()'. – Peter
Natürlich tut es das. Sehen Sie sich die Funktion 'main' an. Sie deklarieren eine Variable namens "distance", initialisieren sie aber niemals. Dann machen Sie 'Fläche = 3,14 * Entfernung * Entfernung;' Hoppla. –