Write song playlist class-object-oriented design principles

Assignment Help C/C++ Programming
Reference no: EM1355111

Q1) Write a song playlist class in C++ called "PlayList" using object-oriented design principles. The playlist should support the following ADT.

bool insert(string songtitle);
bool remove(string songtitle);
size_t size() const;
string get_next();
string get_rand();

The implementation should be based on an array of strings to store the song titles. The capacity should be 1024 entries. Duplicate song titles are not allowed. The constructor has to initialize the playlist to an empty list. The insert method adds a new song title to the list and returns true, but only if the song does not already exist and the playlist is not full. If it already exists or the list is full, the method returns false and does not add a second copy. Similarly, remove deletes the song from the play list if it exists and returns true. If the song title is not in the play lists, remove returns false. The size method returns the number of (distinct) songs currently in the playlist. The get_next member function returns null if the list is empty. Otherwise, it returns one song after another in the order in which they were inserted, one per invocation. Once at the end of the list, it wraps around and returns the first song again. The get_rand method returns a random song from the list or null if the list is empty. Calls to get_rand affect what song a subsequent call to get_next will return.

You need to write two files, playlist.cpp and playlist.h. The header file needs to include a concise description of the postcondition of each method (the preconditions are always "true"). The implementation needs to be efficient. For example, insert cannot be slower than O(n) where n is the number of songs in the list. All needed member variables should be private. You should also write (but not submit) a driver to test your class. Make sure to test extreme cases, including empty and full list

Reference no: EM1355111

Questions Cloud

Find the image distance and the magnification : Sherlock Holmes examines a clue by holding his magnifying glass (with a focal length of 15.0 cm) 10.0 cm away from an object. Find the image distance and the magnification. explain the image that he observes.
Organizational characteristics of 100 year old companies : What organizational characteristics do you think might explain 100-year longevity
Illustrate what do the economic indicators suggest : Illustrate what do the economic indicators suggest about the current economy.
Organizational effectiveness and corporations : Organizational effectiveness can be whatever top management defines it to be - Large corporations tend to use hybrid structures. Why?
Write song playlist class-object-oriented design principles : Write a song playlist class in C++ called "PlayList" using object-oriented design principles. The playlist should support the following ADT.The implementation should be based on an array of strings to store the song titles.
Prepare correct bank reconciliation : Prepare a correct bank reconciliation( Hint: Deduct the amount of the theft from the adjusted balance per books).
Explain why do you think it is important to distinguish : Explain Why do you think it is important to distinguish between employee and independent contractor and Which would you prefer?
In what direction does the current flow through the resistor : Does the pivot point (i.e., the triangle in the diagram upon which the ruler balances) exert a force on the ruler? Does it exert a nonzero torque about the pivot.
Accusations of witchcraft : In the past there were many horrors that passed as treatment. And the lobotomies, trepanning (holes in the head) and accusations of witchcraft were all associated with mental illness at one time or another.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Represent an instruction supported by simpletron

Implementation contains a Simpletron class and several supporting Instruction classes

  Structured programming using procedural languages

A a program that is called "Playing with Numbers or Letters".

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Program which asks the user for due date of next assignment

Write a program which asks the user for due date of the next assignment (hours, minutes). Then print number of minutes between the current time and the due date in format.

  Base process which communicate with child processes

Write a program which has a "base process" which communicates with child processes acting as "bombers" that it creates.

  Write a program that will be used to gather statistical data

Write a program that will be used to gather statistical data about the number of movies

  Code to implement a staque

Write a C++ code to implement a Staque. Since the data structure is all about inserting and deleting numbers, it would be a good option to use a linked list to implement Staque.

  Prepare a linear support vector machine svm

Write a computer program to prepare a Linear Support Vector Machine SVM

  Write two short c programs and solve exam-style problem

Write two short C programs and solve four exam-style problems.

  Show the deatils of an emplyoee - c programming

Show the deatils of an emplyoee in a neat format.

  Insert the missing code in the c program

You are to insert the missing code in the C program given for combinational equivalence checking. This program will interface with the CUDD package and will parse netlist files in ISCAS85 circuit format. Next, BDDs will be created for each circuit an..

  Execute tests and repetitions

Read data from standard input and store them in an array, Execute tests and repetitions

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd