Question: Please help me solve this, Write Album's PrintSongsShorterThan() member function to print all the songs from the album whose duration is shorter than the value

Please help me solve this,

"Write Album's PrintSongsShorterThan() member function to print all the songs from the album whose duration is shorter than the value of the parameter songDuration. Use Song's PrintSong() member function to print a song."

#include #include #include using namespace std;

class Song { public: void SetDurationAndName(int songDuration, string songName) { duration = songDuration; name = songName; } void PrintSong() const { cout << duration << " - " << name << endl; } int GetDuration() const { return duration; } string GetName() const { return name; }

private: int duration; string name; };

class Album { public: void SetName(string albumName) { name = albumName; } void InputSongs(); void PrintName() const { cout << name << endl; } void PrintSongsShorterThan(int songDuration) const;

private: string name; vector albumSongs; };

void Album::InputSongs() { Song currSong; int currDuration; string currName;

cin >> currDuration; while (currDuration >= 0) { getline(cin, currName); currSong.SetDurationAndName(currDuration, currName); albumSongs.push_back(currSong); cin >> currDuration; } }

void Album::PrintSongsShorterThan(int songDuration) const { unsigned int i; Song currSong;

cout << "Songs shorter than " << songDuration << " seconds:" << endl;

/* Your code goes here */

}

int main() { Album musicAlbum; string albumName;

getline(cin, albumName); musicAlbum.SetName(albumName); musicAlbum.InputSongs(); musicAlbum.PrintName(); musicAlbum.PrintSongsShorterThan(180);

return 0; }

#include #include #include using namespace std;

class Song { public: void SetDurationAndName(int songDuration, string songName) { duration = songDuration; name = songName; } void PrintSong() const { cout << duration << " - " << name << endl; } int GetDuration() const { return duration; } string GetName() const { return name; }

private: int duration; string name; };

class Album { public: void SetName(string albumName) { name = albumName; } void InputSongs(); void PrintName() const { cout << name << endl; } void PrintSongsShorterThan(int songDuration) const;

private: string name; vector albumSongs; };

void Album::InputSongs() { Song currSong; int currDuration; string currName;

cin >> currDuration; while (currDuration >= 0) { getline(cin, currName); currSong.SetDurationAndName(currDuration, currName); albumSongs.push_back(currSong); cin >> currDuration; } }

void Album::PrintSongsShorterThan(int songDuration) const { unsigned int i; Song currSong;

cout << "Songs shorter than " << songDuration << " seconds:" << endl;

for (i = 0; i < albumSongs.size(); ++i) { if (albumSongs[i].GetDuration() > songDuration) { albumSongs[i].PrintSong(); } }/* Your code goes here */

}

int main() { Album musicAlbum; string albumName;

getline(cin, albumName); musicAlbum.SetName(albumName); musicAlbum.InputSongs(); musicAlbum.PrintName(); musicAlbum.PrintSongsShorterThan(180);

return 0; }

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 Databases Questions!