This repository contains a C++ program that demonstrates my skills in C++. It is designed to simulate a simple purchase management system with password protection and various features. This README.md file provides an overview of the program's key components and features.
-
Local time & date display: Program utilizes the #include<ctime.> library and incorporates code to retrieve the user's computer date & time within the program enhancing the overall experience.
-
Password protection: The program requires a password for secure access, ensuring only authorized users can operate the system.
-
Main options: Users are presented with a menu of options to choose from, providing a clear and intuitive interface.
-
Item selection: Users can select items from a list for purchase, allowing them to customize their shopping experience.
-
Quantity input: Users can specify the quantity of each item they want to purchase, providing flexibility in their purchase decisions.
-
Pricing and discounts: The program calculates the total amount based on the item prices and applies any applicable discounts, ensuring accurate and transparent billing.
-
Receipt generation: A detailed receipt is generated, displaying the purchased items, their quantities, individual prices, discounts, and the total amount.
-
Cash payment: Users can enter the amount of cash they want to pay, enabling easy payment processing.
-
Balance calculation: The purchase system incorporates a precise balance calculation feature, When the user submits the payment amount, the program deducts it from the total amount, computing the remaining balance, If the payment falls short, the system intelligently prompts the user to submit the outstanding amount, This iterative process ensures accurate and efficient financial transactions.
-
Exit and return options: Users have the option to exit the program or return to the main menu, providing a convenient user experience.
The program utilizes various programming constructs and features to achieve its functionality:
- Void functions: Several void functions are used throughout the program to modularize code and improve readability.
- Arithmetic operations: The program performs arithmetic operations such as addition, subtraction, multiplication, and division when calculating the total amount, balance, and payment.
- Arrays: Arrays are used to store item details, prices, quantities, and other relevant information, enabling efficient data management and retrieval.
- Switch statements: Used to handle different options chosen by the user, ensuring efficient control flow.
- If statements: Determine the appropriate receipt format based on the quantities of purchased items, providing a customized user experience.
- Goto statements: Control the flow of execution and allow navigation between different code sections, ensuring the program operates smoothly.
- Logical operators: Logical operators such as
&&
(AND) and||
(OR) are used to perform conditional checks and decision-making within the program's logic. - Relational operators: Relational operators such as
<
,>
,<=
,>=
,==
, and!=
are used to compare values and make logical comparisons in various parts of the program. - Composite assignment operator and etc..
The program also includes appropriate comments, labels, and indentation to enhance code readability and maintainability.
To run the program, follow these steps:
-
Clone the repository to your local machine.
-
Compile the source code using a C++ compiler. Used IDE : Dev-C++
-
Run the executable file.
-
Enter the password when prompted to access the program.
- Manager : Username - Certis | Password - admin@sys
- Cashier : Username - Mich_Dess | Password - Mich_458
- Administrator : Username - admin | Password - 123
-
Use the menu options to navigate through the program and make purchases.
-
Follow the on-screen instructions for item selection, quantity input, and payment processing.
-
Choose to exit the program or return to the main menu based on your preference.
Please note that the program has certain input requirements and limitations, which are mentioned within the program's prompts and instruction comment.
Important : In the code please maintain the current line spacing, To help you I have included comments indicating the line numbers for each 'goto' function.
If you found this project useful or interesting, leaving a star on the GitHub repository would mean a lot to me.
⭐️ Leave a Star
Your support and feedback are greatly appreciated!
Let's make amazing things together! 🚀