基于C++的歌曲信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安阳师范学院课程实践报告基于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
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();
void del();
void show();
private:
Music music;
};
MusicSystem::MusicSystem(){};
//输入信息
void MusicSystem::add()
{
ofstream outfile("music1.txt",ios::out);
if(!outfile)
{
cerr<<"open file error!";exit(1);
}
while(1)
{
cout<<"--请输入歌曲信息:--"< cout<<" -请输入歌曲编号:"< cin>>music.num; if(music.num==0)break; cout<<" -请输入歌曲名称:"< cin>>; cout<<" -请输入歌曲演唱者:"< cin>>music.singer; cout<<" -请输入歌曲风格:"< cin>>music.style; cout< outfile<<" "< length++; } outfile.close(); } //修改信息 void MusicSystem::change() { Music music[100]; int newnum; string newname,newsinger,newstyle; ifstream infile("music1.txt",ios::in); if(!infile) { cerr<<"open file error!";exit(1); } for(int i=0;i { { infile>>music[i].num; infile>>music[i].name; infile>>music[i].singer; infile>>music[i].style; } } infile.close(); ofstream outfile("music1.txt",ios::out); if(!outfile) { cerr<<"open file error!";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(int i=0;i { if(music[i].num==newnum) { music[i].name=newname; music[i].singer=newsinger; music[i].style=newstyle; } outfile<<" "< } outfile.close(); cout<<"修改完毕!"< } }