StringCalc

Domácí práce z předmětu X36PJC - Programování v jazyku C++. Jedná se o textovou kalkulačku. Zadání se očekává na standardním vstupu (konzole). Jeden řádek představuje jeden vzorec. Pro ukončení zadávání se použije znak pro konec souboru (EOF) nebo prázdný řádek. Výsledky jsou obdobně odeslány na standardní výstup po řádcích.

Příklad

Vstup:

156*pi+ log 6 

Výstup:

  490.867 

Podporované funkce a operátory

(podle priority od nejnižší po nejvyšší)

  1. + , -
  2. * , /
  3. sqrt(), sin(), cos(), tan(), asin(), acos(), atan(), ln(), log(), exp(), pi(), abs(), deg() (převod z radiánů na stupně), rad() (ze stupňů na radiány),
  4. ^ - obecná mocnina
  5. e - dekadický exponent, tj. ×10x
  6. ( ) - závorky, mají úplně nejvyšší prioritu

Goniometrické funkce se počítají v radiánech, použijte konverzní funkce deg a rad.

Je vhodné přesměrovat vstup/výstup pomocí příkazové řádky, např:

stringcalc < vstup.txt > vystup.txt

Zatím tu je jenom kompilace pro Windows: Stringcalc (Win32 konzole)