함수 사용 연습
이 마지막 단계에서는 C 에서 함수에 대해 배운 모든 내용을 적용하여 여러 함수 유형과 사용법을 보여주는 포괄적인 프로그램을 만들 것입니다.
~/project 디렉토리에 calculator.c라는 파일을 생성해 보겠습니다.
cd ~/project
touch calculator.c
이제 다양한 함수를 사용하여 간단한 계산기를 구현하는 프로그램을 작성해 보겠습니다.
#include <stdio.h>
// Function to add two numbers
int add(int a, int b) {
return a + b;
}
// Function to subtract two numbers
int subtract(int a, int b) {
return a - b;
}
// Function to multiply two numbers
int multiply(int a, int b) {
return a * b;
}
// Function to divide two numbers with error handling
float divide(int a, int b) {
if (b == 0) {
printf("Error: Division by zero!\n");
return 0;
}
return (float)a / b;
}
// Void function to display calculator menu
void display_menu() {
printf("\n--- Simple Calculator ---\n");
printf("1. Addition\n");
printf("2. Subtraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Exit\n");
printf("Enter your choice: ");
}
int main() {
int choice, num1, num2;
float result;
while (1) {
display_menu();
scanf("%d", &choice);
// Exit condition
if (choice == 5) {
printf("Goodbye!\n");
break;
}
// Validate choice
if (choice < 1 || choice > 4) {
printf("Invalid choice. Try again.\n");
continue;
}
// Get user input
printf("Enter two numbers: ");
scanf("%d %d", &num1, &num2);
// Perform calculation based on user choice
switch (choice) {
case 1:
result = add(num1, num2);
printf("Result: %d + %d = %d\n", num1, num2, (int)result);
break;
case 2:
result = subtract(num1, num2);
printf("Result: %d - %d = %d\n", num1, num2, (int)result);
break;
case 3:
result = multiply(num1, num2);
printf("Result: %d * %d = %d\n", num1, num2, (int)result);
break;
case 4:
result = divide(num1, num2);
printf("Result: %d / %d = %.2f\n", num1, num2, result);
break;
}
}
return 0;
}
주요 개념을 살펴보겠습니다.
- 여러 함수 유형이 사용됩니다 (반환 값, void 함수).
- 함수는 특정 수학적 연산을 수행합니다.
display_menu()는 메뉴를 보여주는 void 함수입니다.
- 산술 함수는 계산된 결과를 반환합니다.
main() 함수는 메뉴 기반 계산기를 구현합니다.
- 0 으로 나누기에 대한 오류 처리가 포함되어 있습니다.
switch 문은 연산을 선택하는 데 사용됩니다.
프로그램을 컴파일하고 실행합니다.
gcc calculator.c -o calculator
./calculator
예시 상호 작용:
--- Simple Calculator ---
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Exit
Enter your choice: 1
Enter two numbers: 10 5
Result: 10 + 5 = 15
--- Simple Calculator ---
...
Enter your choice: 5
Goodbye!
함수 사용에 대한 주요 사항:
- 서로 다른 함수 유형을 결합합니다.
- 함수를 사용하여 복잡한 문제를 세분화합니다.
- 오류 처리를 구현합니다.
- 모듈식이고 재사용 가능한 코드를 만듭니다.