CS/CE 1337 – PROJECT 2 Inventory Database




5/5 - (2 votes)

Problem: You will be implementing a flat-file database system to track inventory for a store. Your
program should allow the user to complete the following tasks:
 Add record to the database
 Search for a record and display it
 Edit a record
 Delete a record
 Display inventory report
The user should select the task to perform via a menu. The menu should also contain an option for the
user to quit. The program should allow the user to continue performing database tasks until the option
to quit is selected.
Database Format: Each record is separated with a blank line and contains the following information on
separate lines:
 Item ID (string)
 Item Description (string – could be more than one word)
 Quantity on Hand (integer)
 Wholesale Cost (floating point, no $)
 Retail Cost (floating point, no $)
Add Record: Each record should be added to the end of the file.
Search a record: User will enter an ID or a keyword. Search through the file to find the item and display
the complete record to the user.
Edit a record: User will enter an ID. The program should display a menu for the user to select which part
of the record to edit. The only thing that can’t be edited is the ID. Once the user has made a selection,
ask for the appropriate piece of information. The program should update the file and confirm the
change by displaying the new record on the screen.
(HINT: In editing the file, you will need to copy the file a line at a time to a temp file, writing the new
information in the appropriate place at the appropriate time during the process. Delete (C++ function
remove) the old file and rename (C++ function rename) the temp file to the proper filename.)
Delete a record: User will enter an ID. The program should delete the record from the file. Follow a
similar method as described above to edit a record.
Display Inventory Report: Display a report that gives the total wholesale value and the total retail value
of all items in the inventory as well as the total quantity of all items.
Input: You may assume that all input will be of the proper data type. The prices for each item must not
be more than $100. The retail price cannot be more than a 75% markup of the wholesale price. For
example, if the wholesale price is $10, the retail price cannot be more than $17.50 (nor less than $10)
Output: All prices should be rounded to 2 decimal places (even for whole dollar amounts). The file
containing the records should be named “inventory.dat”
Functions: Your program should contain functions to do each main task. There should be minimal code
in the main function other than function calls. Do not chain your functions together (one function calls
the next function which calls the next function, etc.)
You will need to use the rename and remove functions for this assignment. Both of these functions are
located in stdio.h.
In Visual Studio, you must convert the string holding the filename to a C-string in order for the functions
to work (stringvar.c_str()).