




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档安阳师范学院课程实践报告基于C+的歌曲信息管理系统课 程:面向对象程序设计 学院名称:物理与电气工程学院专业名称:电气工程及其自动化班 级:11自动化1班 学生姓名:张 * 学 号:* 一、实践目的1、进一步巩固所学程序设计语言(主要是C、C+)的基本概念和理论;2、熟练掌握结构化程序设计和面向对象程序设计的方法和理念;2、培养实际分析问题、实践动手编程的能力;3、培养团队协作精神。二、实践内容本系统是一个歌曲信息管理系统,采用VC+6.0 编译器作为开发环境,这个环境是我们在学习C+的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:歌曲编号、歌曲名称、歌唱者、歌曲风格等数据。用户在歌曲信息数据时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确。输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分后并排序后的记录,显示内容包括:歌曲编号、歌曲名称、歌唱者、歌曲风格等数据。用户运行程序后进入系统主界面,在主界面用户可以输入所有歌曲的数据并保存到文件中,也可以读取文件中已有的学生数据。用户在保存数据的时候,如果保存位置没有文件则自动新建一个文件进行保存。本系统同时只能对一个数据文件进行相关操作,不能同时打开多个数据文件,其类似于单用户操作系统。当用户读取学生数据后可对其进行显示,插入,删除,修改等相关操作。用户在操作过程中可随时对当前文件进行保存到文件操作,以防止修改的数据丢失。三、算法描述1)主函数main():调用增加、删除、修改、查找、显示等函数对歌曲信息进行处理;2)增加函数add():输入歌曲信息;3)修改函数change():修改指定歌曲信息;4)查找函数search():查找指定歌曲信息;5)删除函数Del():删除指定歌曲信息;6)显示函数show():显示所有歌曲信息;四、程序结构主菜单增加歌曲删除歌曲修改歌曲查找歌曲显示歌曲输入歌曲编号输入歌曲名称输入歌曲歌者输入歌曲风格按编号删除歌曲编号修改名称修改歌者修改风格号名者格歌曲编号歌曲名称歌曲歌者歌曲风格 五、程序代码#include#include#includestatic int length;using namespace std;/属性类class Musicpublic:friend class MusicSystem;private:int num;string name,singer,style;/功能类class MusicSystempublic:MusicSystem();MusicSystem();void add();void change();void search();void del();void show();private:Music music;MusicSystem:MusicSystem();/输入信息void MusicSystem:add()ofstream outfile(music1.txt,ios:out);if(!outfile)cerropen file error!;exit(1);while(1)cout-请输入歌曲信息:-endl;cout -请输入歌曲编号:music.num;if(music.num=0)break;cout -请输入歌曲名称:;cout -请输入歌曲演唱者:music.singer;cout -请输入歌曲风格:music.style;coutendl;outfile music.num music.singer music.styleendl;length+;outfile.close();/修改信息void MusicSystem:change()Music music100;int newnum;string newname,newsinger,newstyle;ifstream infile(music1.txt,ios:in);if(!infile)cerropen file error!;exit(1);for(int i=0;imusici.num; ;infilemusici.singer;infilemusici.style;infile.close();ofstream outfile(music1.txt,ios:out);if(!outfile)cerropen file error!;exit(1);while(1)cout-请输入要修改的歌曲编号:newnum;coutendl;if(newnum=0)break;cout-请输入修改后的歌曲名称:newname;coutendl;cout-请输入修改后的歌曲演唱者:newsinger;coutendl;cout-请输入修改后的歌曲风格:newstyle;coutendl;for(int i=0;ilength;i+)if(musici.num=newnum)=newname;musici.singer=newsinger;musici.style=newstyle;outfile musici.num musici.singer musici.styleendl; outfile.close();cout修改完毕!endl;/查找信息void MusicSystem:search()Music music100;int ch;ifstream infile(music1.txt,ios:in);if(!infile)cerropen file error!;exit(1);for(int i=0;musici.singermusici.style;infile.close();while(1)cout-请输入查找方式:-endl;cout1.按歌曲编号查找:endl;cout2.按歌曲名称查找:endl;cout3.按歌曲演唱者查找:endl;cout4.返回主菜单:endl;cout0.退出查找:ch;if(ch=4)break;switch(ch)case 1:while(1) cout请输入要查找歌曲编号:music100.num; if(music100.num=0)break; for(int i=0;ilength;i+) if(musici.num=music100.num)cout查找结果为:endl;cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl;cout musici.num musici.singer musici.styleendl; cout查找完毕!endl; break;case 2:while(1) cout请输入要查找歌曲姓名:;if(=0)break;for(int i=0;ilength;i+)if(=)cout查找结果为:endl;cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl;cout musici.num musici.singer musici.styleendl;cout查找完毕!endl; break;case 3:while(1) cout请输入你要查找的歌曲演唱者:music100.singer;for(int i=0;ilength;i+)if(musici.singer=music100.singer)cout查找结果为:endl;cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl;cout musici.num musici.singer musici.styleendl;cout查找完毕!endl; break;default:cout输入错误!endl;break;/删除信息void MusicSystem:del()int delnum;Music music100;ifstream infile(music1.txt,ios:in);if(!infile)cerropen file error!;exit(1);cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl;for(int i=0;musici.singermusici.style;cout musici.num musici.singer musici.styleendl;infile.close();ofstream outfile(music1.txt,ios:out);if(!outfile)cerropen file error!;exit(1);while(1)cout请输入你要删除的歌曲编号:delnum;if(delnum=0)break;for(int i=0;ilength;i+)if(musici.num!=delnum)outfile musici.num musici.singer musici.styleendl; cout删除完毕!endl;length-; outfile.close();/显示信息void MusicSystem:show()ifstream infile(music1.txt,ios:in);if(!infile)cerropen file error!;exit(1);cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl;for(int i=0;music.singermusic.style;cout music.num music.singer music.styleendl;/主函数void main()MusicSystem a;int ch;while(1)cout -欢迎使用歌曲信息管理系统-endl;cout 1.增加歌曲-endl;cout 2.删除歌曲-endl;cout 3.修改歌曲信息-endl;cout 4.查找歌曲-endl;cout 5.显示歌曲信息-endl;cout -请选择:-ch;coutendl;if(ch=0)break;switch(ch)case 1:a.add();break;case 2:a.del();break;case 3:a.chang
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字版权法律保护框架分析
- 名著阅读教学设计与课堂实施技巧
- 电力系统输电线路维护技术标准汇编
- 绿色建筑设计标准与项目实践分析
- 房地产物业租售合同管理规范
- 第十四课 战胜挫折走向成功说课稿-2025-2026学年初中心理健康北师大版2015九年级全一册-北师大版2015
- 安全生产责任制落实及工作考核方案
- 护理质量提升及关键管理措施
- 11.水结冰了(教学设计)- 2024-2025学年四年级上册科学人教鄂教版
- 零售店铺销售统计分析表
- O型圈推荐沟槽设计
- GB/T 3810.14-2016陶瓷砖试验方法第14部分:耐污染性的测定
- GB/T 26567-2011水泥原料易磨性试验方法(邦德法)
- 企业知识产权管理中的专利挖掘工作概述课件
- 癫痫的急救与护理课件
- 国家地表水环境质量监测网采测分离实施方案课件
- 【高等数学练习题】兰州交通大学专升本自考真题汇总(附答案解析)
- 加速康复在肝胆胰外科的应用课件
- 【完整版】锁骨骨折护理查房课件
- 大学植物学1细胞
- GB∕T 35320-2017 危险与可操作性分析(HAZOP分析)应用指南
评论
0/150
提交评论