Jednoduchá konzolová aplikace
Vytvořte moduly pro formátovaný tisk tabulek (podle následujících dvou bodů zadání). K prezentaci činnosti těchto dvou funkcí vytvořte projekt, který bude mít dva moduly (soubory *.c). První modul bude obsahovat funkci main a ve druhém budou funkce realizující formátovaný tisk tabulek. Pro tisk preferujte funkce jazyka C (rodinu printf, scanf).
Pro formátovaný tisk tabulek použijte následující dvě funkce, které budete volat z funkce main (propojení modulů realizujte pomocí souboru typu *.h).
funkce 1. - násobilka
Vytvořte funkci nasobilka, která na obrazovku vytiskne tabulku násobilky pro tento rozsah násobitelů : první 10-20 druhý 40-50). V prvním řádku a sloupci jsou uvedeny operandy, v tabulce je příslušný výsledek odpovídající násobení těchto operandů. Sloupce v tabulce oddělte a zarovnejte (poslední číslice sloupců budou pod sebou).
T | 10 11 12 13 ... 20
---------------------------------------------------
40 | 400 440 480 520 ... 800
41 | 410 451 492 533 ... 820
. . .
50 | 500 550 600 650 ...1000
funkce 2. - formátovaný výstup
Pomocí funce Tiskni vytiskněte tabulku funkce cosinus*sinus (od -180 do 180 stupňů) pro zadanou amplitudu a daný počet hodnot. Amplitudu a počet hodnot načtěte z klávesnice a předejte jako parametry funkci. Tisk tabulky realizujte jako dva sloupce: první je úhel (ve stupních na dvě desetinná místa) a druhý jsou hodnoty funkce „Amplituda * cosinus(uhel) * sinus(uhel)“. Úhly jsou rovnoměrně odvozeny pro zadaný počet hodnot v intervalu od -180 do 180. Snažte se, aby tabulka byla zarovnána (desetinné tečky pod sebou) pro všechny velikosti amplitud a kroků. (Amplitudu zkuste např. 0.0001 nebo 10000).
Pozn.: (u KPPC nepatří následující k bodované části DU – není součástí odevzdání)
Při tvorbě projektu si zkuste funkce všech tlačítek a položek menu prostředí (viz návod). Vyzkoušejte si především možnosti trasování a zobrazování hodnot proměnných.
Před projektem si proveďte rozbor řešení a zvolené řešení si cvičně naskicujte na papír (volání funkcí, blokové schema činnosti funkce, možné zadání a z nich plynoucí problémy při realizaci, ošetření chybných vstupů ...)
Vyzkoušejte přepracovat předchozí příklady na výstup do souboru.
Uvažujte možnost výběru tisku do souboru nebo na konzolu v závislosti
na tom, zdali je na příkazovém řádku název souboru.
Řešení –
v případě, že je na příkazovém řádku více než jeden parametr (počet a
znění parametrů jsou parametry funkce main) je druhý parametr název
souboru. Zkuste tento soubor otevřít. V případě, že se otevření
povede bude se dále pracovat s touto proměnnou, jinak použijeme
standardní stream – stdout (či pro vstup stdin). Příkazy printf
(scanf) je nutné přepsat na fprintf (fscanf), kde přibude jako první
parametr otevřený stream. Nesmíme zapomenou uzavřít nakonec stream v
případě, že byl otevřen výstup do souboru.
Vstup a výstup z/do souboru je možný realizovat i jednodušeji přesměrováním ve volání exe souboru. Při volání z „dosové“ řádku je možné přesměrovat výstup do souboru následně “tabulka.exe > vystup.txt“. Vstup ze souboru je možný pomocí “tabulka.exe < vstup.txt“.
Poslední změna 2009-09-23