Sbírka_úloh_z_jazyka_C Celková_koncepce_programu [UP Logo] Katedra informatiky Univerzity Palackého v_Olomouci

ASCII Art Téma: Celková koncepce programu Procvičované učivo: celková koncepce programu, dynamická práce s pamětí, funkce Napište v jazyku C jednoduchou knihovnu funkcí pro vykreslování obrázků pomocí znaků (tzv. ASCII art). Knihovna by měla mít tyto vlastnosti:

bude obsahovat jednotlivé znaky.

změně daného plátna (struktura canvas).

nebudou při zobrazení plátna vykreslovat. Jinými slovy, při pokusu o

    kreslení mimo plátno nedojde k vyjímce při běhu programu.
  * Knihovna by měla být samostatným modulem, bude tedy tvořena jedním
    zdrojovým a jedním hlavičkovým souborem.

V knihovně vytvořte strukturovaný datový typ canvas a dále definujte tyto funkce: /* vytvori platno */ canvas *canvas_create(int x, int y);

/* nastavi dany bod na zadanou hodnotu */ void canvas_set_point(canvas *c, int x, int y, char character);

/* vrati znak daneho bodu */ int canvas_get_point(canvas *c, int x, int y);

/* nakresli obdelnik */ void canvas_draw_rect(canvas *c, int x, int y, int width, int height, char ch);

/* vycisti platno */ void canvas_clear(canvas *c);

/* vykresli obsah platna na standardni vystup */ void canvas_print(canvas *c);

/* vykresli obsah platna do souboru */ void canvas_output(canvas *c, FILE *f); Jednotlivé funkce ve vytvořené knihovně poté otestujte z modulu hlavní funkce. Příklad výstupu:

  xxxxxxx
  x     x
  x   ***********
  x   * x       *
  x   * x       *
  x   * x       *
  x   ***********
  x     x
  x     x
  xxxxxxx

Příklad výstupu:

Povolené knihovny: stdio.h, stdlib.h

[Creative_Commons_License] Sbírka_úloh_z_jazyka_C. © Katedra_informatiky Univerzity_Palackého_v_Olomouci, 2009. Projekt byl vytvořen za podpory grantu FRVŠ 2061/2009/G1.