2014-01-30 3 views
-1

내 질문에 당신은 C++의 방정식을 해결하는 프로그램을 어떻게 만들 것 인가? 예를 들어,C++에서 수식을 해결

사용자 입력 :

-5*2+(5+1)+(5-2) 

프로그램 출력은 :

-1 

은 예, 링크, 일반적으로 도움이 모든 코드는 크게 apreciated입니다! : D 고마워!

+0

안녕하세요. 적절한 질문을 올리는 방법에 대해서는 [도움말] 문서를 읽으십시오. 이것은 그들 중 하나가 아닙니다. – OldProgrammer

+0

Search StackOverflow 또는 "C++ calculator"에 대한 웹 –

+0

이 질문을하는 올바른 방법은 무엇입니까? 그는 기본적으로 그를 시작할 수있는 무언가를 원합니다. 그것은 합리적인 것처럼 보입니다. 어떻게 표현해야합니까? –

답변

2

당신의 질문은 C++ 프로그래밍에 관한 것이 아닙니다. lexical analysis을 목표로하고 더 간단하게 연산자와 알고리즘을 파싱하는 것이 목표입니다. 이것이 어떻게 작동하는지의 매우 간단한 설명 :

토큰에 입력을 구문 분석 :

-5*2+(5+1)+(5-2) 

이는 토큰입니다

MINUS 
5 
MULTIPLY 
2 
PLUS 
LPAREN 
5 
PLUS 
1 
RPAREN 
PLUS 
LPAREN 
5 
MINUS 
2 
RPAREN 

된다. 그런 다음이를 렉스 (lex)로 변환해야하는데,이 관계가없는 토큰을 의미있는 명령문 또는 하위 명령문으로 변환합니다. 일단 당신이 그것을 어휘하면 해석하고 결과를 반환 할 수 있습니다.

Step A - -5 
Step B - A + 2 
Step C - 5 + 2 
Step D - B + C 
Step E - 5 - 2 
Step F - D + E 

적어도이 기능이 도움이되기를 바랍니다.

관련 문제