소개
이 실습에서는 C 프로그래밍에서 유리식을 평가하는 방법을 배웁니다. 이 실습은 분자와 분모 식을 읽고, 0 으로 나누는 경우를 안전하게 처리하여 분수 값을 계산하고, 최종 결과를 출력하는 기본 단계를 다룹니다. 이 실습을 통해 C 를 사용하여 대수식을 다루는 데 필요한 기술을 개발할 수 있습니다.
이 실습은 사용자로부터 분자와 분모 입력을 읽는 과정을 안내하여 값이 프로그램에 제대로 저장되도록 합니다. 그런 다음 분수를 다룰 때 발생하는 일반적인 문제인 0 으로 나누는 경우를 처리하는 개념을 소개하고, 이러한 시나리오를 어떻게 해결하는지 보여줍니다. 마지막으로, 이 실습은 분수 값을 계산하고 최종 결과를 출력하는 방법을 다룹니다.
분자와 분모 식 읽기
이 단계에서는 유리식을 평가하는 데 필수적인 기술인 C 에서 분자와 분모 식을 읽는 방법을 배웁니다.
먼저 유리식 입력을 구현하기 위한 새로운 C 파일을 만듭니다.
cd ~/project
nano rational_expressions.c
이제 분자와 분모를 읽는 다음 코드를 추가합니다.
#include <stdio.h>
int main() {
int numerator, denominator;
printf("분자를 입력하세요: ");
scanf("%d", &numerator);
printf("분모를 입력하세요: ");
scanf("%d", &denominator);
printf("분자: %d\n", numerator);
printf("분모: %d\n", denominator);
return 0;
}
프로그램을 컴파일하고 실행합니다.
gcc rational_expressions.c -o rational_expressions
./rational_expressions
예시 출력:
분자를 입력하세요: 10
분모를 입력하세요: 5
분자: 10
분모: 5
코드를 자세히 살펴보겠습니다.
scanf()는 사용자로부터 정수 입력을 읽는 데 사용됩니다.%d형식 지정자는 정수 입력에 사용됩니다.- 분자와 분모는 별도의 정수 변수에 저장됩니다.
printf()는 입력 값을 표시하는 데 사용됩니다.
분수 값 계산
이 단계에서는 잠재적인 0 으로의 나눗셈을 처리하고 계산을 수행하여 분수 값을 안전하게 계산하는 방법을 배웁니다.
이전의 rational_expressions.c 파일을 업데이트하여 분수 계산을 포함합니다.
cd ~/project
nano rational_expressions.c
분수 값을 계산하도록 코드를 수정합니다.
#include <stdio.h>
int main() {
int numerator, denominator;
float fraction_value;
printf("분자를 입력하세요: ");
scanf("%d", &numerator);
printf("분모를 입력하세요: ");
scanf("%d", &denominator);
// 0 으로 나누는 경우 확인
if (denominator == 0) {
printf("오류: 0 으로 나누는 것은 허용되지 않습니다.\n");
return 1;
}
// 분수 값 계산
fraction_value = (float)numerator / denominator;
printf("분자: %d\n", numerator);
printf("분모: %d\n", denominator);
printf("분수 값: %.2f\n", fraction_value);
return 0;
}
프로그램을 컴파일하고 실행합니다.
gcc rational_expressions.c -o rational_expressions
./rational_expressions
예시 출력:
분자를 입력하세요: 10
분모를 입력하세요: 4
분자: 10
분모: 4
분수 값: 2.50
코드의 주요 내용:
- 런타임 오류를 방지하기 위해 0 으로 나누는 경우를 확인했습니다.
- 부동소수점 나눗셈을 보장하기 위해
(float)형 변환을 사용했습니다. %.2f를 사용하여 분수 값을 소수점 둘째 자리까지 표시했습니다.
결과 출력 또는 0 으로 나누기 처리
이 단계에서는 유리식 프로그램을 개선하여 더욱 강력한 오류 처리 및 결과 표현을 제공합니다.
rational_expressions.c 파일을 업데이트하여 출력 및 오류 처리를 개선합니다.
cd ~/project
nano rational_expressions.c
고급 오류 처리 및 결과 서식을 포함하도록 코드를 수정합니다.
#include <stdio.h>
#include <stdlib.h>
int main() {
int numerator, denominator;
// 입력 유효성 검사 및 오류 처리
printf("분자를 입력하세요: ");
if (scanf("%d", &numerator) != 1) {
printf("오류: 잘못된 분자 입력입니다.\n");
return 1;
}
printf("분모를 입력하세요: ");
if (scanf("%d", &denominator) != 1) {
printf("오류: 잘못된 분모 입력입니다.\n");
return 1;
}
// 포괄적인 0 으로 나누기 처리
if (denominator == 0) {
printf("오류: 0 으로 나눌 수 없습니다. 분모는 0 이 아니어야 합니다.\n");
return 1;
}
// 다양한 형식으로 결과 계산 및 출력
double fraction_value = (double)numerator / denominator;
printf("\n--- 유리식 결과 ---\n");
printf("분자: %d\n", numerator);
printf("분모: %d\n", denominator);
printf("분수 값: %.2f\n", fraction_value);
printf("정수 결과: %d\n", numerator / denominator);
printf("나머지: %d\n", numerator % denominator);
return 0;
}
프로그램을 컴파일하고 실행합니다.
gcc rational_expressions.c -o rational_expressions
./rational_expressions
예시 출력:
성공적인 계산:
분자를 입력하세요: 10
분모를 입력하세요: 4
--- 유리식 결과 ---
분자: 10
분모: 4
분수 값: 2.50
정수 결과: 2
나머지: 2
0 으로 나누기:
분자를 입력하세요: 10
분모를 입력하세요: 0
오류: 0으로 나눌 수 없습니다. 분모는 0이 아니어야 합니다.
잘못된 입력:
분자를 입력하세요: abc
오류: 잘못된 분자 입력입니다.
주요 개선 사항:
scanf()반환 값을 사용하여 입력 유효성 검사를 추가했습니다.- 다양한 시나리오에 대한 오류 메시지를 개선했습니다.
- 여러 결과 표현을 제공했습니다.
- 더 정확한 부동소수점 계산을 위해
double을 사용했습니다.
요약
이 실험에서는 C 언어에서 분자와 분모 표현식을 읽는 방법을 배웠습니다. 이는 유리식을 평가하는 데 필수적인 기술입니다. 또한, 잠재적인 0 으로의 나눗셈을 처리하고 계산을 수행하여 분수 값을 안전하게 계산하는 방법을 배웠습니다. 마지막으로, 결과를 출력하거나 0 으로 나누는 경우를 처리하는 기능을 구현했습니다. 이러한 단계는 C 프로그래밍에서 유리식을 다루는 데 견고한 기반을 제공합니다.



