You are on page 1of 10

SHAHEED ZULFIKAR ALI BHUTTO INSTITUTE OF SCIENCE AND TECHNOLOGY

COMPUTER SCIENCE DEPARTMENT

Total Marks: ____________

Obtained Marks: ____________

DATA STRUCTURES AND ALGORITHM


Assignment # 01

Submitted to: Miss Sidra Safdar _______________________________ _______

Submitted by: Maaz Saleem

Registration No:

DSA BSAI-3A SZABIST-ISB


Q1: Create a simple inventory management system for a store. In this system, you
will use a 2D array where each row represents a product, and each column contains
information such as the product name, price,quantity in stock, and supplier. The
program should allow you to:

1. Add a new product to the inventory.

2. Display the current inventory.

SOLUTION:
#include <iostream>

using namespace std;

class Node {

public:

string product_name;

float price;

int quantity_in_stock;

string supplier;

Node* next;

Node() {

product_name = "";

price = 0.0;

quantity_in_stock = 0;

supplier = "";

next = nullptr;

DSA BSAI-3A SZABIST-ISB


}

Node(string product_name, float price, int quantity_in_stock, string supplier) {

this->product_name = product_name;

this->price = price;

this->quantity_in_stock = quantity_in_stock;

this->supplier = supplier;

next = nullptr;

};

class Inventory {

public:

Node* head;

Inventory() {

head = nullptr;

void add_product(Node* product) {

if (head == nullptr) {

head = product;

} else {

Node* current_node = head;

DSA BSAI-3A SZABIST-ISB


while (current_node->next != nullptr) {

current_node = current_node->next;

current_node->next = product;

void display_inventory() {

Node* current_node = head;

while (current_node != nullptr) {

cout << "Product Name: " << current_node->product_name << endl;

cout << "Price: " << current_node->price << endl;

cout << "Quantity in Stock: " << current_node->quantity_in_stock << endl;

cout << "Supplier: " << current_node->supplier << endl;

cout << endl;

current_node = current_node->next;

};

int main() {

Inventory inventory;

// Add some products to the inventory

DSA BSAI-3A SZABIST-ISB


Node* product1 = new Node("Apple", 1.00, 10, "Walmart");

Node* product2 = new Node("Banana", 0.50, 5, "Target");

Node* product3 = new Node("Orange", 0.75, 3, "Costco");

inventory.add_product(product1);

inventory.add_product(product2);

inventory.add_product(product3);

// Display the inventory

inventory.display_inventory();

return 0;

OUTPUT:

DSA BSAI-3A SZABIST-ISB


DSA BSAI-3A SZABIST-ISB
Q2: create a simple inventory management system for a store. In this system,
you will use a linklist where each row represents a product, and each column
contains information such as the product name, price,quantity in stock, and
supplier. The program should allow you to:
1. Add a new product to the inventory.
2. Display the current inventory.

SOLUTION:

#include <iostream>

using namespace std;

class Node {
public:
string product_name;
float price;
int quantity_in_stock;
string supplier;
Node* next;

Node() {
product_name = "";
price = 0.0;
quantity_in_stock = 0;
supplier = "";
next = nullptr;
}

Node(string product_name, float price, int quantity_in_stock, string supplier) {


this->product_name = product_name;

DSA BSAI-3A SZABIST-ISB


this->price = price;
this->quantity_in_stock = quantity_in_stock;
this->supplier = supplier;
next = nullptr;
}
};

class Inventory {
public:
Node* head;

Inventory() {
head = nullptr;
}

void add_product(Node* product) {


if (head == nullptr) {
head = product;
} else {
Node* current_node = head;
while (current_node->next != nullptr) {
current_node = current_node->next;
}
current_node->next = product;
}
}

void display_inventory() {
Node* current_node = head;
while (current_node != nullptr) {
cout << "Product Name: " << current_node->product_name << endl;

DSA BSAI-3A SZABIST-ISB


cout << "Price: " << current_node->price << endl;
cout << "Quantity in Stock: " << current_node->quantity_in_stock << endl;
cout << "Supplier: " << current_node->supplier << endl;
cout << endl;
current_node = current_node->next;
}
}
};

int main() {
Inventory inventory;

// Add some products to the inventory


Node* product1 = new Node("Apple", 1.00, 10, "Walmart");
Node* product2 = new Node("Banana", 0.50, 5, "Target");
Node* product3 = new Node("Orange", 0.75, 3, "Costco");

inventory.add_product(product1);
inventory.add_product(product2);
inventory.add_product(product3);

// Display the inventory


inventory.display_inventory();

return 0;
}

OUTPUT:

DSA BSAI-3A SZABIST-ISB


DSA BSAI-3A SZABIST-ISB

You might also like