Shemrock Inc. is a brake pad manufacturing company. This company uses raw materials, such as carbon powder, iron, ash, and resin. It wants to develop an inventory management system that will have the following features:

1.The system should store the current inventory levels for different raw materials in a file.

2.If carbon powder is less than 500 lbs, then the system will check if orders are still pending on the shop floor. If pending orders are for more than 5,000 brake pads, then someone should order 2,000 lbs of carbon powder; otherwise, someone should order for 1,000 lbs of carbon powder.

3.Similarly, perform the same check for other raw materials iron, ash, and resin.

4.The list of all the raw-material vendors is available with Shemrock Inc. The system should read and store the vendor information and then, depending upon the raw material that is to be ordered, print out the purchase order for that raw material. The purchase order will contain the details of the raw material such as the name, quantity, total cost, and vendor address.
Create a flowchart and pseudocode using control breaks that enable the user to print invoices for any raw material that is selected.

To create a flowchart and pseudocode for the given inventory management system, follow these steps:

1. Define the variables and data structures needed:
- inventoryLevels: a file or database to store the current inventory levels for different raw materials
- carbonPowder, iron, ash, resin: current inventory levels for each raw material
- pendingBrakePadOrders: the number of pending brake pad orders on the shop floor
- carbonPowderVendor, ironVendor, ashVendor, resinVendor: list of vendors for each raw material

2. Read and store the current inventory levels for each raw material into the appropriate variables from the inventoryLevels file.

3. Check if carbonPowder is less than 500 lbs:
- If true, check if pendingBrakePadOrders are more than 5,000 brake pads:
- If true, order 2,000 lbs of carbon powder.
- If false, order 1,000 lbs of carbon powder.

4. Perform the same check for iron, ash, and resin:
- If the inventory level is below a specified threshold, determine the order quantity based on pendingBrakePadOrders.

5. Read and store the vendor information for each raw material from the vendor list.

6. Print the purchase order for the selected raw material:
- Retrieve the details of the raw material, such as name, quantity, total cost, and vendor address from variables and data structures.
- Format the purchase order and print it.

Here is the pseudocode using control breaks that enables the user to print invoices for any selected raw material:

```
Read inventoryLevels from file
Read vendor information from vendor list

IF carbonPowder < 500 THEN
IF pendingBrakePadOrders > 5000 THEN
orderQuantity = 2000
ELSE
orderQuantity = 1000
END IF
Print purchase order for carbon powder
END IF

IF iron < 500 THEN
IF pendingBrakePadOrders > 5000 THEN
orderQuantity = 2000
ELSE
orderQuantity = 1000
END IF
Print purchase order for iron
END IF

IF ash < 500 THEN
IF pendingBrakePadOrders > 5000 THEN
orderQuantity = 2000
ELSE
orderQuantity = 1000
END IF
Print purchase order for ash
END IF

IF resin < 500 THEN
IF pendingBrakePadOrders > 5000 THEN
orderQuantity = 2000
ELSE
orderQuantity = 1000
END IF
Print purchase order for resin
END IF
```

This pseudocode assumes that you will define functions or procedures to handle the logic of ordering and printing purchase orders for each raw material separately. Additionally, you will need to determine the exact condition for calculating the quantity to order based on pendingBrakePadOrders and adjust the pseudocode accordingly.