Warning
This page is located in archive.

Implementační test

Název úlohy v BRUTE IT03 - Implementační test 28.1.2021
Termín odevzdání 28.01.2021 17:15 CEST
Bodový zisk až 15b
Počet uploadů neomezeně
Typ zadání implementační test

Napište program, který na načte formátovaný textový soubor, který zpracuje a výsledek vytiskne na standardní výstup.

Příklad

$ cat data.txt
10;20;30;40;20;SUM(A:E)
60;20;30;40;50;60;MEA(A:F)

$./a.out -i data.txt
= using default width = 4
= using default align = right
= using default header = yes
+----------------------------------+
|   A|   B|   C|   D|   E|   F|   G|
+----------------------------------+
|  10|  20|  30|  40|  20| 120|    |
+----------------------------------+
|  60|  20|  30|  40|  50|  60|  40|
+----------------------------------+

Upřesnění

  1. Čísla na vstupu jsou celá, v rozsahu -100 - 100. Tato podmínka bude splněna, není třeba kontrolovat.
  2. Počet řádků není omezen.
  3. Jednotlivé sloupce jsou označeny A - Z.
  4. Reálná čísla budou zaokrouhlena ořezem desetinné části.
  5. Parametr -i je povinný, pokud není zadán, program ohlásí chybu a bude ukončen.
  6. V případě nezadání dalších parametrů (viz dále) budou použity defaultní hodnoty a uživatel o tom bude informován.
  7. Parametry jsou zadány vždy správně.
  8. V případě, že se některé z čísel nevejde do nastavené šířky buňky, bude použita pro celou tabulku taková šířka buňky, aby se do ní vešlo právě největší. Uživatel o tom bude informmován.

Parametry příkazové řádky

  • -i - vstupní soubor, povinný parametr, text
  • -w - šířka buňky, kladné celé číslo
  • -h - hlavička tabulky, text (yes/no)
  • -a - zarovnání, text (left/right)

Hodnocení

  • Návrh vhodné datové struktury - 3 body
  • Ošetření parametrů příkazové řádky - 3 body
  • Funkce pro tisk tablky - 3 body
  • Funkce pro výpočet sumy - 2 body
  • Funkce pro výpočet střední hodnoty - 2 body
  • Uživatelská funkce (podle vlastního výběru) nebo celkový dojem z programu - 2 body
courses/b0b99prpa/implementace.txt · Last modified: 2021/01/28 13:55 by viteks