Evaluar una simple expresión matemática de cadena [cerrado]

Acabo de realizar una prueba para un desarrollador graduado de C ++ con la siguiente pregunta. No me fue tan bien ya que no pude decidir sobre una forma clara de completar la tarea. El tiempo límite tampoco ayudó. Estoy interesado en cómo los desarrolladores con experiencia habrían abordado el problema de seguimiento, en pseudo o código de muestra:

Evaluate

Write a function in C or C++ that evaluates the result of a simple expression.
The function should ignore whitespace, but stop at the first non valid character.
Valid tokens are listed in the table below:

0-9 - Only integers are allowed in expressions

() - Nested expressions should be evaluated first.

+, -, *, / - Basic operators are addition, subtraction, multiplication and division.

The expression should be parsed from left to right. It is not necessary to consider operator precedence in your solution (e.g. 1 + 3 * 4 = 16). If there is an error in the expression, the function should return false.

Suggested prototype for function:

Example:

bool evaluate(const char *expression, int &result)
{
...
}

**Input**
1+3
(1 + (12 * 2)

**Result**
4
N/A

**Return code**
true
false (missing bracket)

Además, este es el segundo C ++ que no he podido completar con éxito. He tenido una experiencia de 1 año y una experiencia académica de 1 año usando C ++, pero no estoy preparado para algunas de estas pruebas. ¿Existen recursos recomendados donde pueda intentar resolver problemas como este para obtener más experiencia de "prueba"?

Respuestas a la pregunta(5)

Su respuesta a la pregunta