neděle 15. března 2009

1. úkol těžší varianta

Napište program, který bude načítat řádky ze standardního vstupu (cin).
Na vstupu může objevit:
  • "+" - odeberou se 2 poslední čísla a, b ze zásobníku a do zásobníku se přidá a+b
  • "-" - odeberou se 2 poslední čísla a, b ze zásobníku a do zásobníku se přidá a-b
  • "*" - odeberou se 2 poslední čísla a, b ze zásobníku a do zásobníku se přidá a.b
  • "p" - vypíše se poslední číslo na zásobníku na standardní výstup.
  • řádky začínající znakem # ignorujte
  • pokud se na vstupu objeví číslo, uložte ho do zásobníku. (za vstup předpokládejte čísla double)
  • jinak nahlaste chybu vstupu
implementace
  • vstupní řádky nejsou delší, než 50 znaků
  • k implementaci zásobníku je možné použít std::stack
  • k převodu na číslo lze využít funkce atof nebo tento návod, vstup 0 se nepředpokládá.
  • v programu na konci uvolněte veškerou použitou dynamickou paměť
  • nezapomeňte na ošetření případu, že na zásobníku není dost čísel a špatného vstupu
Příklad 1
>10
>5
>+
>p
<15

Příklad 2
>#urok
>5
>0.01
>*
>1
>+
>#vklad
>20000
>*
>p
<21000

Odevzdání
  • poslat email na "jahodfra na seznamu"
  • předmět emailu nastavit na "PRC2 ukol1b"
  • odeslat pouze nezabalené soubory zdroj. kódu - ideálně pouze jeden soubor

Žádné komentáře:

Okomentovat