소개
이 실험에서는 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 는 높이입니다. 마지막으로 계산된 면적을 콘솔에 출력했습니다.



