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