본문 바로가기

프로그램/C언어

【C언어】 구조체 쉬운 예시 코드

총 2개의 구조체 관련한 예시 코드입니다. 두 개의 점을 입력받는 것은 동일하고, 첫번째 코드는 두개의 점이 같은지 다른지 출력해주고, 두번째 코드는 그로인해 만들어지는 사각형의 넓이와 둘레를 구하는 예시입니다. 참고하시길 바랍니다. 메모장 파일로 코드를 올려둡니다.

  1. 두개의 점을 스페이스 바로 구분하여 입력하고, 두 점이 같은지 다른지 판별하는 구조체 예시

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct point {
        int x;
        int y;
};
int equal(struct point p1, struct point p2) {
        if (p1.x == p2.x && p1.y == p2.y) {
               return 1;
        }
        else {
               return 0;
        }
}
void main() {
        struct point k1, k2;
        printf("첫 번째 점의 좌표 입력 : ");
        scanf("%d %d", &k1.x, &k1.y);
        printf("두 번째 점의 좌표 입력 : ");
        scanf("%d %d", &k2.x, &k2.y);
        printf("%d\n", equal(k1, k2));
}



  1. 위와 비슷하게 두개의 점을 입력받고, 그때 만들어지는 사각형의 넓이와 둘레 구하는 예시

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
struct point {
        int x;
        int y;
};
int area(struct point p1, struct point p2) {
        int xx;
        int yy;
        int area;
        xx = abs(p1.x - p2.x);
        yy = abs(p1.y - p2.y);
        area = xx * yy;
        return area;
}
int round(struct point p1, struct point p2) {
        int xx;
        int yy;
        int round;
        xx = abs(p1.x - p2.x);
        yy = abs(p1.y - p2.y);
        round = 2 * xx + 2 * yy;
        return round;
}
void main() {
        struct point k1, k2;
        printf("오른쪽 상단 좌표 입력 : ");
        scanf("%d %d", &k1.x, &k1.y);
        printf("왼쪽 하단 좌표 입력 : ");
        scanf("%d %d", &k2.x, &k2.y);
        printf("사각형의 넓이 : %d\n", area(k1, k2));
        printf("사각형의 둘레 : %d\n", round(k1, k2));
}