1、 面向对象程序面向对象程序 设计设计 歌曲信息管理系统歌曲信息管理系统 一实验目的:一实验目的: 1、进一步巩固所学程序设计语言(主要是 C、C+)的基本概念和 理论; 2、熟练掌握结构化程序设计和面向对象程序设计的方法和理念; 2、培养实际分析问题、实践动手编程的能力; 3、培养团队协作精神。 二、实验内容:二、实验内容: 本系统是一个歌曲信息管理系统,采用 VC+6.0 编译器作为 开发环境,这个环境是我们在学习 C+的平台。输入数据类型主 要是 char、int、float 等数据类型,输入内容包括:歌曲编号、 歌曲名称、歌唱者、歌曲风格等数据。用户在歌曲信息数据时要 保证输入数据格式的
2、正确性,系统不会自动检测输入的数据是否 正确。输出形式与输入形式类似,根据需要可以选择显示输入的 各项内容,还可以选择显示计算好平均分后并排序后的记录,显 示内容包括:歌曲编号、歌曲名称、歌唱者、歌曲风格等数据。 用户运行程序后进入系统主界面,在主界面用户可以输入所有歌曲 的数据并保存到文件中,也可以读取文件中已有的学生数据。用户 在保存数据的时候,如果保存位置没有文件则自动新建一个文件进 行保存。本系统同时只能对一个数据文件进行相关操作,不能同时 打开多个数据文件,其类似于单用户操作系统。当用户读取学生数 据后可对其进行显示,插入,删除,修改等相关操作。用户在操作 过程中可随时对当前文件进行
3、保存到文件操作,以防止修改的数据 丢失。 三、算法描述三、算法描述 1)主函数 main():调用增加、删除、修改、查找、显示等函 数对歌曲信息进行处理; 2)增加函数 add():输入歌曲信息; 3)修改函数 change():修改指定歌曲信息; 4)查找函数 search():查找指定歌曲信息; 5)删除函数 Del():删除指定歌曲信息; 6)显示函数 show():显示所有歌曲信息; 四、程序结构四、程序结构 主菜单主菜单 增加歌曲 删除歌曲 修改歌曲 查找歌曲 显示歌曲 输入歌曲编号 输入歌曲名称 输入歌曲歌者 输入歌曲风格 按编 号删 除 歌曲编号 修改名称 修改歌者 修改风格 号
4、 名 者 格 歌曲编号 歌曲名称 歌曲歌者 歌曲风格 五、代码五、代码 #include #include #include static int length; using namespace std; /属性类 class Music public: friend class MusicSystem; private: int num; string name,singer,style; ; /功能类 class MusicSystem public: MusicSystem(); MusicSystem(); void add(); void change(); void search(
5、); void del(); void show(); private: Music music; ; MusicSystem:MusicSystem(); /输入信息 void MusicSystem:add() ofstream outfile(“music1.txt“,ios:out); if(!outfile) cerrmusic.num; if(music.num=0)break; coutmusic.name; coutmusic.singer; coutmusic.style; coutmusici.num; infilemusici.name; infilemusici.sin
6、ger; infilemusici.style; infile.close(); ofstream outfile(“music1.txt“,ios:out); if(!outfile) cerrnewnum; coutnewname; coutnewsinger; coutnewstyle; coutmusici.nummusici.namemusici.singermusici .style; infile.close(); while(1) coutch; if(ch=4)break; switch(ch) case 1:while(1) coutmusic100.num; if(music100.num=0)break; for(int i=0;imusic100.name; if(music100.name=“0“)break; for(int i=0;imusic100.singer; for(int i=0;imusici.