Указать последовательность выполнения действий (с++)

Указать приоритет операций в арифметическом примере. Умножение, деление, сумма и разница имеют одинаковый приоритет, всё дело в скобках, в примере вы увидите, что я имею введу. Сразу покажу что должно происходить в программе:

2+1+(4+1-(5-3))
1) 5-3
2) 4+1
3) 4+1-(5-3)
4) 2+1
5) 2+1+(4+1-(5-3))

У меня получился код, но он слишком калечный и не автоматизирован. ПРОШУ, ПОМОГИТЕ, ПОЖАЛУЙСТА!!

#include <iostream>
using namespace std;

int main()
{
  setlocale(LC_ALL, "Russian");
  char calculate[50];
  char primer[20];
  char primer2[20];
  cout << "Введите пример: ";
  gets_s(calculate);




int i = 0;
int j = 0;
int k = 0;

cout << endl;
    if (calculate[i] == '(')
    {
      do
      {
        primer[j] = calculate[i+1];
        j++;
        i++;

        if (calculate[i] == '(')
        {
          
          do
          {
            primer2[k] = calculate[i + 1];
            k++;
            i++;

            if (calculate[i] == '(')
            {
              primer2[k] = calculate[i + 1];

            }

          } while (calculate[i + 1] != ')');

        }

      } while (calculate[i+1] != ')');
    }
  
  cout << endl;
  cout << "The first operation ";
  for (int i = 0; i < j-2; i++)
  {
    cout << primer2[i];
  }

  cout << endl;
  cout << "The second operation ";

  for (int i = 0; i < k; i++)
  {
    cout << primer[i];
  }

  cout << endl;
  cout << "The third operation ";

    cout << calculate;

}

Ответы (0 шт):