방문자 놀이터

안녕하세요. 언제나 휴일입니다.

여기는 방문자 놀이터입니다.

IT 관련 내용이나 유머 등 자유롭게(불법, 광고, 음란 내용 등의 게시물 제외) 올리세요.

업로드 가능한 파일은 10KBytes 미만으로 제한합니다.

C++관련 질문드립니다

작성자
박연후
작성일
2017-04-18 14:28
조회
689
안녕하십니까 선생님

네이버 검색을 하다가 선생님의 답변을 보고 글올립니다/

예제파일을 첨부해놓았는데요..ㅎㅎ(혹시몰라 메모장 파일로도..)

#include <iostream>

#include <string>

using namespace std;

int main() {

string s;

cout << "7+23+5+100+25와 같이 덧셈 문자열을 입력하세요." << 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; // "2+3+", 즉 +로 끝나는 경우

cout << part << endl;

sum += stoi(part); // 문자열을 수로 변환하여 더하기

break;

}

int count = fIndex - startIndex; // 서브스트링으로 자를 문자 개수

string part = s.substr(startIndex, count); // startIndex부터 count 개의 문자로 서브스트링 만들기

cout << part << endl;

sum += stoi(part); // 문자열을 수로 변환하여 더하기

startIndex = fIndex+1; // 검색을 시작할 인덱스 전진시킴

}

cout << "숫자들의 합은 " << sum;

}

 

저 파일을 바탕으로

1) 4+5-12+6-20등으로 표현된 덧셈과 뺄셈이 있는 식을 입력받아 계산하는 프로그램을 string의 여
러 멤버 함수들을 활용해서 작성하라.

2) 4+5*12+6/20등으로 표현된 덧셈, 뺄셈,곱셈,나눗셈이 있는 식을 입력받아 계산하는 프로그램을
string의 여러 멤버 함수들을 활용해서 작성하라.

단, 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선순위가 높고, 같은 우선 순위의 연산자 일 경우 왼쪽
에서 오른쪽 순서로 연산을 수행한다.

이런 과제를 해야하는데 너무 막막해서 질문드립니다..ㅠㅠㅠㅠ

모든 라인에 주석을 다는건 제가 해석해서 달아보겠습니다

금요일까지 과제라서 빠른 답변 감사하겠습니다///ㅎㅎㅎ

좋은하루되세용s2