У стойки
Теперь банк открывает стойку. Новый массив today хранит сегодняшние операции в том порядке, в каком они происходили. Каждая из них — Transaction: вклад ("deposit") или снятие ("withdraw") суммы золота amount владельцем owner счёта.
Вклад добавляет золото на счёт. Снятие забирает его, но только если на счёте хватает: иначе операция завершается отказом не хватает золота, а счёт остаётся прежним. Операция человека, у которого нет счёта, завершается отказом нет счёта. После счетов, какими они были утром, выведите строку про каждую операцию, а затем ещё раз счета и золото банка — такими, какие они вечером:
Кира: золото 120
Бруно: золото 40
Лена: золото 75
В банке золота: 235.
Бруно вносит золото: 30. Баланс: 70
Кира снимает золото: 50. Баланс: 70
Бруно снимает золото: 100. Отказ: не хватает золота
Мира вносит золото: 10. Отказ: нет счёта
Кира: золото 70
Бруно: золото 70
Лена: золото 75
В банке золота: 215.Совет: то, что может не получиться, — работа для типа Result<T> из урока «Обобщения». Метод, который снимает золото, может возвращать Result<number>: новый баланс или причину неудачи.
Задание
- 1
Выведите строку про каждую операцию, как в примере.
- 2
После операций ещё раз выведите счета и золото банка.