21xrx.com
2024-12-27 20:56:03 Friday
登录
文章检索 我的文章 写文章
C++个人音乐库管理系统程序设计
2023-06-24 05:35:48 深夜i     --     --
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;

}

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复