[Cvičení 6] | [Obsah] | [Cvičení 8] |
Napište program s využitím procedur, který na obrazovku nakreslí pomocí tisku znaků „hvězdička“ obdélník. Program se dotáže na výšku (v>=2) a šířku (s>=2) obdélníka.Příklad: zadáme s = 5, v = 3
***** * * *****Návod k řešení:Polotovar:Vytvořte následující procedury
Až budete mít kreslení funkční, doplňte do hlavního programu test správnosti zadání, tj. uživatel bude zadávat výšku/šířku tak dlouho, dokud nezadá správnou hodnotu
tisk_krajniho_radku(int s)
- parametrem je šířka řádku, procedura vytiskne s hvězdiček
tisk_vnitrniho_radku(int s)
- parametrem je šířka řádku, procedura vytiskne celý vnitřní řádek, tj. hvězdičku, s-2 mezer, hvězdičku
tisk_obdelnika(int s, int v)
- parametrem je šířka a výška, procedura vytiskne celý obdélník; využijte vhodně cyklus a volání procedur
tisk_krajniho_radku(int s), tisk_vnitrniho_radku(int s)
>=2
. Využijte cyklus s podmínkou na koncido { } while()
.Řešení:
CodeBlocks: kresleni_obdelnika_vzor.cbp, kresleni_obdelnika_vzor.c
CodeBlocks: kresleni_obdelnika.cbp, kresleni_obdelnika.c
Zkuste si připomenout a vyřešit úlohu, která byla zadána na cvičení z předmětu 14PRG. Slouží k procvičení definic procedur a funkcí.
Zadání:
Napište interaktivní program, který počítá obsah kruhu a obsah obdelníka.
Na obrazovku vypíše následující nabídku:Nabidka: --------------------- 1 ... Obsah kruhu 2 ... Obsah obdelnika 3 ... Konec --------------------- Volba:Při volbě 1 se program dotáže na poloměr, pak vypočítá a vytiskne obsah kruhu. Při volbě 2 se program dotáže na velikost stran obdélníka a vytiskne jeho obsah. Po provedení výpočtu se opět na obrazovku vypíše nabídka.
Při tvorbě programu ošetřete zadání záporných hodnot.Hotový program pro inspiraci je ke stažení zde: obsahy.exe
Úlohu naprogramujte pomocí procedur a funkcí. Napište zejména tyto procedury a funkce:
Návod: výpis nabídek a výpočet provádějte v cyklu (s podmínkou na konci). Pro rozhodování typu operace využijte příkaz
- procedura vypisující nabídku
- funkce, která čte volbu z klávesnice (doporučuji nabídku uchovat jako číslo typu int) a vrací ji
- funkce, která má jako parametr zvolenou funkci (1 nebo 2) a provede příslušný výpočet
switch
. Nezapomeňte nabreak
.Hlavní program bude mít tuto kostru:
int volba; do { tisk_nabidky(); volba = nacteni_volby(); vypocet(volba); } while (); /* vymyslete podmínku ukončení */Polotovar:
Řešení:
Dev C++: obsahy_vzor.dev, obsahy_vzor.c CodeBlocks: obsahy_vzor.cbp, obsahy_vzor.c
Dev C++: obsahy.dev, obsahy.c CodeBlocks: obsahy.cbp, obsahy.c
[Cvičení 6] [Obsah] [Cvičení 8]