1、基于C+的歌曲信息管理系统安阳师范学院课程实践报告基于C+的歌曲信息管理系统课 程:面向对象程序设计 学院名称:物理与电气工程学院专业名称:电气工程及其自动化班 级:11自动化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#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
5、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 -请输入歌曲名称:music.name; cout -请输入歌曲演唱者:music.singer; cout -请输入歌曲风格:music.style; c
6、outendl; outfile music.num music.name 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; infilemusi
7、ci.name; 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-请输入修改后的歌曲风
8、格:newstyle; coutendl; for(int i=0;ilength;i+) if(musici.num=newnum) musici.name=newname; musici.singer=newsinger; musici.style=newstyle; outfile musici.num musici.name musici.singer musici.styleendl; outfile.close(); cout修改完毕!endl; /查找信息void MusicSystem:search() Music music100; int ch; ifstream infi
9、le(music1.txt,ios:in); if(!infile) cerropen file error!;exit(1); for(int i=0;imusici.nummusici.namemusici.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:wh
10、ile(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.name musici.singer musici.styleendl; cout查找完毕!endl; break; case 2:while(1) cout请输入要查找歌曲姓名:music100.name; if(music100.n
11、ame=0)break; for(int i=0;ilength;i+) if(musici.name=music100.name) cout查找结果为:endl; cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl; cout musici.num musici.name musici.singer musici.styleendl; cout查找完毕!endl; break; case 3:while(1) cout请输入你要查找的歌曲演唱者:music100.singer; for(int i=0;ilength;i+) if(musici.singer=music100.sing
12、er) cout查找结果为:endl; cout歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl; cout musici.num musici.name 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); cou
13、t歌曲编号 歌曲名称 歌曲演唱者 歌曲风格endl; for(int i=0;imusici.nummusici.namemusici.singermusici.style; cout musici.num musici.name 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; fo
14、r(int i=0;ilength;i+) if(musici.num!=delnum) outfile musici.num musici.name 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;imu
15、sic.nummusic.namemusic.singermusic.style; cout music.num music.name 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.change();break; case 4:a.search();break; case 5:a.show();break; default:break; 六、运行结果输入查找删除添加保存到文件读取文件 按作者排序七、总结 通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1