Практика по моделированию простой задачи
Задание
Заголовок раздела «Задание»В ассортименте есть 3 товара: напиток, первое и второе. У каждого из них разные цены (например: 10, 20, 30).
У клиента есть возможность заказать какое-либо количество каждого из этих товаров. Есть 2 клиента, каждый заказывает разные комбинации вещей.
-
Представьте данную ситуацию в программе. Выведите на экран стоимость заказа каждого из клиентов.
Затрудняюсь понять как это представить
У вас есть 2 клиента. У каждого из них по количеству для каждого типа вещи. Это 6 переменных. Значения переменных задаются в зависимости от заказа. Например:
int client1_drink = 100; // 100г напиткаint client1_first = 0; // нет первогоint client1_second = 250; // 250г второгоint client2_drink = 0; // 0 напиткаint client2_first = 300; // 300г первогоint client2_second = 0; // 0 второгоПолучение стоимости
int client1_total = client1_drink * 10 + client_first * 20 + client_second * 30; -
Отделите работу с отдельными клиентами блоками. Внутри блоков, используйте переменные с тем же именем.
-
Создайте структуру цен. Упоминайте цены товаров не напрямую, а через переменную этого типа. Таким образом, все цены будут логически сгруппированы в одной переменной.
-
Создайте структуру выбора клиента.
-
Сделайте функцию выбора клиента, принимающую параметрами цены и выбор клиента.
Зачем?
Чтобы убрать повторяющийся код.
Как?
Найдите от чего зависит код выбора клиента просмотрев его. Зависимость идет от цен, цены и будут первым параметром.
Далее, что изменяется в каждом повторении этого кода? Изменяется переменная выбора клиента — это и будут следующий параметр.
Далее, какой результат ожидается от этого куска кода? Поиск стоимости. Поэтому, возвращаемый тип будет
int.int customerTotal(Prices prices, Choices choices){// ...}