Interaktywny kalkulator..

0

;-(
Witam!
Czy ktoś może mi pomóc w napisaniu w C++ interakywnego kalkulatora-(proszę tylko o wskazówki jak to zrobić , jak zprojektować odpowiednio chierarchię klas i jak jej użyć itd.. )

Oto treść zadania.

Napisz program interaktywnego kalkulatora. Kalkulator ten powinien interpretowac i obliczac
wyrazenia zapisane w systemie ONP. Program powinien odczytywac polecenia ze standardowego
wejscia cin, wykonywac obliczenia i ewentualnie wypisywac wyniki na standardowe wyjscie cout.
Wszelkie komentarze i uwagi czynione przez program maja byc wysyłane na standardowe wyjscie
dla błedów clog.

Program powinien rozpoznawac trzy rodzaje polecen:

? set zm = wyrazenieONP

Utworzenie nowej zmiennej zm i przypisanie jej warosci obliczonego wyrazenia wyrazenie-
ONP. Jesli zmienna zm była zdefiniowana juz wczesniej, to nalezy tylko zmodyfikowac
przypisana do niej wartosc. Zmienne pamietaj w jednej z dostepnych w STL?u kolekcji
asocjacyjnej (na przykład map albo hash map).

? print wyrazenieONP

Obliczenie wartosci wyrazenia wyrazenieONP i wypisanie jej na standardowym wyjsciu.
Wyrazenie bedzie zapisane w postaci postfiksowej (Odwrotna Notacja Polska). Czytajac
kolejne tokeny wyrazenia program powinien je zamieniac na elementy obliczalne (zaprojektuj
kompletna hierarchie klas zwiazana z literałami, zmiennymi i funkcjami) i umieszczac
w kolejce (standardowa kolekcja queue). Przy obliczaniu wartosci wyrazenia nalezy sie
posłuzyc stosem (standardowa kolekcja stack).

? clear
Usuniecie wszystkich zminnych zapamietanych do tej pory w kolekcji asocjacyjnej. Do do
kolekcji tej moga trafiac tylko zmienne o nazwach róznych od nazw zaprogramowanych
przez ciebie i zapamietanych w innej kolekcji asocjacyjnej funkcji i stałych (pi, e, abs,
floor, ceil, frac, min, max, sin, cos, atan, acot, log, ln, power, exp, 3?argumentowa
funkcja if i inne).

Po wydaniu kazdego polecenia, jesli było ono poprawnie zapisane, to nalezy je powtórzyc
na standardowym wyjsciu dla błedów, a jesli było niepoprawne (nieznana komenda, zle sformułowane
wyrazenie, błedna nazwa, błedny literał stałopozycyjny, czy nierozpoznany operator,
funkcja lub zmienna) to nalezy wypisac stosowny komunikat o błedzie.

0

Poczytaj sobie KS-Ekspert Programowanie (wydanie specjalne) tam był IDENTYCZNY temat.
Czasopismo powinno być jeszcze w kioskach, a jeśli nie, to można zawsze zamówić w sklepiku KS.

1 użytkowników online, w tym zalogowanych: 0, gości: 1