[Cvičení 6] [Obsah] [Cvičení 8]

Cvičení 7


Dokončení tématiky z předchozího cvičení


Úloha 7.1

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í:

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 >=2. Využijte cyklus s podmínkou na konci do { } while().

Polotovar:
CodeBlocks:kresleni_obdelnika_vzor.cbp, kresleni_obdelnika_vzor.c
Řešení:
CodeBlocks:kresleni_obdelnika.cbp, kresleni_obdelnika.c

Domácí úloha - tvorba interaktivního programu

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:

  1. procedura vypisující nabídku
  2. funkce, která čte volbu z klávesnice (doporučuji nabídku uchovat jako číslo typu int) a vrací ji
  3. funkce, která má jako parametr zvolenou funkci (1 nebo 2) a provede příslušný výpočet
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 switch. Nezapomeňte na break.

Hlavní program bude mít tuto kostru:

int volba;
do
{
  tisk_nabidky();
  volba = nacteni_volby();
  vypocet(volba);
}  while (); /* vymyslete podmínku ukončení */

Polotovar:

Dev C++:obsahy_vzor.dev, obsahy_vzor.c
CodeBlocks:obsahy_vzor.cbp, obsahy_vzor.c
Řešení:
Dev C++:obsahy.dev, obsahy.c
CodeBlocks:obsahy.cbp, obsahy.c

[Cvičení 6] [Obsah] [Cvičení 8]