基于C++的歌曲信息管理系统方案.docx
- 文档编号:30134106
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:17
- 大小:124.75KB
基于C++的歌曲信息管理系统方案.docx
《基于C++的歌曲信息管理系统方案.docx》由会员分享,可在线阅读,更多相关《基于C++的歌曲信息管理系统方案.docx(17页珍藏版)》请在冰豆网上搜索。
基于C++的歌曲信息管理系统方案
安阳师范学院课程实践报告
基于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
#include
staticintlength;
usingnamespacestd;
//属性类
classMusic{
public:
friendclassMusicSystem;
private:
intnum;
stringname,singer,style;
};
//功能类
classMusicSystem{
public:
MusicSystem();
~MusicSystem(){};
voidadd();
voidchange();
voidsearch();
voiddel();
voidshow();
private:
Musicmusic;
};
MusicSystem:
:
MusicSystem(){};
//输入信息
voidMusicSystem:
:
add()
{
ofstreamoutfile("music1.txt",ios:
:
out);
if(!
outfile)
{
cerr<<"openfileerror!
";exit
(1);
}
while
(1)
{
cout<<"--请输入歌曲信息:
--"< cout<<"-请输入歌曲编号: "< cin>>music.num; if(music.num==0)break; cout<<"-请输入歌曲名称: "< cin>>music.name; cout<<"-请输入歌曲演唱者: "< cin>>music.singer; cout<<"-请输入歌曲风格: "< cin>>music.style; cout< outfile<<""< length++; } outfile.close(); } //修改信息 voidMusicSystem: : change() { Musicmusic[100]; intnewnum; stringnewname,newsinger,newstyle; ifstreaminfile("music1.txt",ios: : in); if(! infile) { cerr<<"openfileerror! ";exit (1); } for(inti=0;i { { infile>>music[i].num; infile>>music[i].name; infile>>music[i].singer; infile>>music[i].style; } } infile.close(); ofstreamoutfile("music1.txt",ios: : out); if(! outfile) { cerr<<"openfileerror! ";exit (1); } while (1) { cout<<"--请输入要修改的歌曲编号: "< cin>>newnum; cout< if(newnum==0)break; cout<<"-请输入修改后的歌曲名称: "< cin>>newname; cout< cout<<"-请输入修改后的歌曲演唱者: "< cin>>newsinger; cout< cout<<"-请输入修改后的歌曲风格: "< cin>>newstyle; cout< for(inti=0;i { if(music[i].num==newnum) { music[i].name=newname; music[i].singer=newsinger; music[i].style=newstyle; } outfile<<""< } outfile.close(); cout<<"修改完毕! "< } } //查找信息 voidMusicSystem: : search() { Musicmusic[100]; intch; ifstreaminfile("music1.txt",ios: : in); if(! infile) { cerr<<"openfileerror! ";exit (1); } for(inti=0;i { infile>>music[i].num>>music[i].name>>music[i].singer>>music[i].style; } infile.close(); while (1) { cout<<"--请输入查找方式: --"< cout<<"1.按歌曲编号查找: "< cout<<"2.按歌曲名称查找: "< cout<<"3.按歌曲演唱者查找: "< cout<<"4.返回主菜单: "< cout<<"0.退出查找: "< cin>>ch; if(ch==4)break; switch(ch) { case1: while (1) { cout<<"请输入要查找歌曲编号: "< cin>>music[100].num; if(music[100].num==0)break; for(inti=0;i { if(music[i].num==music[100].num) { cout<<"查找结果为: "< cout<<"歌曲编号歌曲名称歌曲演唱者歌曲风格"< cout<<""< } } cout<<"查找完毕! "< }break; case2: while (1) { cout<<"请输入要查找歌曲姓名: "< cin>>music[100].name; if(music[100].name=="0")break; for(inti=0;i { if(music[i].name==music[100].name) { cout<<"查找结果为: "< cout<<"歌曲编号歌曲名称歌曲演唱者歌曲风格"< cout<<""< } } cout<<"查找完毕! "< }break; case3: while (1) { cout<<"请输入你要查找的歌曲演唱者: "< cin>>music[100].singer; for(inti=0;i { if(music[i].singer==music[100].singer) { cout<<"查找结果为: "< cout<<"歌曲编号歌曲名称歌曲演唱者歌曲风格"< cout<<""< } } cout<<"查找完毕! "< }break; default: cout<<"输入错误! "< break; } } } //删除信息 voidMusicSystem: : del() { intdelnum; Musicmusic[100]; ifstreaminfile("music1.txt",ios: : in); if(! infile) { cerr<<"openfileerror! ";exit (1); } cout<<"歌曲编号歌曲名称歌曲演唱者歌曲风格"< for(inti=0;i { infile>>music[i].num>>music[i].name>>music[i].singer>>music[i].style; cout<<""< } infile.close(); ofstreamoutfile("music1.txt",ios: : out); if(! outfile) { cerr<<"openfileerror! ";exit (1); } while (1) { cout<<"请输入你要删除的歌曲编号: "< cin>>delnum; if(delnum==0)break; for(inti=0;i { if(music[i].num! =delnum) outfile<<""< } cout<<"删除完毕! "< length--; } outfile.close(); } //显示信息 voidMusicSystem: : show() { ifstreaminfile("music1.txt",ios: : in); if(! infile) { cerr<<"openfileerror! ";exit (1); } cout<<"歌曲编号歌曲名称歌曲演唱者歌曲风格"< for(inti=0;i { infile>>music.num>>music.name>>music.singer>>music.style; cout<<""< } } //主函数 voidmain() { MusicSystema; intch; while (1){ cout<<"----------------欢迎使用歌曲信息管理系统----------------"< cout<<"1.增加歌曲-"< cout<<"2.删除歌曲-"< cout<<"3.修改歌曲信息-"< cout<<"4.查找歌曲-"< cout<<"5.显示歌曲信息-"< cout<<"--请选择: --"< cin>>ch; cout< if(ch==0)break; switch(ch) { case1: a.add();break; case2: a.del();break; case3: a.change();break; case4: a.search();break; case5: a.show();break; default: break; } } 六、运行结果 输入 查找 删除 添加 保存到文件 读取文件 按作者排序 七、总结 通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提高了运用C语言进行程序设计的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C+ 歌曲 信息管理 系统 方案