#include <stdio.h>
#include <math.h>
struct Point
{
double x;
double y;
}p1,p2,p3,p4,p5;
struct Segment
{
struct Point p1;
struct Point p2;
struct Point p3;
struct Point p4;
struct Point p5;
}seg;
void Segment_length(struct Segment *seg,double *length);
int main()
{
double length;
printf("총 5개의 좌표를 입력 받은 뒤 \입력 받은 모든 점을 순서대로 연결했을 때\n얻게되는 선의 길이를 구조체를 사용해 나타내어라\n\n\n\n");
printf("점 1의 좌표를 입력하시오 : ");
scanf_s("%lf %lf",&p1.x,&p1.y);
printf("점 2의 좌표를 입력하시오 : ");
scanf_s("%lf %lf",&p2.x,&p2.y);
printf("점 3의 좌표를 입력하시오 : ");
scanf_s("%lf %lf",&p3.x,&p3.y);
printf("점 4의 좌표를 입력하시오 : ");
scanf_s("%lf %lf",&p4.x,&p4.y);
printf("점 5의 좌표를 입력하시오 : ");
scanf_s("%lf %lf",&p5.x,&p5.y);
printf("\n\n");
Segment_length(&seg,&length);
printf("길이는 %lf이다.\n\n",length);
return 0;
}
void Segment_length(struct Segment *seg,double *length)
{
*length = sqrt(pow(seg->p5.x - seg->p4.x,2) + pow(seg->p5.y-seg->p4.y,2)) \
+ sqrt(pow(seg->p4.x - seg->p3.x,2) + pow(seg->p4.y-seg->p3.y,2)) \
+ sqrt(pow(seg->p3.x - seg->p2.x,2) + pow(seg->p3.y-seg->p2.y,2)) \
+ sqrt(pow(seg->p2.x - seg->p1.x,2) + pow(seg->p2.y-seg->p1.y,2));
}
-----------------------------------------------------------------------
'총 5개의 좌표를 입력 받은 뒤 입력 받은 모든 점을 순서대로 연결했을 때 얻게되는 선의 길이를 구조체를 사용해 나타내어라'
라는 문제인데, 아무리 프로그램을 실행시켜봐도, 출력 값이 0.000 이 나오네요 ㅠ
혹시 도움 받을 수 있을 까요?