usaa23/sk2
2024-02-05 23:50:59 +00:00
..
calculator.c Add 'sk2/calculator.c' 2024-02-05 23:17:54 +00:00
calculator.h Add 'sk2/calculator.h' 2024-02-05 23:01:52 +00:00
main.c Add 'sk2/main.c' 2024-02-05 23:03:10 +00:00
Makefile Add 'sk2/Makefile' 2024-02-05 23:03:44 +00:00
README.md Add 'sk2/README.md' 2024-02-05 23:50:59 +00:00

Domáca skúška - Opravný termín - Kalkulačka

Naprogramuj vedeckú kalkulačku. Kalkulačka by mala vyhodnocovať aj zložitejšie výrazy v infixnej notácii.

Kalkulačka by mala podporovať tieto operácie:

  • načítanie a prácu s číslami s presnosťou min. 2 desatinné miesta.
  • sčítanie, odčítanie, násobenie, delenie, zátvorky.
  • sinus, cosinus, odmocnina, druhá mocnina, logaritmus.

Strucny popis funkčnosti

  1. isOperator Nastavenie indexu vrcholu na -1 (prázdny zásobník).

  2. precedence Funkcia vracia prioritu operátora.

  3. applyOperator Funkcia vykoná matematickú operáciu na dvoch operandoch podľa zadaného operátora.

  4. Výpočet výrazu (evaluateExpression) Hlavná funkcia programu, ktorá vyhodnocuje matematický výraz odovzdaný ako reťazec.

  5. Konfigurácia operátorov a funkcií (evaluateExpression) Funkcia prijíma konfiguračný argument, ktorý definuje podporované operátory a funkcie:

Konfigurácia 1: Podporované sú len základné aritmetické operácie. Konfigurácia 2: Podporované sú aj ďalšie matematické funkcie (sínus, kosínus, logaritmy, odmocniny).

Strucny popis riešenia

Tento kód je jednoduchá kalkulačka schopná počítať matematické výrazy zapísané v infixovej notácii. Podporuje základné aritmetické operácie (+, -, *, /), mocniny (^), trigonometrické funkcie (sin, cos), logaritmy (log, log10) a odmocniny (sqrt). Kód implementuje zásobník na ukladanie operandov a operátorov, ako aj funkcie na inicializáciu zásobníka, pridávanie a odstraňovanie prvkov zo zásobníka. Kód tiež rieši prípady chýb, ako je delenie nulou, záporné argumenty pre niektoré funkcie a neplatné znaky vo výraze. Používateľ môže zadať konfiguráciu na zapnutie alebo vypnutie podpory určitých operácií a funkcií.

Podmienky za ktorých funguje