Originally Posted by
laserlight
What is your current code?
What is your compiler?
i copied and pasted your code. i was getting input error till. i removed commas from scanf then i got the big number.
visual c++ 2008 edition.
Code:
#include <stdio.h>
#include <math.h>
struct position
{
double latitude;
double longitude;
};
double computeDistance(const struct position *p1, const struct position *p2)
{
const double latitude_dist = p1->latitude - p2->latitude;
const double longitude_dist = p1->longitude - p2->longitude;
return sqrt(latitude_dist * latitude_dist + longitude_dist * longitude_dist);
}
int main(void)
{
struct position p1, p2;
if (scanf("%lf %lf %lf %lf",
&p1.latitude, &p1.longitude, &p2.latitude, &p2.longitude) == 4)
{
printf("Distance = %f\n", computeDistance(&p1, &p2));
}
else
{
puts("Input error");
}
return 0;
}
and this is my own code. i was getting all errors till you helped but here too, big number.
Code:
#include <stdio.h>
#include <math.h>
struct position{
double latitude;
double longitude;
};
int main(void)
{
double distance_lat;
double distance_lon;
double distance;
struct position p1,p2;
scanf( "%f, %f, %f, %f", &p1.latitude, &p1.longitude, &p2.latitude, &p2.longitude);
distance_lat=p1.latitude-p2.latitude;
distance_lon=p1.longitude-p2.longitude;
distance = sqrt( (distance_lat * distance_lat) + (distance_lon * distance_lon));
printf(" %f", distance);
}