Odporúčaná literatúra a dôležité odkazy

[1] KPI-FEI-TUKE: Prednáška č. 4

[2] KPI-FEI-TUKE: Cvičenie č. 5

[3] Tutorialspoint: C Library - <stdio.h>

[4] Tutorialspoint: C - Data Types



Karlovi je koniec nech žije C-čko

Doposiaľ sme programovali robota Karola. Hlavným cieľom takého programovania bolo naučiť študentov myslieť "algoritmicky". Programovanie Karola nezahŕňalo implementáciu štandardného vstupu či výstupu, ktorým by používateľ interagoval s programom. Tiež neboli použité premenné a podobne. Programy fungovali len pre definovaný svet, v ktorom sa Karol pohyboval. 

Je zrejmé, že také programovanie okrem svojho didaktického účelu nemá veľký význam. Od tohto cvičenia budeme programovať programy takým spôsobom, ktorý možno považovať za "klasické C-čko"


Úloha 1.

Spomínate si ešte na Slovenské koruny? Dnes už málokto z mladej generácie rozmýšľa v korunách. Starší ľudia si na eurá ešte nezvykli, aby mali predstavu o hodnote kupovanej veci, potrebujú urobiť prepočet konverzným kurzom:

1€ = 30,126SKK

Napíšte funkciu, ktorá zo štandardného vstupu od používateľa načíta sumu v Eurách (EUR) a následne ju prevedie na hodnotu Slovenských korún (SKK).

Ďalšia špecifikácia:

  • Názov c-súboru: eur2skk.c
  • Názov výsledného programu: EUR2SKK

Spôsob kompilácie:

gcc -Werror -Wall eur2skk.c -o EUR2SKK

Riešenie:

Algoritmus

Vývojový diagram

Príklad možného dizajnu používateľského rozhrania programu

K riešeniu pristupujeme tak ako sme sa už učili → Najprv algoritmus, potom kód! 

Základný algoritmus môže pozostávať z týchto krokov:

  1. Výzva k zadaniu hodnoty v EUR
  2. Načítanie zadanej hodnoty v EUR - Aký údajový typ má byť použitý?
    1. VOLITEĽNÉ - je zadaná vstupná hodnota zmysluplná (napr. či to nie sú znaky namiesto čísla a podobne)?
  3. Prepočet konverzným kurzom - Je rozumné všetko robiť vo funkcii main()? Nie je lepšie vytvoriť si vlastnú funkciu?
  4. Zobrazenie výsledku v SKK
    1. Okrem výsledku v EUR je vhodné zobraziť aj pôvodnú zadanú hodnotu, konverzný kurz a podobne.
    2. Zobrazenie výsledku by malo byť prehľadné a aj estetické.


ab123xy@zapfei$ ./EUR2SKK
--------------------------------------------------------
--------------------  EUR to SKK  ----------------------
--------------------------------------------------------

        Zadaj hodnotu v EUR >> 15.22

        Hodnota 15.22 EUR je 458.52 SKK
        Pouzity konverzny kurz: 1 EUR = 30,126 SKK

--------------------------------------------------------


  • No labels