#include <iostream>
#include <iomanip>
#include<string>
using namespace std;
class CD
{
public:
CD(string name, string songs[])
{
singer = name;
for (int i = 0; i<6; i++)
{
this->songs[i] = songs[i];
}
}
string getSinger();
string getSong(int index);
void listSongs()
{
cout << "Singer's Name :" << singer << endl;
for (int i = 0; i<6; i++)
{
cout << i + 1 << '.' << songs[i] << endl;
}
}
private:
string singer;
string songs[6];
};
class CDPlayer
{
public:
void showMenu()
{
cout << setfill('*') << setw(24) << "*" << endl;
cout << "*" << "1.播放CD" << setfill(' ') << setw(14) << "*" << endl;
cout << "*" << "2.插入CD" << setfill(' ') << setw(14) << "*" << endl;
cout << "*" << "3.弹出CD" << setfill(' ') << setw(14) << "*" << endl;
cout << "*" << "0.关机" << setfill(' ') << setw(16) << "*" << endl;
cout << setfill('*') << setw(24) << "*" << endl;
}
void insertCD(CD*cd)
{
if (cdIn)
{
cout << "先取出CD";
}
else
{
cout << "插入了周杰伦的CD......" << endl;
this->cd = cd;
cdIn = 1;
}
}
CD*ejectCD()
{
if (cd)
{
cout << "弹出了周杰伦的CD......" << endl;
return cd;
}
else
return NULL;
}
void play()
{
if (!cdIn)
cout << "Please insert CD first" << endl;
else
{
cout << "正在播放周杰伦的CD......" << endl;
cd->listSongs();
}
}
private:
CD*cd;
bool cdIn = 0;
};
int main()
{
string name;
string songs[6];
cout << "制造CD......" << endl;
cout << "Singer'Name:" << endl;
cin >> name;
for (int i = 0; i<6; i++)
{
cout << "song " << (i + 1) << "#:";
cin >> songs[i];
}
CD cd(name, songs);
cd.listSongs();
CDPlayer player;
player.showMenu();
player.play();
player.insertCD(&cd);
player.play();
player.ejectCD();
}