Homework 1 - Dynamic Arrays of Structures
Due: Wednesday, January 18, 2012 at 5:30pm
Coding Conventions
The following coding conventions should be used for all assignments.
Assignment
The purpose of this assignment is to create a structure called ProductInfo
for a small inventory control system. You will also be using a dynamic array
to track the collection of products in the inventory. You MUST use a dynamic
array for this assignment. Any assignment that does not use new/delete will
have points deducted.
The ProductInfo structure must have the following pieces of data:
- A C-style string for the product name (you may choose the length for this string)
- A C-style string for the product description (you may choose the length for this string)
- A 13 character C-style string for the UPC (Universal Product Code)
- An integer for how many of that product are in stock
You will have the following two void functions to manipulate ProductInfo objects:
- addProduct - Takes a single ProductInfo object as a parameter. It will set
the name, description, UPC and amount in stock for that product by prompting
the user for this information.
- showProduct - Takes a single ProductInfo object as a parameter. It will
display the name, description, UPC and amount in stock for that product.
The ProductInfo parameters for these two functions may be either a pointer
or a reference parameter. Choose which style you prefer.
Your main function will have an infinite loop (similar to Lab 1) which will do
the following steps:
- Prompt the user for the number of products they wish to add to the
inventory and read the response in.
- If the user enters 0, exit the loop.
- Validate that the integer given by the user is greater than 0 by continuing
to the next iteration if the user enters a negative number. Points will
be deducted if you do not validate the user's input.
- Dynamically allocate an array of ProductInfo objects using the integer
given by the user. Continue to the next iteration of the loop if the
allocation fails. Points will be deducted if you do not continue to the
next iteration when allocation fails. You may use a modified
allocateArray() function from Lab 1 for this step.
- For each object in the ProductInfo array, call addProduct.
- For each object in the ProductInfo array, call showProduct.
- Deallocate the array. Points will be deducted if you do not deallocate
the array as this will be a memory leak.
- Continue to the next iteration of the loop.
Email your source code to me by the due date.