Program ze standardního vstupu načtěte dvě přirozená čísla v rozsahu 3 až 69, včetně obou těchto krajních hodnot.
Z načtených čísel “vykreslete” s použitím znaků velké X (X
), mezer (
) a znaků nového řádku (\n
) na standardní výstup domeček podle předlohy níže.
První číslo udává šířku domečku, druhé výšku domečku. Viz Příklad 1.
Pokud se nepodaří načíst obě celá čísla, tak vypište na standardní chybový výstup zprávu: “Error: Chybny vstup!
” a program ukončete s návratovou hodnotou 100
. Viz Příklad 2.
Obě čísla (jak šířka, tak výška) musí být v daném intervalu. V případě, že tomu tak není, vypište na standardní chybový výstup zprávu: “Error: Vstup mimo interval!
” a program ukončete s návratovou hodnotou 101
. Viz Příklad 3.
První číslo reprezentující šířku musí být vždy liché. Pokud tomu tak není vypište na standardní chybový výstup chybovou hlášku: “Error: Sirka neni liche cislo!
”, v takovém případě je návratová hodnota programu 102
. Viz Příklad 4.
Každý řádek končí znakem nového řádku, který je ihned za posledním symbolem na řádku (X
, nebo |
v případě domečku s plotem).
V případě, že jsou první dvě čísla shodná, načtěte třetí kladné celé číslo, které udává délku a výšku plotu, viz Příklad 5.
Velikost plotu musí být kladná a ostře menší než je výška domu. V případě, že tomu tak nebude, uvědomte o tom uživatele zprávou na standardní chybový výstup ve znění: “Error: Neplatna velikost plotu!
” a program ukončete s návratovou hodnotou 103, viz Příklad 5, 6 a 7.
Horizontální části plotu jsou vždy na prvním a posledním řádku plotu. Pravá část plotu končí vždy svislou plaňkou, takže první řádek plotu vypadá pro velikost 2 takto: “-|
”, pro velikost 3: “|-|
” a pro velikost 4: “-|-|
” atd.
Domeček je vyplněn znaky 'o' a '*', přičemž v levém horním rohu je vždy znak 'o' a znaky 'o' tvoří diagonály.
Ze standardního vstupu načítejte maximálně tři čísla a to pouze v případě, že jsou první dvě čísla shodná.
Kontroly vstupu a případné vypsání chyby musí být provedeno v předem zadaném pořadí:
Zadaná šířka domu nebo výška domu nebo velikost plotu není platné číslo (100
)
Zadaná šířka domu nebo výška domu není v požadovaném intervalu (101
)
Zadaná šířka domu není liché číslo (102
)
Zadaná velikost plotu musí být kladná a ostře menší než je výška domu (103
)
Chyba 100 indikuje, že očekávaný vstup není platné číslo, proto se vztahuje též na velikost plotu. Pokud se nepodaří načíst celé(á) číslo(a) neodpovídá vstup očekávání. Využijte návratovou hodnotu funkce scanf().