간단한 계산기란 덧셈(+), 뺄셈(−), 곱셈(*), 나눗셈(/)과 같은 기본적인 사칙연산을 빠르게 수행하는 계산기를 의미합니다. 이번 글에서는 C++의 switch 문을 활용하여 이러한 기본 연산을 처리하는 계산기 프로그램을 만드는 방법을 알아보겠습니다.
프로그램 동작 예시
사용자가 연산자와 두 개의 숫자를 입력하면, 프로그램은 해당 연산자에 맞는 결과를 출력합니다.
연산자 '+' 입력 시 → 34 + 324 = 358 연산자 '-' 입력 시 → 3874 - 324 = 3550 연산자 '*' 입력 시 → 76 * 24 = 1824 연산자 '/' 입력 시 → 645 / 5 = 129
C++ 예제 코드
아래 코드에서는 연산자(op)와 두 개의 피연산자(a, b)를 미리 초기화해 두었으며, 사용자 입력을 받는 부분은 주석으로 처리되어 있습니다. 주석을 해제하면 직접 값을 입력받는 대화형 프로그램으로 바꿀 수 있습니다.
#include <iostream>
using namespace std;
int main() {
char op = '+';
float a = 63, b = 7;
// 사용자 입력을 받으려면 아래 주석을 해제하세요.
// cout << "연산자를 입력하세요 (+, -, *, /): ";
// cin >> op;
cout << "연산자: " << op << endl;
// cout << "두 개의 숫자를 입력하세요: ";
// cin >> a >> b;
cout << "a = " << a << ", b = " << b << endl;
switch (op) {
case '+':
cout << a << " + " << b << " = " << a + b;
break;
case '-':
cout << a << " - " << b << " = " << a - b;
break;
case '*':
cout << a << " * " << b << " = " << a * b;
break;
case '/':
cout << a << " / " << b << " = " << a / b;
break;
default:
// 연산자가 +, -, *, / 가 아니면 오류 메시지를 출력합니다.
cout << "오류! 올바르지 않은 연산자입니다";
break;
}
return 0;
}코드 설명
- 변수 선언: 연산자를 저장하는 문자형 변수
op와 두 개의 실수형 피연산자a,b를 선언합니다. - switch 문: 변수
op의 값에 따라 일치하는case블록이 실행됩니다. 각 case에서 해당하는 사칙연산을 수행한 뒤break문으로 switch 문을 종료합니다. - default 블록: 입력된 연산자가 네 가지 기본 연산자 중 어느 것에도 해당하지 않을 경우 오류 메시지를 출력하여 잘못된 입력을 안전하게 처리합니다.
- 실수형 사용: 나눗셈의 경우 정수형 대신
float을 사용하면 소수점 결과까지 정확하게 표현할 수 있습니다.
실행 결과
연산자: + a = 63, b = 7 63 + 7 = 70
마무리
이처럼 switch 문만 활용해도 조건 분기를 깔끔하게 처리하는 간단한 계산기를 손쉽게 구현할 수 있습니다. 여기에 사용자 입력 처리나 0으로 나누는 경우에 대한 예외 처리 등을 추가하면 더욱 완성도 높은 계산기 프로그램으로 발전시킬 수 있습니다.