Moi drodzy, mam dzisiaj naprawdę sporą zagwozdkę. Od dłuższego czasu męczę się z kalkulatorem konsolowym w c++, ale nie takim, że wprowadzamy zmienne: podaj a, podaj b, co chcesz zrobić? Dodać, odjąć? Chodzi mi o taki, że w konsolę wpisuję powiedzmy 2*5+4/3, zatwierdzam enterem i mam wynik.
Próbowałem to ugryźć na kilka sposobów, na początku deklarowałem tablicę string, następnie przy pomocy pętli for ją sprawdzałem pod kątem wystąpienia znaku, np '/'. Wyglądało to mniej więcej tak:
int main() {
string obl;
cout << "Obliczenia: ";
cin >> obl;
for (int i = 0; i <= obl.length(); i++) {
if (obl[i] == '/') {
cout << "\nWynik: " << obl[i - 1] / obl[i + 1];
}
}
system("pause");
return 0;
}
Wiem, że to nie odpali, ponieważ próbuję podzielić przez siebie 2 stringi i nie przerzutowałem tego na inty czy tam float. Ale z kolei tworząc dodatkową zmienną np int a = atoi(obl.c_str()); i zastępując nią obl po fragmencie Wynik: wyrzuca kolejne błędy, ponieważ program nie wie czym jest ta zmienna.
Im więcej tego zmieniam i edytuję tym bardziej się gubię w tym problemie. Czy moglibyście mnie nakierować w jaki sposób powinienem analizować tą tablicę pod kątem obliczeń?