feat: added discount coupon system #44
   Merged  
   Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.    
 
Overview
This pull request adds a Discount Coupon System, showcasing the design and application of coupon-based discounts in an application. The solution demonstrates extensible object-oriented design, allowing for different types of coupons and discount strategies to be easily integrated.
Key Features
Defines an abstract class or interface for coupons, ensuring a consistent contract for all discount policies.
Implements various coupon types (percentage-based, amount-based, etc.) to demonstrate the flexibility of the system.
Applies relevant design patterns to encapsulate variable discounting logic.
Designed such that adding new coupon types or modifying existing ones requires minimal future changes.
Provides main/test classes demonstrating how customers can apply, combine, or validate coupons during checkout or billing.
Code Structure
Coupon.h,Coupon.cpp)Design Principles Applied
Review Checklist
closses #43