Co mam teraz zrobić, by program wypisywał wynik z działania w postaci np. 2+4*6-5 i by był to poprawny wynik zgodnie z regułami matematycznymi (czyli mnożenie przed dodawaniem itp.).
Musisz działać an dwóch elementach, więc żadna z twoich funkcji się nie zda. Jeśli miałbyś obsługiwać kolejność wykonywania działań to musiałbyś zacząć od nowa.
Od biedy mógłbyś zrobić sobie wrzucić kolejkę priorytetową, albo rekurencyjnie wyszukiwać kolejne * / a potem dodawania i odejmowania ale optymalne to to nie jest.