C 언어로 사다리꼴 면적 계산하기

CBeginner
지금 연습하기

소개

이 실험에서는 C 프로그래밍을 사용하여 사다리꼴의 면적을 계산하는 방법을 배웁니다. 이 실험에서는 사다리꼴의 두 평행 변과 높이를 입력받고, 다음 공식을 사용하여 면적을 계산하는 단계를 다룹니다: 면적 = 0.5 _ (a+b) _ h. 프로그램은 사용자에게 필요한 값을 입력하도록 요청하고, 그런 다음 사다리꼴의 면적을 계산하고 표시합니다.

두 평행 변과 높이 입력

이 단계에서는 C 프로그래밍에서 사다리꼴의 면적을 계산하기 위한 준비 단계로서 두 평행 변과 높이를 입력하는 방법을 배웁니다.

먼저, 사다리꼴 면적 계산을 위한 새로운 C 파일을 생성합니다.

cd ~/project
nano trapezoid_area.c

이제 평행 변과 높이를 입력받는 코드를 추가합니다.

#include <stdio.h>

int main() {
    float side1, side2, height;

    // 첫 번째 평행 변의 길이를 입력받도록 프롬프트
    printf("첫 번째 평행 변의 길이를 입력하세요: ");
    scanf("%f", &side1);

    // 두 번째 평행 변의 길이를 입력받도록 프롬프트
    printf("두 번째 평행 변의 길이를 입력하세요: ");
    scanf("%f", &side2);

    // 높이를 입력받도록 프롬프트
    printf("사다리꼴의 높이를 입력하세요: ");
    scanf("%f", &height);

    // 입력 값을 확인하기 위해 출력
    printf("첫 번째 변: %.2f\n", side1);
    printf("두 번째 변: %.2f\n", side2);
    printf("높이: %.2f\n", height);

    return 0;
}

프로그램을 컴파일하고 실행합니다.

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

예시 출력:

첫 번째 평행 변의 길이를 입력하세요: 5
두 번째 평행 변의 길이를 입력하세요: 7
사다리꼴의 높이를 입력하세요: 3
첫 번째 변: 5.00
두 번째 변: 7.00
높이: 3.00
설명
  • 변의 길이와 높이를 저장하기 위해 float를 사용합니다.
  • 사용자에게 입력을 요청하기 위해 printf()를 사용합니다.
  • 사용자가 입력한 실수 값을 읽기 위해 scanf()를 사용합니다.
  • 입력 값을 출력하여 제대로 입력되었는지 확인합니다.

면적 계산 = 0.5*(a+b)*h

이 단계에서는 이전 C 프로그램을 수정하여 공식 면적 = 0.5 * (a+b) * h를 사용하여 사다리꼴의 면적을 계산합니다.

기존 파일을 열고 코드를 업데이트합니다.

cd ~/project
nano trapezoid_area.c

이전 코드를 다음 구현으로 바꿉니다.

#include <stdio.h>

int main() {
    float side1, side2, height, area;

    // 첫 번째 평행 변의 길이를 입력받도록 프롬프트
    printf("첫 번째 평행 변의 길이를 입력하세요: ");
    scanf("%f", &side1);

    // 두 번째 평행 변의 길이를 입력받도록 프롬프트
    printf("두 번째 평행 변의 길이를 입력하세요: ");
    scanf("%f", &side2);

    // 높이를 입력받도록 프롬프트
    printf("사다리꼴의 높이를 입력하세요: ");
    scanf("%f", &height);

    // 사다리꼴 면적 공식을 사용하여 면적 계산
    area = 0.5 * (side1 + side2) * height;

    // 계산된 면적 출력
    printf("사다리꼴 면적: %.2f\n", area);

    return 0;
}

프로그램을 컴파일하고 실행합니다.

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

예시 출력:

첫 번째 평행 변의 길이를 입력하세요: 5
두 번째 평행 변의 길이를 입력하세요: 7
사다리꼴의 높이를 입력하세요: 3
사다리꼴 면적: 18.00
설명
  • 계산된 면적을 저장하기 위해 새로운 area 변수를 추가했습니다.
  • 공식 0.5 * (side1 + side2) * height를 사용하여 사다리꼴의 면적을 계산합니다.
  • printf()를 사용하여 소수점 둘째 자리까지 계산된 면적을 표시합니다.
  • 계산은 표준 사다리꼴 면적 공식 A = 0.5(a+b)h를 사용합니다.

면적 출력

이 단계에서는 사용자 경험을 개선하기 위해 사다리꼴 면적 계산 프로그램에 형식화된 출력과 오류 처리를 추가합니다.

기존 파일을 열고 코드를 업데이트합니다.

cd ~/project
nano trapezoid_area.c

이전 코드를 다음 구현으로 바꿉니다.

#include <stdio.h>

int main() {
    float side1, side2, height, area;

    // 입력 유효성 검사
    printf("사다리꼴 면적 계산기\n");
    printf("-------------------------\n");

    // 첫 번째 평행 변의 길이를 입력받도록 프롬프트
    printf("첫 번째 평행 변의 길이를 입력하세요: ");
    if (scanf("%f", &side1) != 1 || side1 <= 0) {
        printf("오류: 첫 번째 변의 입력이 잘못되었습니다.\n");
        return 1;
    }

    // 두 번째 평행 변의 길이를 입력받도록 프롬프트
    printf("두 번째 평행 변의 길이를 입력하세요: ");
    if (scanf("%f", &side2) != 1 || side2 <= 0) {
        printf("오류: 두 번째 변의 입력이 잘못되었습니다.\n");
        return 1;
    }

    // 높이를 입력받도록 프롬프트
    printf("사다리꼴의 높이를 입력하세요: ");
    if (scanf("%f", &height) != 1 || height <= 0) {
        printf("오류: 높이의 입력이 잘못되었습니다.\n");
        return 1;
    }

    // 사다리꼴 면적 공식을 사용하여 면적 계산
    area = 0.5 * (side1 + side2) * height;

    // 결과의 형식화된 출력
    printf("\n사다리꼴 계산 결과:\n");
    printf("-----------------------------\n");
    printf("첫 번째 변:  %.2f\n", side1);
    printf("두 번째 변: %.2f\n", side2);
    printf("높이:      %.2f\n", height);
    printf("면적:        %.2f 제곱 단위\n", area);

    return 0;
}

프로그램을 컴파일하고 실행합니다.

gcc trapezoid_area.c -o trapezoid_area
./trapezoid_area

예시 출력:

사다리꼴 면적 계산기
-------------------------
첫 번째 평행 변의 길이를 입력하세요: 5
두 번째 평행 변의 길이를 입력하세요: 7
사다리꼴의 높이를 입력하세요: 3

사다리꼴 계산 결과:
-----------------------------
첫 번째 변:  5.00
두 번째 변: 7.00
높이:      3.00
면적:        18.00 제곱 단위
설명
  • 잘못된 입력을 방지하기 위해 입력 유효성 검사를 추가했습니다.
  • 헤더와 명확한 레이블을 사용하여 출력 형식을 개선했습니다.
  • 잘못된 입력 유형에 대한 오류 처리를 추가했습니다.
  • 모든 입력 매개변수와 계산된 면적을 포함하는 설명적인 출력을 포함했습니다.
  • 소수점 둘째 자리까지 부동 소수점 숫자를 표시하기 위해 %.2f를 사용했습니다.

요약

이 실험에서 printf()scanf() 함수를 사용하여 사다리꼴의 두 평행 변의 길이와 높이를 읽는 방법을 처음 배웠습니다. 그런 다음 공식 면적 = 0.5 * (a+b) * h를 사용하여 사다리꼴의 면적을 계산했습니다. 여기서 a 와 b 는 평행 변의 길이이고, h 는 높이입니다. 마지막으로 계산된 면적을 콘솔에 출력했습니다.