#include <iostream>
using namespace std;

 

class Cal {
private:
 char c; // 연산기호
 double a, b, Sun; // 연산할 수 a, b와 연산 결과 Sun

public:
 char d[10];
 double input(double, char, double); //연산하고 그 결과 출력
 double sum(double, double); //덧셈
 double sub(double, double); //뺄셈
 double mul(double, double); //곱셈
 double div(double, double); //나눗셈
};

 

double Cal::sum(double a, double b)
{
 return a + b;
}

double Cal::sub(double a, double b)
{
 return a - b;
}

double Cal::mul(double a, double b)
{
 return a * b;
}

double Cal::div(double a, double b)
{
 return a / b;
}

 

double Cal::input(double a, char c, double b)
{
 cout << "띄어쓰기 없이 계산식을 입력하시고 엔터키를 누르세요." << endl;
 cin >> a >> c >> b;
 switch(c) {
 case '+':
  Sun = sum(a, b);
  break;

 case '-':
  Sun = sub(a, b);
  break;

 case '*':
  Sun = mul(a, b);
  break;

 case '/':
  Sun = div(a, b);
  break;

 default:
  cout << "잘못 입력하셨습니다. 프로그램을 종료합니다." << endl;
  break;
 }
 return Sun;
 cout << Sun << endl; //결과 출력
}

 

void main()
{
 int num1 = 0, sign = 0, num2 = 0; //input에 넣을 변수
 Cal c1; //클래스 정의
 c1.input(num1, sign, num2);

 while(1)
  cout << c1.input(num1, sign, num2) << endl; //결과 출력
}

 

 

계산기 프로그램입니다. 그런데 원래대로라면

---------------------------------------------------------------------------

띄어쓰기 없이 계산식을 입력하시고 엔터키를 누르세요.

4+4(내가 입력)

8

띄어쓰기 없이 계산식을 입력하시고 엔터키를 누르세요.

---------------------------------------------------------------------------

 

이렇게 결과가 나와야 하는데

---------------------------------------------------------------------------

띄어쓰기 없이 계산식을 입력하시고 엔터키를 누르세요.

4+4(내가 입력)

띄어쓰기 없이 계산식을 입력하시고 엔터키를 누르세요.

---------------------------------------------------------------------------

 

이렇게 나옵니다 ㅠㅠ

오류가 뜨지도 않는데 왜 저러는지..

잘못된 부분 지적 좀 부탁드립니다.