C++ 스트링 클래스를 이용한 사칙연산 코드 질문입니다.

안녕하세요.
책을 보며 C++ 공부하다가, 4+5*12+6/20 와 같이
더하기, 빼기, 곱하기, 나누기가 가능한 사칙연산 코드를 만들고 싶은데,
주어진 예시는 더하기만 가능합니다. 추가적인 계산을 하게 하고 싶은데 도저히 모르겠네요.
해결할 수 있는 힌트나, 코드 아이디어 알려주실수 있으신가요?
그리고 문자열을 나눌때 +,-,*,/ 각각 기호를 인식하게하는 좋은 방법이 있을까요 ?
#include
#include
using namespace std;
int main()
{
string s;
cout << "연산 문자열을 입력하세요" << endl;
getline(cin, s, '\n');
int sum = 0;
int startIndex = 0;
while (true) {
int fIndex = s.find('+', startIndex);
if (fIndex == -1) {
string part = s.substr(startIndex);
if (part == "") break;
cout << part << endl;
sum += stoi(part);
break;
}
int count = fIndex - startIndex;
string part = s.substr(startIndex, count);
cout << part << endl;
sum += stoi(part);
startIndex = fIndex + 1;
}
cout << "숫자들의 합은 " << sum <<"\n";
}
댓글 달기