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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、设计内容与设计要求

1.设计内容:媒体库管理系统设计

问题描述

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

图书馆共有三大类物品资料:图书、视频光盘、图画。

这三类物品共同具有的属性有:编号、标题、作者、评级(未评级,一般,成人,儿童)等。其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出品者的名字、出品年份和视频时长等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。功能要求

(1)添加物品:主要完成图书馆三类物品信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库已满,则提示不能再添加新的数据。

(2)查询物品

可按照三种方式来查询物品,分别为:

按标题查询:输入标题,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”;

按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;

按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有物品!”;

(3)显示物品库:输出当前物品库中所有物品信息,每条记录占据一行。

(4)编辑物品:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除物品:主要完成图书馆物品信息的删除。如果当前物品库为空,则提示“物品库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。

(6)统计信息

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

(7)物品存盘:将当前程序中的物品信息存入文件中。

(8)读出物品:从文件中将物品信息读入程序。

问题的解决方案

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

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

(2)分析系统中的各个实体及它们之间的关系;

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

(4)完成类层次中各个类的描述;

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

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

(7)功能调试;

(8)完成系统总结报告。

目录

一.需求设计*************************************************07

二.详细设计*************************************************08

三.界面设计与各功能模块的实现*************************10

四.系统调试*************************************************11

五.使用说明及心得体会************************************12

六.源代码****************************************************13

一.需求分析

要求用C++面向程序设计语言编写一媒体库管理系统,

1、目的:

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

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

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

2.系统设计的意义:

系统要能够对相应的数据进行很好的测试,系统开始的密码系统有良好的保密性,系统的录入可录入相应的媒体的信息,系统的查询可查询媒体的作者、编号、评级、标题以及各种媒体独有的信息,系统的修改可修改媒体的错误信息,系统的删除可删除丢失媒体的信息。

2.系统功能需求

1.要求完成以下功能:

1)能够从屏幕上读取一个媒体的信息并将信息存入到数据文件中。

2)能够将指定的信息从文件中删除。

3)能够按编号、标题、类别对媒体的信息进行检索并将检索结果显示在屏幕上。4)添加媒体时,编号唯一,若编号重复则不与添加。

5)如果检索不到相应的信息应提示用户。

4.输入输出的要求

1.输入的要求:

通过主函数体调用其他函数应用系统主控界面包括媒体信息添加,查询,显示,

删除等功能模块。媒体信息录入功能完成媒体信息的输入。查询功能可以对数据各分类的记录进行查询。修改功能可以对数据各分类进行修改。删除功能可以对数据进行删除。

2.输出的要求:

1)能够按编号、标题、类别对媒体的信息进行检索并将检索结果显示在屏幕上。

2)如果检索不到相应的信息应提示用户。

二.详细设计

1.类设计

基类:Tushuguan

数据成员:作者、编号、标题、评级、类别编号

成员函数:display() 输入姓名、编号、标题、评级、类别编号

class Tushuguan

{public:

char name[256]; //作者

int num; //编号

char biaoti[256]; //标题

char pingji[256]; //评级

int x; //类别编号

void display(){cout<<"作者:";cin>>name; cout<<"编号:";cin>>num;

cout<<"标题:";cin>>biaoti; cout<<"评级:";cin>>pingji;

cout<<"类别编号(1.图书,2.视频光盘,3.图画):";cin>>x; }};

派生类:Tushu Shipinguangpan Tuhua

①Tushu 数据成员:出版社ISBN号页数

成员函数:display1() 调用基类的display()函数和输入课时

Teacher(int s=800) //基本工资赋值

class Tushu:public Tushuguan

{public:

char cbs[256]; //出版社

int hm; // ISBN号

int yeshu; //页数

void display1(){cout<<"请输入图书的"; Tushuguan::display();cout<<"请输入图书的出版社:";cin>>cbs; cout<<"请输入图书的ISBN号:";cin>>hm; cout<<"请输入图书的页数:";cin>>yeshu; }};

②Shipinguangpan 数据成员:名字时长年份

成员函数:display1() 调用基类的display()函数

Shiyanyuan(int s=650,int b=150) //基本工资及补助赋值

class Shipinguangpan:public Tushuguan

{public:

char mingzi[256]; //名字

相关文档
最新文档