21xrx.com
2025-03-26 05:23:12 Wednesday
文章检索 我的文章 写文章
C++个人音乐库管理系统程序设计
2023-06-24 05:35:48 深夜i     32     0
C++ 音乐库管理 个人 程序设计 系统

随着科技的发展,我们生活中的音乐越来越多地依托于电子设备来储存和播放。但是,随着音乐的数量逐渐增多,如何进行管理却成了一个问题。针对这个问题,笔者设计了一款C++个人音乐库管理系统。

首先,我们需要设想这个系统的功能:储存音乐的基本信息(如歌曲名、歌手、所属专辑、时长等等),并能通过检索快速查找某一首歌曲的详细信息。其次,在管理上,可以实现对音乐文件的增加、删除、修改和播放,还能按歌手、专辑等分类。

接下来,我们开始设计。

我们可以先定义一个结构体`Music`来储存音乐信息:

struct Music
  string name; // 歌曲名
  string singer; // 歌手
  string album; // 专辑
  string duration; // 时长
;

然后,我们可以设计一个容器`vector `来储存所有的音乐信息。容器的选择是因为,随着音乐数量的增多,我们需要对储存空间动态分配,而容器能够在运行时自动地进行内存管理。

vector<Music> music_library;

接下来,我们可以定义一些函数来完成基本的操作,如增加、删除、修改和播放等。

// 增加音乐
void add_music(string name, string singer, string album, string duration) {
  Music new_music = duration;
  music_library.push_back(new_music);
}
// 删除音乐
void delete_music(int index) {
  music_library.erase(music_library.begin() + index);
}
// 修改音乐
void edit_music(int index, string name, string singer, string album, string duration) {
  music_library[index].name = name;
  music_library[index].singer = singer;
  music_library[index].album = album;
  music_library[index].duration = duration;
}
// 播放音乐
void play_music(int index) {
  Music playing_music = music_library[index];
  cout << "Now playing: " << playing_music.name << " - " << playing_music.singer << endl;
}

最后,我们可以将这些函数整合到一个主函数中,并提供用户交互的界面。在主函数中,我们可以使用循环和判断语句来让用户选择需要的操作。

int main() {
  while (true) {
    // 输出菜单
    cout << "Music library management system" << endl;
    cout << "1. Add music" << endl;
    cout << "2. Edit music" << endl;
    cout << "3. Delete music" << endl;
    cout << "4. Play music" << endl;
    cout << "5. Exit" << endl;
    // 获取用户输入
    int choice;
    cout << "Enter a choice: ";
    cin >> choice;
    // 执行相应操作
    switch (choice) {
      case 1:
        // 获取音乐信息
        cout << "Enter music detail:" << endl;
        string name, singer, album, duration;
        cout << "Name: ";
        cin >> name;
        cout << "Singer: ";
        cin >> singer;
        cout << "Album: ";
        cin >> album;
        cout << "Duration: ";
        cin >> duration;
        
        add_music(name, singer, album, duration);
        cout << "Music added successfully!" << endl;
        break;
      case 2:
        // 获取需要修改的音乐索引和音乐信息
        cout << "Enter music index to edit: ";
        int index;
        cin >> index;
        cout << "Enter music detail:" << endl;
        cout << "Name: ";
        cin >> name;
        cout << "Singer: ";
        cin >> singer;
        cout << "Album: ";
        cin >> album;
        cout << "Duration: ";
        cin >> duration;
        
        edit_music(index, name, singer, album, duration);
        cout << "Music edited successfully!" << endl;
        break;
      case 3:
        // 获取需要删除的音乐索引
        cout << "Enter music index to delete: ";
        cin >> index;
        
        delete_music(index);
        cout << "Music deleted successfully!" << endl;
        break;
      case 4:
        // 获取需要播放的音乐索引
        cout << "Enter music index to play: ";
        cin >> index;
        
        play_music(index);
        break;
      case 5:
        // 退出程序
        exit(0);
      default:
        // 处理无效输入
        cout << "Invalid choice!" << endl;
    }
  }
  return 0;
}

至此,我们的个人音乐库管理系统就完成了。通过运行这个程序,用户可以管理自己的音乐库,快速查找和播放自己喜欢的音乐,提升生活的品质。

  
  

评论区

请求出错了