基于C++的歌曲信息管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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<<"修改完毕!"<

}

}

相关文档
最新文档