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 daný rozsah násobitelů : bude zadán první a druhý násobitel/operand (zadány jako parametry funkce a reprezentující jejich minimální hodnoty, maximální hodnoty budou o 10 větší) například pro parametry 10 a 40 budou násobitelé: první 10-20 druhý 40-50. Mají smysl pouze kladné parametry – v případě chybného zadání upravte parametr na 1. 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 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 * 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 2010-09-24