Question: For this assignment, you will use information from a municipal government data feed that contains bids submitted for property auctions. All materials for this lab

For this assignment, you will use information from a municipal government data feed that contains bids submitted for property auctions. All materials for this lab assignment can be found in the Supporting Materials section below. The data set is provided in two CSV files:
eBid_Monthly_Sales.csv (larger set of 12,023 bids)
eBid_Monthly_Sales_Dec_2016.csv (smaller set of 76 bids)
In this assignment, you will explore hash tables. You will implement a hash table to hold a collection of bids loaded from a CSV file. You will be given a starter console program that uses a menu to enable testing of the hash table logic you will complete. The console program also allows you to pass in the path to the bids CSV file to be loaded, enabling you to try both files. In this version, the following menu is presented when the program is run:
Menu:
Load Bids
Display All Bids
Find Bid
Remove Bid
Exit
Enter choice:
The HashTable.cpp program is partially completed. The program contains empty methods representing the programming interface used to interact with a hash table. You must add logic to the methods to implement the necessary behavior. Here is the public API for HashTable.cpp that you must complete:
public:
HashTable();
virtual ~HashTable();
Hash;
void Insert(Bid bid);
void PrintAll();
void Remove(string bidId);
Bid Search(string bidId);
Directions
You must perform the following steps to complete this activity:
Setup: Begin by creating a new C++ project with the project type Hello World C++ Project. For help setting up your project in Visual Studio C++, refer to the Apporto Visual Studio Setup Instructions and Tips in the Module One Resources section. Name the project HashTable.
Task 1: Task 1 has already been done for you. Hint: You may be able to reuse portions of your code from previous assignments to save you time. Look for places where you have implemented similar functions to perform these tasks and take advantage of existing codes reusability whenever possible. You may have to modify the code slightly for each assignment, especially when working with vectors for storage or a node structure for a linked list. Reusing code from these labs may save you time.
Task 2: Initialize the structures used to hold bids.
Task 3: Implement code to free storage when a class is destroyed.
Task 4: Implement code to calculate a hash value using the bid ID as the source for calculating the key.
Task 5: Implement code to insert a bid. Be sure to check for key collisions and use the chaining technique with a linked list to store the additional bids.
Task 6: Implement code to print all bids.
Task 7: Implement code to remove a bid.
Task 8: Implement code to search for and return a bid.
Here is sample output from running the completed program:
>./HashTable ~/Downloads/eBid_Monthly_Sales_Dec_2016.csv
> HashTable.exe Downloads\eBid_Monthly_Sales_Dec_2016.csv

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!