Назад к задачам
Junior — Senior
9

Определение итоговой цены заказа с учётом разных скидок

Компании, где спрашивали:

ГК Адепт
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

В розничном магазине реализуется продажа разнообразных товаров, при этом могут применяться несколько видов скидок. Для некоторых покупателей предлагаются:

  • фиксированная скидка 5 % на весь ассортимент независимо от суммы заказа;
  • оптовая скидка 10 % при покупке количества единиц товара, превышающего заданный порог;
  • скидка 15 % при покупке отдельного продукта, если его суммарная стоимость превышает установленный лимит (например, $100) и клиент берёт минимум 3 единицы;
  • скидка, рассчитываемая от общей стоимости заказа, независимо от того, какие товары в него входят. Необходимо реализовать программу, которая рассчитывает конечную стоимость покупки с учётом всех применимых скидок.
class Discount {
public:
    int price;
};

class regular_discount : Discount {

};

class opt_discount : Discount {

};

class End_price {

};