Formátované vstupy a výstupy
Hlavním cílem této domácí úlohy je opakování základů jazyka C.
1) Na základě zadání vypracujte program, který načte ze souboru data a následně je vytiskne. Jméno souboru je předáno jako parametr na příkazové řádce - překontrolujte zda je skutečně přítomno, nezapomínejte, že otevřený soubor je potřeba po použití uzavřít. Jeden řádek dat vstupního souboru lze načíst jedním příkazem (f)scanf.
2) Upravte/doplňte program z bodu 1) tak, aby jeho výstupem nebyla konzola (obrazovka), ale soubor, jehož název je dán jako parametr na příkazové řádce programu. „Přepnutí“ mezi bodem 1) a 2) proveďte pomocí podmíněného překladu (příkaz #define TYP_TISK), tak aby si uživatel zvolil verzi, kterou přeloží. (viz příklad - není součástí DU)
3) Napište funkci, která bude mít jako parametr načtené pole pro
tisk, která vytiskne statistiku přítomných znaků. Pro každý znak,
který se vyskytne, se vypíše řádek s obsahem: hexa kód znaku, znak,
počet znaků, četnost znaků (s přesností na jedno desetinné místo).
Sloupce tabulky budou zarovnány tak aby příslušné řády byly pod sebou
(viz. příklady nasobilka,
cosinus - nejsou
součástí DU).
Tisk například:
0x??
a 20 10.3%
0x?? b 1 0.5%
Součástí textu zadání jsou odkazy na kapitoly skript s příslušnou látkou a odkazy na příklady ze cvičení denního kurzu. Práce s MSVC (založení a práce s projektem, předání parametrů na příkazovém řádku) je popsána zde.
Projekt bude obsahovat následující soubory (přesně s těmito názvy.
Odevzdáte pouze tyto tři soubory):
mainprj.cpp - zde bude
funkce main, práce se soubory (kontroly, otevření ...), volání funkcí
...
funkce.cpp - zde budou všechny funkce projektu
funkce.h
- hlavičkový soubor (ošetřený ...) pro zveřejněné funkce ze
souboru funkce.cpp
Text zadání budu doplňovat/upřesňovat na základě vašich dotazů, takže ho průběžně sledujte.
Poslední změna 2011-09-26