Let's say I have a string with 1+5*9+4 etc.. whatever it may be. How do I use C++ do calculate this? I know recursive functions work here, but how? I figured I could loop ..searching for the * first ( higher precedence ) and then the +. No idea. Would not be a recursive function, would it? What does this function look like for this example?

Recommended Answers

All 3 Replies

It sounds like you want to build an LR recursive descent parser. You build a binary tree to represent the equation. Evaluation is a recursive, Left-to-Right operation. There are a large number of texts that describe how to do this. It is your basic applied programming class contents.

You could do as SnowFall if and only if you are allowed to use other libraries to build the function. Otherwise, you better build your own parser first. Also, does the incoming string could contain parenthesis as well? Watch out for that as well...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.