Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

코딩로그

아주 간단한 정수 계산기 만들기 (1) 본문

ES/C

아주 간단한 정수 계산기 만들기 (1)

안농씨 2020. 12. 24. 02:21

  C언어는 컴퓨터공학과에 들어오면 가장 기초적으로 배워야 하는 언어다. 그래서 어떤 프로그래밍 언어에 대해 이야기해볼까 생각해보다 주저 없이 C 언어를 선택하게 된 것 같다.

 

 이번에 소개하는 간단한 프로그램은 계산기다. 아주 간단하게 정수만을 이용한다.

 

 계산기를 이용하기 전, 프로그램은 사용자에게 이용할 기능을 입력받는다. 특정 숫자에 따라 사칙연산 또는 프로그램 종료가 이루어진다. 만약 이 중에 없는 숫자를 입력받을 경우, 잘못된 입력을 받았다고 알려준 후, 다시 입력받게 만든다.

 

 아래는 간단 계산기를 실행했을 때 예시다. 

*********** 간단한 정수 계산기 ***********
 안녕하세요. 간단한 정수 계산기입니다.
 1.덧셈
 2. 뺄셈
 3.곱셈
 4.나눗셈
 5.프로그램 종료
 이용할 기능의 숫자를 입력해주세요: 6
 잘못된 숫자 입력! 다시 입력해주세요!
****************************************

*********** 간단한 정수 계산기 ***********
 안녕하세요. 간단한 정수 계산기입니다.
 1.덧셈
 2. 뺄셈
 3.곱셈
 4.나눗셈
 5.프로그램 종료
 이용할 기능의 숫자를 입력해주세요: 2
 계산할 두 숫자를 입력해주세요: 4 2
 4 - 2 = 2
****************************************

*********** 간단한 정수 계산기 ***********
 안녕하세요. 간단한 정수 계산기입니다.
 1.덧셈
 2. 뺄셈
 3.곱셈
 4.나눗셈
 5.프로그램 종료
 이용할 기능의 숫자를 입력해주세요: 5
 프로그램을 종료합니다. 이용해주셔서 감사합니다.
****************************************

 1부터 4는 사칙연산을, 5는 프로그램 종료를 의미한다. 이 이외의 숫자는 모두 오류로 처리해 다시 입력 받게 만든다.

 

 프로그램 종료 숫자를 입력받기 전까지 프로그램은 무한히 반복되어야 하므로, 우리는 무한 반복문을 이용해 프로그램을 작성한다. 다음은 간단 계산기의 코드다.

#include <stdio.h>
/*
 프로그램: 간단한 정수 계산기
 작성자: ES
 설명: 사용자로부터 어떤 계산을 받을지 입력받은 후, 계산할 정수를 입력 받는다.
*/
// 함수를 미리 선언하고, main 함수 이하 부분에서 상세히 다룬다.
void add(int x, int y);    //덧셈 함수
void minus(int x, int y);    //뺄셈 함수
void multiple(int x, int y);    //곱셈 함수
void division(int x, int y);    //나눗셈 함수

void guide();    //계산기 프로그램 함수

int main()    //main 함수 선언
{
	guide();    //main에선 계산기 프로그램 함수를 실행
	return 0;
}
//프로그램 안내 함수
void guide() {
	int cal = 0;
	int num1 = 0;
	int num2 = 0;

	while (1) {    //무한 반복
		printf("*********** 간단한 정수 계산기 ***********\n");
		printf(" 안녕하세요. 간단한 정수 계산기입니다.\n");
		printf(" 1.덧셈\n 2.뺄셈\n 3.곱셈\n 4.나눗셈\n 5.프로그램 종료\n");
		printf("  이용할 기능의 숫자를 입력해주세요: ");
		scanf_s("%d", &cal);

		if (cal >= 1 && cal <= 4 ) {
			printf("\n 계산할 두 숫자를 입력해주세요: ");
			scanf_s("%d %d", &num1, &num2);

			if (cal == 1) {
				add(num1, num2);
			}
			else if (cal == 2) {
				minus(num1, num2);
			}
			else if (cal == 3) {
				multiple(num1, num2);
			}
			else if (cal == 4) {
				division(num1, num2);
			}
		} 
		else if( cal == 5){
			printf("\n 프로그램을 종료합니다. 이용해주셔서 감사합니다.\n");
			printf("****************************************\n\n");
			break;    //무한 반복 종료
		}
		else {
			printf("\n 잘못된 숫자 입력! 다시 입력해주세요!\n");
		}
		printf("****************************************\n\n");
	}// end of while
} //end of guide

//덧셈 함수
void add(int x, int y) {
	int result = x + y;
	printf("\n %d + %d = %d\n", x, y, result);
} //end of add
//뻴셈 함수
void minus(int x, int y) {
	int result = x - y;
	printf("\n %d - %d = %d\n", x, y, result);
} // end of minus
//곱셈 함수
void multiple(int x, int y) {
	int result = x * y;
	printf("\n %d * %d = %d\n", x, y, result);
} // end of multiple
//나눗셈 함수
void division(int x, int y) {
	int result = 0;
	if (y != 0) {
		result = x / y;
		printf("\n %d / %d = %d\n", x, y, result);
	}
	else {
		printf(" ERROR! 0으로 나눌 수 없음!");
	}// end of division
}

실제로 구현해 실행했을 때 화면이다.

잘못된 숫자 입력 (좌) 덧셈 계산 (우)
나눗셈에서 0으로 나눌 때와 일반 정수로 나눌 때 (좌) 프로그램을 종료할 때 (5)


 지금까지 간단한 정수 계산기 프로그램에 대해 소개해보았다.

 

written by. ES