课程设计报告媒体库管理系统.docx

上传人:b****8 文档编号:10773250 上传时间:2023-02-22 格式:DOCX 页数:44 大小:120.15KB
下载 相关 举报
课程设计报告媒体库管理系统.docx_第1页
第1页 / 共44页
课程设计报告媒体库管理系统.docx_第2页
第2页 / 共44页
课程设计报告媒体库管理系统.docx_第3页
第3页 / 共44页
课程设计报告媒体库管理系统.docx_第4页
第4页 / 共44页
课程设计报告媒体库管理系统.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

课程设计报告媒体库管理系统.docx

《课程设计报告媒体库管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计报告媒体库管理系统.docx(44页珍藏版)》请在冰豆网上搜索。

课程设计报告媒体库管理系统.docx

课程设计报告媒体库管理系统

集团标准化工作小组[Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

 

课程设计报告媒体库管理系统

C++面向对象程序设计

课程设计报告

课程名称C++面向对象程序设计

课题名称媒体库管理系统

专业网络工程

班级551

学号

姓名高慧鹏

指导教师

2014年12月22日

(一)、课程设计题目:

媒体库管理系统

(二)、目的与要求:

1、目的:

(1)要求学生达到熟练掌握C++语言的基本知识和技能;

(2)基本掌握面向对象程序设计的基本思路和方法;

(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:

(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;

(2)要求在设计的过程中,建立清晰的类层次;

(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;

(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:

在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

(三)、设计方法和基本原理:

功能要求:

1)添加物品

程序主要完成图书馆三类物品信息的添加,要求编号唯一。

如果添加了重复编号的物品时,则提示用户数据添加重复并取消添加;如果物品库已满,则提示不能再添加新的物品。

2)查询物品

可按照三种方式进行物品的查询。

·按标题查询:

·按编号查询:

·按类别查询:

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

3)显示物品库

可显示当前物品库中所有的物品信息。

4)修改物品

可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

5)删除物品

对已添加的物品信息进行删除。

如果当前物品库为空,则提示“物品库为空!

”并返回操作;否则输入要删除的编号,根据编号删除该物品信息,如果没有找到该物品信息,则提示“该编号不存在”。

6)统计功能

输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。

7)保存物品

将当前系统中物品信息存入文件中。

8)读取物品

将保存在文件中的物品信息读入到当前系统中,以供用户使用。

在完成以上基本功能的基础上,可自行进行扩展或完善。

3、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系包括属性和行为;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述(包括属性和方法);

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告以及系统使用说明书

 

2

3

3

1.系统需求分析

系统设计的目的与意义:

图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。

系统功能需求:

本系统有四个类:

Base类、Book类、CD类、Draw类,存储资料信息、编号、标题、作者、评级。

Base为父类,其余三个为子类,每个子类具有自己的特点。

1.基础信息的添加功能

程序能够任意添加图书、CD视频光盘、图画信息以及各自对应的相关信息。

2.修改功能

对已添加的记录(图书、CD视频光盘、图画信息以及各自对应的相关信息)进行查找和修改。

3.删除功能

对已添加的记录(图书、CD视频光盘、图画信息以及各自对应的相关信息)进行查找和删除。

如果当前系统中没有相应的记录,则提示“记录为空!

”并返回操作;否则输入要删除的编号对该记录进行删除,如果没有找到,则提示相应的记录不存在。

4.查询功能

1 可根据资料的编号查询资料及其内容。

2 可根据标题查找。

3 根据类别查询

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

5.保存功能

将当前系统中各类记录存入文件中。

6.读取功能

将保存在文件中的信息读入到当前系统中,以供用户使用。

2.总体设计

系统功能分析:

系统通过调用函数来实现信息录入、信息修改、信息删除、信息查询以及数据保存文件等功能。

add()函数用于添加信息;modify()函数用来修改信息;del()函数用来修改信息;refer()函数用来查询数据信息;read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。

系统功能模块划分与设计:

系统定义了Base基类、Book类、CD类、Draw类这四个类,定义了add()、modify()、del()、read()、save()、refer()等函数来实现系统所需功能。

系统功能模块图:

 

类的设计

(1)Base类(抽象类)的设计:

图Base类

(2)图书类的设计:

图班级类

(3)CD类的设计:

图学生类

(4)图片类的设计:

图课程类

(6)各个类的关系描述:

3.详细设计及实现

Base类(抽象类)的实现

classBase

{

public:

voidmainmenu();

virtualvoidadd(){};回图书信息管理菜单.\n2.返回主菜单.\n";

cin>>flag;

}

if(flag==1)

{

();

cout<<"请选择\n:

";

cin>>k;

}

elseif(flag==2)

{

break;

}

else

{

cout<<"选择错误,请重新输入。

\n";

gotoloop;

}

}

};

voidBook:

:

add()o=i;

cout<<"请依次输入数据标题、作者、评级(未评级、一般、成人、儿童)、出版社、ISBN号、页数:

"<

cin>>b_[i].headline>>b_[i].write>>b_[i].rating>>b_[i].publisher>>b_[i].ISBN_No>>b_[i].pages;

}

p1->save();

};

voidBook:

:

refer()eadline)==0)

cout<<"图书编号:

"<

"<

"<

"<

"<

""<<"ISBN号:

"<

"<<""<

Sleep(10);

}

}

break;

case2:

{

cout<<"请输入要查找的图书编号"<

cin>>;

for(j=0;j

{

if==b_[j].No)

cout<<"图书编号:

"<

"<

"<

"<

"<

""<<"ISBN号:

"<

"<<""<

Sleep(10);

}

}

break;

case3:

{

loop2:

cout<<"请输入要查找的图书类别(未评级、一般、成人、儿童)"<

cin>>;

if=="未评级"||"一般"||"成人"||"儿童")

{

for(j=0;j

{

if(strcmp,b_[j].rating)==0)

cout<<"图书编号:

"<

"<

"<

"<

"<

""<<"ISBN号:

"<

"<<""<

Sleep(10);

}

}

else

{

cout<<"输入有误请重新输入:

\n";

gotoloop2;

}

}

break;

case4:

break;

default:

{

cout<<"选择错误,请重新选择:

\n";

gotoloop1;

}

break;

}

};

voidBook:

:

display()

{

for(j=1;j

{

cout<<"图书编号:

"<

"<

"<

"<

"<

""<<"ISBN号:

"<

"<<""<

Sleep(10);

}

};

voidBook:

:

modify()

{

intk;

cout<<"请输入要修改的图书的编号"<

cin>>;

loop3:

cout<

cout

<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

<<"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"<

<<"┃┃"<

<<"┃◇修改标题-----------①◇┃"<

<<"┃◇修改作者-----------②◇┃"<

<<"┃◇修改评级-----------③◇┃"<

<<"┃◇修改出版社---------④◇┃"<

<<"┃◇修改ISBN号---------⑤◇┃"<

<<"┃◇修改页数-----------⑥◇┃"<

<<"┃◇返回菜单-----------0◇┃"<

<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"<

<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

<

cout<

cout<<"请选择要修改的内容的编号:

\n";

cin>>k;

if(k>=0&&k<7){

switch(k)

{

case1:

{

charmheadline[20];

cout<<"请输入修改后的标题:

"<

cin>>mheadline;

strcpy(b_[].headline,mheadline);

}

break;

case2:

{

charmwrite[20];

cout<<"请输入修改后的作者:

"<

cin>>mwrite;

strcpy(b_[].write,mwrite);

}

break;

case3:

{

charmrating[20];

cout<<"请输入修改后的分级:

(未评级、一般、成人、儿童)"<

cin>>mrating;

strcpy(b_[].rating,mrating);

}

break;

case4:

{

charmpublishe[20];

cout<<"请输入修改后的出版社:

"<

cin>>mpublishe;

strcpy(b_[].publisher,mpublishe);

}

break;

case5:

{

charmISBN_No[20];

cout<<"请输入修改后的ISBN号:

"<

cin>>mISBN_No;

strcpy(b_[].ISBN_No,mISBN_No);

}

break;

case6:

{

intmpages;

cout<<"请输入修改后的页数:

"<

cin>>mpages;

b_[].pages=mpages;

}

break;

case0:

break;

};}

else

{

cout<<"选择错误,请重新输入:

\n";

gotoloop3;

}

};

voidBook:

:

del()

{

cout<<"请输入要删除的图书的编号"<

cin>>;

for(j=;j

{

b_[j].No=b_[j+1].No;

strcpy(b_[j].headline,b_[j+1].headline);

strcpy(b_[j].write,b_[j+1].write);

strcpy(b_[j].rating,b_[j+1].rating);

strcpy(b_[j].publisher,b_[j+1].publisher);

strcpy(b_[j].ISBN_No,b_[j+1].ISBN_No);

b_[j].pages=b_[j+1].pages;

num1--;

}

};

voidBook:

:

Info()

{

cout<<"当前物品库中总物品数:

"<

};

voidBook:

:

save()

{

ofstreamout;

("图书信息.txt");

out<

for(intk=1;k<=num1;k++)

{

out<

}

();

};

voidBook:

:

read()

{

ifstreamin;

("图书信息.txt");

in>>num1;

while(num1>=count_book)

{

in>>b_[count_book].No>>b_[count_book].headline>>b_[count_book].write>>b_[count_book].rating>>b_[count_book].publisher>>b_[count_book].ISBN_No>>b_[count_book].pages;

count_book++;

}

();

}

voidBook:

:

Book_menu()

{

cout<<"\n\n ----------☆欢迎使用媒体库管理系统☆----------"<

cout<<"\n\n ----------☆图书信息管理☆----------"<

cout

<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

<<"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"<

<<"┃┃"<

<<"┃◆添加图书-----------①◆┃"<

<<"┃◆查询图书-----------②◆┃"<

<<"┃◆显示图书-----------③◆┃"<

<<"┃◆修改图书-----------④◆┃"<

<<"┃◆删除图书-----------⑤◆┃"<

<<"┃◆统计图书-----------⑥◆┃"<

<<"┃◆退出系统-----------0◆┃"<

<<"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"<

<<"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<

<

};

CD类的实现

classCD:

publicBase

{

public:

voidCD_manage();回CD信息管理菜单.\n2.返回主菜单.\n";

cin>>flag;

}

if(flag==1)

{

();

cout<<"请选择\n:

";

cin>>k;

}

elseif(flag==2)

{

break;

}

else

{

cout<<"选择错误,请重新输入:

\n";

gotoloop6;

}

}

};

voidCD:

:

add()o=i3;

cout<<"请分别输入标题、作者、评级(未评级、一般、成人、儿童)、出品人的姓名、出品年份、视频时长"<

cin>>v_[i3].headline>>v_[i3].write>>v_[i3].rating>>v_[i3].name>>v_[i3].year>>v_[i3].time;

Sleep(10);

}

p3->save();

};

voidCD:

:

refer()eadline)==0)

cout<<"视频编号:

"<

"<

"<

"<

"<

""<<"出品年份:

"<

"<<""<

Sleep(10);

}

}

break;

case2:

{

cout<<"请输入要查找的视频编号"<

cin>>;

for(j3=0;j3

{

if==v_[j3].No)

cout<<"视频编号:

"<

"<

"<

"<

"<

""<<"出品年份:

"<

"<<""<

Sleep(10);

}

}

break;

case3:

{

cout<<"请输入要查找的视频类别(未评级、一般、成人、儿童)"<

cin>>;

for(j3=0;j3

{

if(strcmp,v_[j3].rating)==0)

cout<<"视频编号:

"<

"<

"<

"<

"<

""<<"出品年份:

"<

"<<""<

Sleep(10);

}

}

break;

case4:

break;

default:

{

cout<<"选择有误,请重新输入:

\n";

gotoloop7;

}

}

};

voidCD:

:

display()

{

for(j3=1;j3

{

cout<<"视频编号:

"<

"<

"<

"<

"<

""<<"出品年份:

"<

"<<""<

Sleep(10);

}

};

voidCD:

:

modify()eadline,mheadline);

}

break;

case2:

{

charmwrite[20];

cout<<"请输入修改后的作者:

"<

cin>>mwrite;

strcpy(v_[].write,mwrite);

}

break;

case3:

{

charmrating[20];

cout<<"请输入修改后的分级:

(未评级、一般、成人、儿童)"<

cin>>mrating;

strcpy(v_[].rating,mrating);

}

break;

case4:

{

charmname[20];

cout<<"请输入修改后出品人的姓名:

"<

cin>>mname;

strcpy(v_[].name,mname);

}

break;

case5:

{

c

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1