如何用C++顺序表写一个乐库管理系统他
时间: 2023-08-12 07:03:30 浏览: 95
如何在C++中建立一个顺序表
5星 · 资源好评率100%
首先,需要定义乐库的数据结构,可以使用顺序表来实现,其中每个节点包含音乐的名称、歌手、时长等信息。可以使用结构体来定义每个节点,如下:
```c++
struct Music {
string name; // 音乐名称
string artist; // 歌手
int duration; // 时长,单位为秒
};
```
然后,需要实现以下功能:
1. 添加音乐
2. 删除音乐
3. 查找音乐
4. 修改音乐信息
5. 显示所有音乐
可以使用以下函数来实现这些功能:
```c++
// 定义一个顺序表类
class MusicList {
public:
// 添加音乐
void addMusic(string name, string artist, int duration);
// 删除音乐
void deleteMusic(string name);
// 查找音乐
void findMusic(string name);
// 修改音乐信息
void modifyMusic(string name, string artist, int duration);
// 显示所有音乐
void showAllMusic();
private:
// 音乐列表
vector<Music> musicList;
};
// 添加音乐
void MusicList::addMusic(string name, string artist, int duration) {
Music music;
music.name = name;
music.artist = artist;
music.duration = duration;
musicList.push_back(music);
}
// 删除音乐
void MusicList::deleteMusic(string name) {
for (int i = 0; i < musicList.size(); i++) {
if (musicList[i].name == name) {
musicList.erase(musicList.begin() + i);
break;
}
}
}
// 查找音乐
void MusicList::findMusic(string name) {
for (int i = 0; i < musicList.size(); i++) {
if (musicList[i].name == name) {
cout << "音乐名称:" << musicList[i].name << endl;
cout << "歌手:" << musicList[i].artist << endl;
cout << "时长:" << musicList[i].duration << endl;
break;
}
}
}
// 修改音乐信息
void MusicList::modifyMusic(string name, string artist, int duration) {
for (int i = 0; i < musicList.size(); i++) {
if (musicList[i].name == name) {
musicList[i].artist = artist;
musicList[i].duration = duration;
break;
}
}
}
// 显示所有音乐
void MusicList::showAllMusic() {
for (int i = 0; i < musicList.size(); i++) {
cout << "音乐名称:" << musicList[i].name << endl;
cout << "歌手:" << musicList[i].artist << endl;
cout << "时长:" << musicList[i].duration << endl;
}
}
```
以上是一个简单的乐库管理系统的实现。可以根据实际需求进行扩展和完善。
阅读全文