Skip to content

gwinbleid86/vending_machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект симулирует работу торгового автомата.

В наш автомат мы можем закинуть монетки, а он будет показывать, какие товары он может продать и в каком количестве. Этот список формируется в зависимости от товаров находящихся в автомате, и того, какие из них мы можем позволить купить.

Например в автомате есть следующие товары:

Вода. Стоимость 20
Кокакола Стоимость 50
Содовая. Стоимость 30
Сникерс. Стоимость 80
Марс. Стоимость 80
Фисташки. Стоимость 130

Пока мы не закинем как минимум 25, и нам автомат показывает список, но говорит "Ничего не купишь, кидай еще".

В автомате доступны:
[20] - Water
[50] - Coca Cola
[30] - Soda
[80] - Snickers
[80] - Mars
[130] - Pistachios

Монет на сумму: 0
 a - Пополнить баланс
 h - Выйти

Как только мы закинем достаточно для покупки хотя бы одного товара, то автомат начнет показывать в списке, какие товары мы можем купить.

В автомате доступны:
[20] - Water
[50] - Coca Cola
[30] - Soda
[80] - Snickers
[80] - Mars
[130] - Pistachios

Монет на сумму: 30
 a - Пополнить баланс
 b - Water
 d - Soda
 h - Выйти

Вводя букву/цифру, мы можем указывать какой товар из доступных мы хотим купить.


Задание:

Выделите в виде отдельного компонента деньгоприемник. Продумайте интерфейс взаимодействия автомата с этим компонентом. Он должен быть достаточно общим, чтобы могли заменять его по необходимости. Например мы сможем создать автомат, который принимает только банковские карточки (то есть он будет спрашивать номер карточки и одноразовый пароль), а затем сменить карто-приемник на монетоприемник (со своим текстовым интерфейсом), и автомат теперь сможет принимать монеты, и продолжать работать как обычно.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages