首页 > 编程语言 >C/C++简单音乐播放器系统

C/C++简单音乐播放器系统

时间:2022-10-08 16:35:48浏览次数:86  
标签:播放器 文件 功能 音乐 C++ 歌单 收藏夹

C/C++简单音乐播放器系统

程序设计题 1:简单音乐播放器系统
出题人:吴敏
面向专业:计算机科学与技术
难度等级:4

1 问题描述

编写一个简单音乐播放器软件,实现歌单文件的浏览,点歌,加入收藏夹等功能。歌
单信息用文件存储,并在当前目录夹下面存放着对应的.wav 文件。通过此课题,熟练掌握
文件、数组、指针的各种操作,以及一些基本算法的应用。

2 功能要求

(1)歌单文件是由多条数据记录构成,其信息包括:
歌曲编号 歌名 歌手 专辑 ,例如
01 风吹麦浪 李健 《想念你》
02 小苹果 筷子兄弟 《小苹果(新年 R..》
03 爱我中国 龙梅子/高安/祁隆 《一万个对不起》
。。。。。。
(2)数据保存形式:
系统形成的收藏夹要以文本或二进制文件保存。
(3)需要实现的功能
浏览功能:读取歌单文件,浏览歌曲信息
点歌功能:选择相应的歌名,播放该歌曲,并暂停(播放、停止播放可使用 playSound 和
closeSound 函数,具体使用方法请百度)
管理收藏夹功能:浏览歌单,根据歌单形成收藏夹文件,并能对文件进行增删修改查
功能
(4)界面功能要求:

  1. 采用友好的字符界面,实现一个功能控制菜单。
  2. 每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操作。
    选做要求:
    (1)数据完整性保证。例如:歌单编号不得重复。
    (2)可以形成歌曲的上一首,下一首播放以及循环播放功能。具体请学生自己构思、
    设计。

3 其他要求

(1)界面美观,交互方便。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返
回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
(5)如有可能,可使用 MFC 等开发工具,实现彩色或图形操作界面。

4 开发环境

可以选择 TC2.0、TC3.0、VC++6.0 等开发环境,或者与老师讨论,选择自己熟悉的开
发工具与平台。
*程序设计方法
(1)设计合适的数据结构(如结构数组、链表、对象数组等实现)。
(2)选择文件存储格式(文本或二进制)和文件名。
(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。设计主程序
的流程图和界面。
(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。
(5)根据设计结果分步开发实现各模块,最后进行总体集成。

源码传送门

传送门:https://pan.baidu.com/s/1Ezz33q5soaQDdkv7Z3bx4A?pwd=1111

标签:播放器,文件,功能,音乐,C++,歌单,收藏夹
From: https://www.cnblogs.com/codewriter/p/16769350.html

相关文章

  • C++需要注意的知识
    类1、2、3、4原文链接:https://blog.csdn.net/fjhugjkdsd/article/details/1052816511.什么是类的6个默认成员函数?如果一个类中什么成员都没有,简称为空类。任何一个类在......
  • C++判断文件是否存在的方法汇总
    C++判断文件是否存在的方法汇总1.使用boost判断文件是否存在std::stringfile_path="file_name";if(!boost::filesystem::exists(file_path)){std::cout<<......
  • 为python编译C++模块时一定要注意的事情—————不要在anaconda环境下使用cmake来编
    平时搞python的人很多都会有安装C++扩展模块的需求,而往往这些C++模块都是使用CMAKE做编译配置的,但是如果你这时候shell环境是使用anaconda的话,那么cmake默认调用的GCC和G++......
  • C++11特性(上)
    写在前面今天我们谈谈C++的一些语法,这些语法是C++11标准下新增的.有的人感觉学C++很难,那么C++11标准出来之后你会发现学习的成本又增加了.C++11增添了很多特性,有有用的,......
  • C++ 右值引用与 const 关键字
    C++11新增了另一种引用:右值引用(rvaluereference),这种引用可指向右值,是使用&&声明的。使用右值引用可以减少复制操作,延长临时对象生命周期,提升程序性能。它一般被用来实......
  • C++ write file hugely
    //ConsoleApplication1.cpp:Thisfilecontainsthe'main'function.Programexecutionbeginsandendsthere.//#pragmaonce#pragmacomment(lib,"rpcrt4.lib"......
  • C++新特性(待完善)
    C++11的特性:1.auto 类型推导:auto关键字:自动类型推导,编译器会在编译期间通过初始值或者函数返回值推导出变量的类型,通过auto定义的变量必须有初始值。auto关键字基......
  • Effective C++ - 条款11 - operator=处理自我赋值问题
    出现问题的场景:例如a[i]=a[j]当i=j时,或者*pb=*pa当pa和pb指向同一个对象时。终极解决方案:copy-and-swap技术。copy-and-swap实现:1)创建rhs的副本2)将*this对象和副本......
  • Visual Studio Code设置自己的C++代码风格
    VisualStudioCode使用Microsoft出品的C/C++插件,借助ClangFormat工具进行代码格式化。在设置(settings.json)中,可以自行修改代码格式化的样式,如:{"C_Cpp.clang_format_f......
  • C++模板类-数组
    /*Container.h所有容器的基类/*MemoryObject内存申请基类我使用TBB申请内存*/template<typenameT> classContainer:publicMemoryObject { protected: T*C......