0% found this document useful (0 votes)
13 views

Ilovepdf Merged

Uploaded by

mdanasaly18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Ilovepdf Merged

Uploaded by

mdanasaly18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Arniko

H.S School

INVENTORY MANAGEMENT
SOFTWARE
Integrated Inventory Management
Solution: Enhancing the Business

DEPARTMENT OF COMPUTER
Shahid Amin
Newton
N-801829
Acknowledgment
We express our sincere appreciation to Principal Rajesh Karki for his
unwavering support and guidance throughout the development of this
Inventory management system project. His leadership and
encouragement have been instrumental in our journey.
We are also grateful to Computer Teacher Bishesh Shakya for sharing
his expertise and insights, which enriched our understanding of
software development concepts and contributed to the project's
success.
Furthermore, we extend our thanks to Lab Teacher Abhay Karna for his
assistance and support in providing the necessary resources and
facilities for testing and refining the project.
Their collective efforts have significantly contributed to the realization
of this project, and we are deeply thankful for their contributions.

Shahid Amin

Inventory Management Software 1


Inventory Management Software
Overview:
The Inventory Management Software developed in C serves as a robust solution for
efficiently managing inventory operations within educational institutions. It provides a
comprehensive set of features to streamline inventory management processes, ensuring
accurate tracking of product quantities, prices, and stock levels.

Features:
 Add Product: Enables users to add new products to the inventory, including specifying
product name, quantity, and price.
 View Products: Allows users to view the list of all products in the inventory, along with
their respective quantities and prices.

 Search Product: Facilitates searching for specific products by name, providing quick access
to product details.

 Update Quantity: Enables users to update the quantity of existing products in the inventory.

 Update Price: Allows users to update the price of existing products in the inventory.

 Delete Product: Provides functionality to delete products from the inventory, removing them
from the system.

 Display Inventory Value: Calculates and displays the total value of the inventory based on
product quantities and prices.

 Display Low Stock Products: Identifies and displays products with low stock levels,
enabling proactive management of inventory replenishment.

 Sort Products: Allows users to sort products by name or quantity, facilitating better
organization and management of the inventory.

 Exit: Provides an option to exit the software, ending the inventory management session.

Inventory Management Software 2


Implementation:
● The software is implemented in C programming language, utilizing arrays to store
product information such as names, quantities, and prices.

● A menu-driven approach is adopted to provide users with a user-friendly interface for


interacting with the software.

● Input validation is implemented to ensure the integrity of user inputs and prevent errors
during data entry.

● Sorting algorithms such as bubble sort and selection sort are utilized for sorting products
by name or quantity.

● The software employs modular design principles, with each feature encapsulated within
its own function for better code organization and readability.

Limitations and Future Improvements:


The software's fixed capacity and basic error handling pose limitations. Improvements like
dynamic memory management, enhanced error handling, and support for multi-user
access can enhance scalability and robustness. Further advancements in reporting
capabilities, GUI development, database integration, barcode scanning, and export/import
functionality would improve usability, data management, and efficiency.

Inventory Management Software 3


Here is The Code of The Software
#include <stdio.h>
#include <string.h>

#define MAX_PRODUCTS 100


#define MAX_NAME_LENGTH 50

int num_products = 0;

// Arrays to store product information


char product_names[MAX_PRODUCTS][MAX_NAME_LENGTH];
int product_quantities[MAX_PRODUCTS];
float product_prices[MAX_PRODUCTS];

int main()
{
int choice;
do
{
printf("\nInventory Management System Menu:\n");
printf("1. Add Product\n");
printf("2. View Products\n");
printf("3. Search Product\n");
printf("4. Update Quantity\n");
printf("5. Update Price\n");
printf("6. Delete Product\n");
printf("7. Display Inventory Value\n");
printf("8. Display Low Stock Products\n");
printf("9. Sort Products\n");
printf("10. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);

switch (choice)
{
case 1:
{
printf("\n+--------------------------------+\n");
if (num_products >= MAX_PRODUCTS)
{
printf("Maximum number of products reached.\n");
break;
}

Inventory Management Software 4


printf("Enter product name: ");
scanf(" %[^\n]", product_names[num_products]);

printf("Enter product quantity: ");


scanf("%d", &product_quantities[num_products]);

printf("Enter product price: ");


scanf("%f", &product_prices[num_products]);

num_products++;
printf("Product added successfully.\n");
printf("\n+--------------------------------+\n");
break;
}
case 2:
{
printf("\n+--------------------------------+\n");
printf("\nProducts:\n");
printf("Name\t\tQuantity\tPrice\n");
for (int i = 0; i < num_products; i++)
{
printf("%s\t\t%d\t\t%.2f\n", product_names[i], product_quantities[i], product_prices[i]);
}
printf("\n+--------------------------------+\n");
break;
}
case 3:
{
printf("\n+--------------------------------+\n");
char search_name[MAX_NAME_LENGTH];
printf("\nEnter product name to search: ");
scanf(" %[^\n]", search_name);

int found = 0;
printf("Search Results:\n");
for (int i = 0; i < num_products; i++)
{
if (strcmp(search_name, product_names[i]) == 0)
{
printf("Name: %s, Quantity: %d, Price: %.2f\n", product_names[i],
product_quantities[i], product_prices[i]);
found = 1;
}

Inventory Management Software 5


}
if (!found)
{
printf("Product not found.\n");
}
printf("\n+--------------------------------+\n");
break;
}
case 4:
{
printf("\n+--------------------------------+\n");
printf("\nUpdate Quantity:\n");
printf("Enter product index to update quantity (1-%d): ", num_products);
int index;
scanf("%d", &index);
if (index < 1 || index > num_products)
{
printf("Invalid product index.\n");
break;
}

printf("Enter new quantity for %s: ", product_names[index - 1]);


scanf("%d", &product_quantities[index - 1]);
printf("Quantity updated successfully.\n");
printf("\n+--------------------------------+\n");
break;
}
case 5:
{
printf("\n+--------------------------------+\n");
printf("\nUpdate Price:\n");
printf("Enter product index to update price (1-%d): ", num_products);
int index;
scanf("%d", &index);
if (index < 1 || index > num_products)
{
printf("Invalid product index.\n");
break;
}

printf("Enter new price for %s: ", product_names[index - 1]);


scanf("%f", &product_prices[index - 1]);
printf("Price updated successfully.\n");
printf("\n+--------------------------------+\n");

Inventory Management Software 6


break;
}
case 6:
{
printf("\n+--------------------------------+\n");
printf("\nDelete Product:\n");
printf("Enter product index to delete (1-%d): ", num_products);
int index;
scanf("%d", &index);
if (index < 1 || index > num_products)
{
printf("Invalid product index.\n");
break;
}

for (int i = index - 1; i < num_products - 1; i++)


{
strcpy(product_names[i], product_names[i + 1]);
product_quantities[i] = product_quantities[i + 1];
product_prices[i] = product_prices[i + 1];
}
num_products--;
printf("Product deleted successfully.\n");
printf("\n+--------------------------------+\n");
break;
}
case 7:
{
float total_value = 0;
for (int i = 0; i < num_products; i++)
{
total_value += product_prices[i] * product_quantities[i];
}
printf("\n+--------------------------------+\n");
printf("\nTotal Inventory Value: %.2f\n", total_value);
printf("\n+--------------------------------+\n");
break;
}
case 8:
{
printf("\n+--------------------------------+\n");
printf("\nLow Stock Products:\n");
printf("Name\t\tQuantity\n");
for (int i = 0; i < num_products; i++)

Inventory Management Software 7


{
if (product_quantities[i] < 5)
{
printf("%s\t\t%d\n", product_names[i], product_quantities[i]);
}
}
printf("\n+--------------------------------+\n");
break;
}
case 9:
{
printf("\n+--------------------------------+\n");
int sort_choice;
printf("\nSort Products by:\n");
printf("1. Name\n");
printf("2. Quantity\n");
printf("Enter your choice: ");
scanf("%d", &sort_choice);

switch (sort_choice)
{
case 1:
{
// Sort products by name (using bubble sort for simplicity)
for (int i = 0; i < num_products - 1; i++)
{
for (int j = 0; j < num_products - i - 1; j++)
{
if (strcmp(product_names[j], product_names[j + 1]) > 0)
{
// Swap names
char temp_name[MAX_NAME_LENGTH];
strcpy(temp_name, product_names[j]);
strcpy(product_names[j], product_names[j + 1]);
strcpy(product_names[j + 1], temp_name);

// Swap quantities
int temp_quantity = product_quantities[j];
product_quantities[j] = product_quantities[j + 1];
product_quantities[j + 1] = temp_quantity;

// Swap prices
float temp_price = product_prices[j];
product_prices[j] = product_prices[j + 1];

Inventory Management Software 8


product_prices[j + 1] = temp_price;
}
}
}
printf("Products sorted by name.\n");
break;
}
case 2:
{
// Sort products by quantity (using selection sort for simplicity)
for (int i = 0; i < num_products - 1; i++)
{
int min_index = i;
for (int j = i + 1; j < num_products; j++)
{
if (product_quantities[j] < product_quantities[min_index])
{
min_index = j;
}
}
// Swap names
char temp_name[MAX_NAME_LENGTH];
strcpy(temp_name, product_names[i]);
strcpy(product_names[i], product_names[min_index]);
strcpy(product_names[min_index], temp_name);

// Swap quantities
int temp_quantity = product_quantities[i];
product_quantities[i] = product_quantities[min_index];
product_quantities[min_index] = temp_quantity;

// Swap prices
float temp_price = product_prices[i];
product_prices[i] = product_prices[min_index];
product_prices[min_index] = temp_price;
}
printf("Products sorted by quantity.\n");
break;
}
default:
{
printf("Invalid choice.\n");
break;
}

Inventory Management Software 9


}
printf("\n+--------------------------------+\n");
break;
}
case 10:
{
printf("\n+--------------------------------+\n");
printf("Exiting...\n");
printf("\n+--------------------------------+\n");
break;
}
default:
{
printf("\n+--------------------------------+\n");
printf("Invalid choice. Please try again.\n");
printf("\n+--------------------------------+\n");
break;
}
}
} while (choice != 10);

return 0;
}

Inventory Management Software 10


Images

Inventory Management Software 11

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy