Úloha:
Vytvořte si textový soubor, do kterého napište několik řádků, každý
řádek bude obsahovat informaci o jednom zaměstnanci a počtu jeho dětí. Dětí
může být 0 až 9, jméno maximálně 30 znaků. Na první pozici v řádku bude
číslice, kolik má dětí, pak mezera a následovat bude jméno.
Napište program, který tento soubor přečte a vypíše zaměstnance setříděné podle
jména nebo podle počtu dětí. (Když bude mít více zaměstnanců stejný počet dětí,
je jedno, v jakém pořadí se vypíší.) Programu se budou na příkazovou řádku
dávat dva parametry: první bude buď -j pokud se má výpis
třídit podle jména, druhý -p, pokud se bude třídit podle počtu
dětí. Druhý parametr bude specifikovat jméno souboru (případně i s
cestou), ze kterého se budou data načítat - ten, co jste napsali vy.
Nápověda:
Nevíte, kolik zaměstnanců bude v souboru, musíte si je tedy ukládat v nějaké
struktuře, která bude umožňovat přidávat libovoloný počet - např. spojový
seznam. Do tohoto seznamu můžete data zapsat v takovém pořadí, jako jsou v
souboru a pak seznam setřídit podle jména nebo podle počtu dětí, a vypsat.
Druhá (asi jednodušší) varianta je, že do seznamu budete data rovnou
zatřiďovat. Tedy načtete ze souboru dalšího zaměstnance, zjistíte, na jaké
místo v seznmu patří, a tam ho zapojíte. To vyžaduje si při zjišťování pozice,
kam zařadit, pamatovat i ukazatel na předchozí položku, abyste mohli pak
správně přepojit pointery.
Protože počet zaměstnanců bude vždy jednociferný, můžete si přečíst pouze první znak na řádce a z něj určit počet a víte, že jméno začíná od třetího znaku.