Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

0 2 - Graded Participation Your participation score for this module is based on posting an answer to the practice question below to this discussion

02- Graded Participation
Your participation score for this module is based on posting an answer to the practice question below to this discussion board. Review the
information on the Graded Participation Information for more details and the Discussion Board Tips for details on using Canvas discussion boards.
Make sure to read the posting code to Canvas guide to make your answer look nice on the discussion board!
Resist the temptation to just type in an answer. Make sure to try out your answer on hills! You can expect to spend an hour or more coming up with
an answer to the practice question. Note: this week there is only one practice question, in most other weeks, there will be 2 or 3.
Question
Implement the generic Box class discussed in the videos/pdfs. Copying and pasting from the slide is fine.
Implement the findBox function discussed in the videos/pdfs. Instead of an array of Boxes containing strings, i.e. BoxFor this assignment, I've started an array-based list implementation to track songs in a playlist. Download the
code TrackSongs.cpp given in the module and familiarize yourself with it. Don't forget that list ADT's start at
position 1, but the underlying array used in this class starts at position 0 like any C++ array.
Once you're comfortable with the code, you have four tasks:
Replace item at position pos in the list with the new parameter item. Throw the invalid_argument exception if
pos 1 or pos > getLength().
Remove the item at position pos. You need to update the state of the list, that is, shift items after pos over one
to get rid of the gap left by the removed item and update numltems. If the remove operation is successful,
return true. If it was not successful, for example because pos is out of range, return false.
bool insert(int pos, const ItemType& item)
Also, improve the insert() function. Currently, if you try to add an item to a full list, insert() returns false and does
not add the item. Improve this so that it dynamically allocates more memory to the list to make room for the
new item using the new operator. You can add another CHUNK_SIZE amount of memory, or any other amount
of memory you think makes sense. Don't forget to deallocate any existing memory, e.g. using delete [].
int main()
Now demonstrate that your functions work in main() by removing songs from the list and changing songs in the
list. You may make modifications to the user interface to let the user do this on the fly, or just hard code a few
removals/changes in main(). Make sure to demonstrate your exception handling for setEntry(). For the improved
insert() function, make sure you demonstrate that the new functionality works, e.g. by changing CHUNK_SIZE to
a low number like 2 and inserting more than 2 songs into the list.
Submission
Submit your updated C++ file with the new functions, the modified insert() function, the modified main()
function, and sufficient sample output demonstrating all the new functionality in one plain text .cpp file.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Concepts of Database Management

Authors: Philip J. Pratt, Mary Z. Last

8th edition

1285427106, 978-1285427102

More Books

Students also viewed these Databases questions