티스토리 뷰

사칙연산 계산기 프로그램을 만듭니다.

사칙연산 수식을 입력하면 그 결과를 출력하는 프로그램을 작성합니다.

단, 수식을 입력하는 함수와 사칙연산 함수를 매크로 함수로 작성합니다.

 

실행결과는 다음과 같습니다.

/*
실행결과

수식 입력(종료 Ctrl + Z) : 10 + 20
10 + 20 = 30
수식 입력(종료 Ctrl + Z) : 10 - 4
10 - 4 = 6
수식 입력(종료 Ctrl + Z) : 10 * 5
10 * 5 = 50
수식 입력(종료 Ctrl + Z) : 10 / 4
10 / 4 = 2
수식 입력(종료 Ctrl + Z) : ^Z

*/

다음은 제가 작성한 코드입니다.

수식을 입력하는 함수와 사칙연산 함수를 매크로 함수로 작성하라는데

당최 무슨 말인지 모르겠네요. 그냥 매크로 함수 사용법만 익히는 정도로 작성했습니다.

#include <stdio.h>
#define INPUT(number) scanf("%d", &number)
#define CALCULATER(x) x

int main(void)
{
	while (1)
	{
		int firstNum, secondNum;
		char sign;

		printf("수식 입력(종료 Ctrl + Z) : ");
		if (INPUT(firstNum) == EOF) break;
		sign = getchar();
		INPUT(secondNum);
		getchar();

		switch (sign)
		{
		case '+':
			printf("%d + %d = %d\n", firstNum, secondNum, CALCULATER(firstNum + secondNum));
			break;

		case '-':
			printf("%d - %d = %d\n", firstNum, secondNum, CALCULATER(firstNum - secondNum));
			break;

		case '*':
			printf("%d * %d = %d\n", firstNum, secondNum, CALCULATER(firstNum * secondNum));
			break;

		case '/':
			printf("%d / %d = %d\n", firstNum, secondNum, CALCULATER(firstNum / secondNum));
			break;
		}
	}

	return 0;
}

/*
실행결과

수식 입력(종료 Ctrl + Z) : 50-20
50 - 20 = 30
수식 입력(종료 Ctrl + Z) : 30+50
30 + 50 = 80
수식 입력(종료 Ctrl + Z) : 10*20
10 * 20 = 200
수식 입력(종료 Ctrl + Z) : 20/10
20 / 10 = 2
수식 입력(종료 Ctrl + Z) : ^Z
^Z
^Z

*/

VC++ 컴파일러는 Ctrl + Z를 세번 입력해줘야 scanf함수가 EOF를 반환해주었습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
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
글 보관함