OOPMICRO
OOPMICRO
ON
DIPLOMA IN
(INFORMATION TECHNOLOGY )
SUBMITTED TO
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION,MUMBAI
SUBMITTED BY
1
SAMARTH POLYTECHNIC BELHE
Names Of Members:
1] Shelke Pravin Santosh
2] Shelke Ajay Ramesh
3] Shelke Sumit Santosh
4] Narode Sahil Santosh
2
ACKNOWLEDGMENT
This project is done as a semester project, as a part
course titled
“Bookshop Management System using OOP Concepts”
I am really thankful to our course the Principal Prof.
Kapile A.S. and the HOD Prof. Navle.S.K Samarth
Polytechnic, Belhe for his invaluable guidance and assistance,
without which the accomplishment of the task would have
neverbeen possible.
I also thanks Prof. Mr. Navle.S.K for giving this
opportunity to explore into the real world and realize the
interrelation without which a Project can never progress. In this
present project I have chosen the topic “Bookshop
Management System using OOP Concepts”
I am also thankful to parents, friend and all staff of
Information Technology, for providing us relevantinformation and
necessary clarifications, and great support.
3
Title:- “Bookshop Management System
using OOP Concepts ”
ABSTRACT:-
The Bookshop Management System is a console-based application developed using
Object-Oriented Programming (OOP) concepts in C++. The system provides
functionalities to manage inventory, perform sales transactions, and generate reports.
● Implement a user-friendly interface for managing a bookshop.
● Utilize OOP principles to organize code, ensuring modularity and reusability.
● Handle inventory operations including adding, updating, and deleting books.
● Support sales operations, including adding sales records and generating
invoices.
Proposed methodology
Design
The system is designed using the following classes:
● Book: Represents a book with attributes like title, author, price, quantity, etc.
● Inventory: Manages the list of books, and provides functionalities to add,
update, and delete books.
● Transaction: Represents a sales transaction with details like date, book sold,
quantity, etc.
● SalesHistory: Keeps track of all sales transactions and provides methods to
record new transactions and generate invoices.
● UserInterface: Handles user interaction through the console, providing a
menu-driven interface.
4
INDEX
1] Introduction 6
7
2] Object-Oriented Design:
3] 8
User Interface:
4] 8
Code
5] 13
Skill Developed / Learning outcomes of
this Micro-Project
6] 14
Applications of this Micro-Project
5
1. INTRODUCTION
The project was implemented in C++ programming language, leveraging
OOP principles. Each class was defined in separate header (.h) and
implementation (.cpp) files. Class methods were designed to performs
specific tasks related to their respective functionalities.
The system was thoroughly tested using various test cases to ensure correct
functionality, exception handling, and boundary cases. Input validation was
implemented to prevent incorrect data entry.
The system was thoroughly tested using various test cases to ensure correct
functionality, exception handling, and boundary cases. Input validation was
implemented to prevent incorrect data entry.
● To develop a Bookshop Management System that automates various tasks in a
bookshop.
● Add new books with details like title, author, price, and quantity.
● Update existing book details.
● Delete books from the inventory.
Sales Management:
6
2. Object-Oriented Design:
The project utilizes key OOP concepts such as classes and objects to
represent real-world entities in the bookshop system. The classes include
Book, Customer, and Inventory, each encapsulating relevant attributes
and methods. The Book class handles information pertaining to book
details such as title, author, ISBN, and price. The Customer class manages
customer data, including name, contact information, and purchase history.
The Inventory class serves as a central repository for maintaining book
stock levels, tracking sales, and generating reports.
7
3. User Interface:
The user interacts with the system through a console-based interface, where they can
perform a range of operations, including adding new books, updating existing
records, making sales, and generating reports. The interface provides a user-friendly
experience, guiding the user through each step of the process
Functionality and Features:
Adding and Editing Books: The system allows the user to add new books to the
inventory and edit existing book details, ensuring an up-to-date record of available
titles.
Managing Customers: Customers can be added to the system, along with their
contact information. The system also tracks customer purchase history for future
reference.
Processing Sales Transactions: The system facilitates the sale of books, updating
inventory levels and customer records accordingly. It calculates the total cost based
on the quantity and price of the selected books.
The Bookshop Management System is a microproject that leverages the power of
Object-Oriented Programming (OOP) to streamline the operations of a bookshop.
This project was developed using C++, a versatile and powerful programming
language known for its efficiency and flexibility. The primary objective of this
system is to provide an organized platform for managing bookshop inventory, sales,
and customer records. Through the implementation of OOP principles, the project
aims to achieve modularity, reusability, and scalability in code design.
4] Code.
#include <iostream>
#include <vector>
#include <string>
class Book {
private:
std::string title;
std::string author;
double price;
int quantity;
public:
Book(std::string title, std::string author, double
price, int quantity)
: title(title), author(author), price(price),
quantity(quantity) {}
8
void displayInfo() {
std::cout << "Title: " << title << ", Author: "
<< author << ", Price: $" << price << ", Quantity: " <<
quantity << std::endl; }
void sellBook(int num) {
if (quantity >= num) {
quantity -= num;
std::cout << "Sold " << num << " copies of "
<< title << "." << std::endl;
} else {
std::cout << "Not enough copies in stock." << std::endl
}
}
public:
void addBook(Book book) {
inventory.push_back(book); }
void displayInventory() {
for (const Book& book : inventory) {
book.displayInfo();
}
}
void sellBook(std::string title, int quantity) {
for (Book& book : inventory) {
if (book.getTitle() == title) {
book.sellBook(quantity);
return;
} }
std::cout << "Book not found." << std::endl; }
int main() {
Bookstore bookstore;
// Displaying inventory
std::cout << "Inventory:" << std::endl;
bookstore.displayInventory();
// Selling books
bookstore.sellBook("Book2", 5);
// Restocking books
bookstore.restock("Book1", 10);
return 0; }
10
11
12
5.Skill Developed / Learning outcomes of this Micro-Project
a) Computer skills increase.
b) Communication skills improved.
13
6. Applications of this Micro-Project
14
Conclusion
This micro-project demonstrates the effective use of Object-Oriented Programming
principles in designing a Bookshop Management System. The project successfully
achieves its objectives and serves as a functional tool for managing a bookshop's
inventory and sales operations.
15
. ANNEXURE III
Evaluation Sheet for Micro Project
Academic Year :- 2024-25 Name of Faculty :- Prof.Mr.
Navle.S.K
Course :- Information Technology Course Code :-
Semester :- III
Title of Project :- “Bookshop
Management System using
OOP Concepts ” Cos addressed by the micro project:-
1] Shelke Pravin
Santosh.
2] Shelke Ajay Ramesh
3] Shelke Sumit Santosh
4] Narode Sahil Santosh
Prof. Mr.Navle.S.K
(Name & Signature)
17
THANK YOU!
18