呼伦贝尔学院
计算机科学与技术学院
《面向对象课程设计》课程设计报告
(第六次)
呼伦贝尔学院—媒体管理系统
姓名:邵军
班级: 2011级计算机科学与技术一班 学号:2011121122 指导教师:于世华 成绩:
完成时间: 2011年4月7号 完成地点:综合楼401机房
面向对象课程设计 一、 设计任务分析
1、问题描述
呼伦贝尔学院图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。 图书馆共有三大类物品资料:图书、视频光盘、图画。
这三类物品共同具有的属性有:编号、标题、作者、评级(未评级,一般,成人,儿童)等。其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出品者的名字、出品年份和视频时长等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。 2、功能要求
(1) 添加物品:主要完成图书馆三类物品信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库已满,则提示不能再添加新的数据。 (2)查询物品
可按照三种方式来查询物品,分别为:
按标题查询、按编号查询、按类别查询:当输入相应信息时,输出所查询的信息,若不存在该记录,则提示“该标题/编号/类别不存在!”;
(3)显示物品库:输出当前物品库中所有物品信息,每条记录占据一行 (4)编辑物品:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除物品:主要完成图书馆物品信息的删除。如果当前物品库为空,则提示“物品库为空!”,并返回操作;否则,输入要删除的编号,根据编号删除该物品的记录,如果该编号不在物品库中,则提示“该编号不存在”。 (6)统计信息
输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。
(7)物品存盘:将当前程序中的物品信息存入文件中。 (8)读出物品:从文件中将物品信息读入程序。 3、问题的解决方案
2
计算机科学与技术学院程序设计
面向对象课程设计 根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;
(8)完成系统总结报告。
二、模块设计与主要数据结构
1.一共设计了七个类,分别是媒体类ziliao,图书类tushu,视频 光盘类guangpan,图画类tuhua,图书管理类tushu_Manage,视频光盘管理类guangpan_Manage,图画管理类tuhua_Manage。下面以ziliao,guangpan,guangpan_Manage为例。 类名 public: 数据成员 成员函数 int number;光盘编号; string title;标题; string write;作者; string level;评级; ziliao(intn=0,string ti=\w=\ziliao(基类) l=\带参数的构造函数; virtual void Input(){};基类输入函数; virtual void Output(){};基类输出函数; intGetnumber(){return number;}返回编号; string Gettitle(){return title;}返回标题; 图书类guangpan(基类做为它的虚函数) class guangpan:virtual public ziliao public: string name;出品姓名; intdate;出品时间; 类名 数据成员 成员函数 inttime;播放时长; guangpan(){} 不带参数的构造函数 guangpan(intn,stringti,stringw,stringl,stringna,intda,floattim) :ziliao(n,ti,w,l),name(na),date(da),time(tim){};不带参数构造函计算机科学与技术学院程序设计
3
面向对象课程设计 数; void Input()输入函数; void Output()输出函数; 类名 数据成员 guangpan_Manage(光盘管理类) guangpangp[maxb]; 光盘类类型的对象gp[maxb]组为数据成员; int top; 记录个数; public: 成员函数
guangpan_Manage(){top=0;} 无参数构造函数给top赋值0; void Add(); 添加函数; void Show(); 显示函数; void Search(); 查询函数; void Edit(); 修改函数; void Delete(); 删除函数; void Total(); 统计函数; void Save(); 保存函数; void Read(); 读取函数; 2、类之间的关系
首先定义的是媒体类ziliao;之后通过ziliao类派生了图书类tushu,视频关盘类guangpan,图画类tuhua;然后通过tushu类派生了图书管理类tushu_Manage,通过guangpan类派生了视频光盘管理类guangpan_Manage,通过tuhua类派生了图画管理类tuhua_Manage。通过继承,派生类可以用基类的成员函数。
3、界面设计
主菜单:包括图书管理,视频光盘管理,图画管理,退出四个功能。 分别调用了调用了三个子菜单。来进一步实现媒体库管理功能。
A、主界面
呼伦贝尔学院媒体管理系统界面:
4
计算机科学与技术学院程序设计
面向对象课程设计
B、子界面
——>光盘管理界面:
——>图书管理界面:
——>图画管理界面:
5
计算机科学与技术学院程序设计