←
↑
⇑
↓
→

Ласло Краус |
Објектно програмирање - испити
Практични испит
10. 2. 2000
|
Задатак
| Напомене
Поставка задатка
(садржај)
Пројектовати на језику C++ апстрактну класу за артикле у продавници (Art
) задатих помоћу шифре (знаковни низ), јединичне цене (реалан број) и количине (реалан број). Предвидети:
- иницијализацију артикла задатом шифром, задатом ценом и количином једнаком нули,
- иницијализацију артикла другим артиклом,
- уништавање предмета,
- додељивање вредности једног артикла другом (
artikal1=artikal2
),
- формирање копије артикла у динамичкој меморији,
- постављање нове вредности за цену (
artikal%=cena
),
- промену количине за одређени износ (
artikal+=kolicina
),
- дохватање шифре, цене, количине и јединице мере (одвојене методе),
- израчунавање вредности артикла,
- израчунавање запремине задате количине артикла,
- писање садржаја предмета у неки излазни ток (
datoteka<<artikal
) у облику погодан за табеларни приказ (шира, цена, количина, јединица мере, вредност).
Пројектовати на језику C++ класе за комадне артикле (ArtKom
), течне артикле (ArtTec
) и зрнасте артикле (ArtZrn
) као изведене класе из класе артикала са истим могућностима као и основна класа. Комадни артикли су облика квадра задатих димензија и количина се изражава у комадима. Количина течних артикала се изражава у литрима. Зрнасти артикли имају одређену густину и количина им се изражава у килограмима.
Пројектовати на језику C++ класу радњи за продају артикала (Radnja
). Предвидети:
- формирање празне радње задатог капацитета њеног складишта израженог у литрима,
- иницијализацију радње другом радњом,
- уништавање радње,
- доделу вредности једне радње другој (
radnja1=radnja2
),
- увођење новог артикла у евиденцију (
radnja+=artikal
),
- брисање артикла из евиденције (
radnja-=sifra
),
- дохватање арикла из радње (
radnja[sifra]
, артикал остаје у радњи у непромењеном стању),
- израчунавање преосталог слободног простора у складишту радње,
- писање стања свих артикала у радњи у неки излазни ток (
datoteka<<radnja
).
За разрешавање конфликтних ситуација (на пример: препуњавање складишта радње, дохватање непостојећег артикла итд.) користити изузетке.
Саставити на језику C++ интерактивни главни програм који прихвата следеће команде:
- увођење новог артикла у евиденцију,
- брисање артикла из евиденције,
- набавка одређене количине неког артикла,
- продаја одрећене количине артикла,
- одређиванје нове цене неког артикла,
- приказ стања свих артикала у радњи као и њихову укупну вредност, и
- крај рада.
- Испит траје 3 сата.
- Решење задатка предаје се у облику три датотеке: дефиницје свих
класа, дефиниције метода уз све класе и главни програм. Не
стављати целокупно решење у једну датотеку.
- Пожељно је да програм проради до краја испита.
(садржај)
←
↑
⇑
↓
→
Аутор: Ласло Краус
Е-пошта: kraus@etf.rs
Copyright © 2010, Laslo Kraus
Последња ревизија: 4.10.2010.