C++ PLEASE HELP... I ALREADY HAVE CODE WRITTEN BUT IM NOT GETTING THE CORRECT OUPUT!!!
Write code to read a list of song durations and song names from input. For each line of input, set the duration and name of newSong. Then add newSong to playlist. Input first receives a song duration, then the name of that song (which you can assume is only one word long). Input example: 424 Time
383 Money
-1
"The issue is I keep getting two spaces after '_' instead of just one."
HINTS:
"songDuration is assigned with the first song's duration before the while loop. The while loop checks if songDuration is greater than or equal to zero. If so, the while loop is entered.
The following operations are repeated in the while loop:
songName is assigned with the song's name.
Then, newSong.SetDurationAndName() sets newSong's duration and name data members.
push_back() appends newSong to playlist.
songDuration is assigned with the next song's duration.
The while loop continues to add songs to playlist until songDuration is assigned with a value less than zero."
#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;
};
int main() {
vector playlist;
Song newSong;
int songDuration;
string songName;
unsigned int i;
cin >> songDuration;
while (songDuration >= 0) {
//code goes here
getline(cin, songName);
newSong.SetDurationAndName(songDuration, songName);
playlist.push_back(newSong);
//code ends
cin >> songDuration;
}
for (i = 0; i < playlist.size(); ++i) {
newSong = playlist.at(i);
newSong.PrintSong();
}
return 0;
}
MY OUTPUT:
163 - Breathe
413 - Time
383 - Money
123 - Eclipse
OUTPUT:
163 - Breathe
413 - Time
383 - Money
123 - Eclipse
PLEASE HELP- thank you