Witajcie,
Jestem tu nowy, więc proszę o wyrozumiałość, jeżeli niepotrzebnie stworzyłem nowy wątek.
Jestem w trakcie pisania programu zawierającego m.in. ONP. Program finalnie ma realizować minimalizację funkcji. Wczoraj zacząłem pisać i pojawił się pewien problem przy podawaniu danych.. Używam stosu doubli. Na wejściu mają byc podane zarówno liczby jak i znaki, więc po kolei:
- Podaję daną i traktuję ją jako zmienną typu double.
- Sprawdzam
cin.ignore()cin.good(), jeśli true to dodaję na stos, jeśli** false** to wczytuję ją do chara i następnie wykonuję odpowiednią operację(tu oparte o switch/case).
Mój problem polega na tym, że po wpisaniu '+' lub '-' nic się nie dzieje.. Dopiero po ponownym wpisaniu znaku program oblicza sumę/różnicę, np. 1 2 3 + , nie zadziała (a powinno wykonać 2 + 3), 1 2 3 + + , zadziała (i zsumuje 2 i 3). Najlepsze w tym wszystkim jest to, że np. '*' oraz '/' działa za pierwszym wczytaniem..
Może rozwiązanie problemu jest proste, ale czasem można się zawiesić na prostych rzeczach. :P
Pozdrawiam i proszę o pomoc!
Patryk
P.S. Jeżeli macie jakieś ciekawe i fajne pomysły na wczytywanie danych w tym przypadku, to również proszę o sugestie. :)
EDIT!
- Sprawdzam cin.good() oczywiście nie cin.ignore().. Wybaczcie już dość późno było jak pisałem ten post... :)
- Nie mogę korzystać ze stringów.