Seminární skupina IB001 Úvod do programování skrze C

Týden 13

1. Napište program, který Vám umožní jednoduchou evidenci Vašich kontaktů. Ke každému kontaktu si budete pamatovat:
    - jméno - řetězec max. 25 znaků
    - příjmení - řetězec max. 25 znaků
    - adresu:
        - ulice - řetězec max. 50 znaků
        - číslo domu - celé číslo bez znaménka
        - město - řetězec max. 50 znaků
        - PSČ - celé číslo bez znaménka
    - telefonní číslo - řetězec max. 13 znaků
- Program bude umožňovat následující operace:
    - vytvoření nové, prázdné kartotéky - provede se automaticky, pokud kartotéka nebude existovat, jinak pouze pokud si to bude přát uživatel.
    - přidání jednoho záznamu 
    - vyhledání záznamu podle jména a příjmení
    - výpis všech záznamů na standardní výstup
    - export kartotéky do textového souboru ve formátu CSV
    - ukončit činnost.
- Ovládání bude řešeno pomocí textového menu, které uživateli umožní volbu prováděné akce.
- Data budou uchovávána pouze v souboru (v paměti bude pouze aktuálně zpracovávaný záznam).
 

Domácí úkol 4 (deadline 22. 12. 23:59, deadline opravy 31. 12. 23:59)

Vytvořte program "AUTOBAZAR", který bude ukládat informace o autech do souboru.

- Bude obsahovat strukturu Cars (char spz[9], char carType[15], manufactureDate (= short day, short month, short year), int km, int price), kde manufactureDate je také struktura.

- Vytvořte úvodní menu, které bude nabízet uživateli tyto funkce:

            a) Nakup auto

            b) Prodej auto

            c) Vypiš auta

            d) Zjisti duplicitu SPZ

            e) Ukonči progr

add a) Funkce, která načte informace o novém autě od uživatele a uloží je do souboru.

add b) Funkce, která načte od uživatele SPZ. Pokud auto s danou SPZ existuje, tak jej smaže ze souboru a informuje o tom uživatele. Pokud auto s danou SPZ v souboru neexistuje, tak žádné auto nesmaže a informuje uživatele, že takové auto neexistuje.

add c) Funkce, která vypíše všechna auta ze souboru.

add d) Funkce, která zkontroluje, zdali se v souboru nevyskytují dvě auta se stejnou SPZ a informuje o výsledku uživatele.

Bonusové domácí úkoly:

- Deadline všech bonusových úkolů je 10. 1. 23:59 (nejpozději 11. budou opravené)

- Hodnocení: 0 - 1 body za každou úlohu 

- Není možné získat kladné body jen umazat ztráty z klasických domácích úkolů! Nelze ani umazat ztráty z písemek.

- Nelze je opravit

Bonus 3:

Napište program na nalezení inverzní matice pro náhodně načtenou čtvercovou matici. Rozměr zadejte pomocí konstanty nebo načtěte od uživatele.

Bonus 4:

Vytvořte program umožňující převod mezi libovolnými soustavami (2 .. 36).
   - Načtete obě soustavy
        - Omezte se na soustavy od dvojkové po až třicetšestkovou
    - Načtěte řetězec značící hodnotu ve vstupní soustavě
        - Vstup může mít maximálně 63 znaků
        - Je nutné ověřit, že uživatel zadal korektní vstup (tj. pro dvojkovou soustavu nezadal jiné znaky než 0 a 1 atp.)
        - Počítejte pouze s čísly, které lze v desítkové soustavě reprezentovat pomocí long long int (není nutné detekovat přetečení).
    - Vypište výsledek ve výstupní soustavě
Následující