- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课程设计媒体库管理系统
题目
图书馆中的资料很多,如果能分类对其资料流通进行管理,将会带来很多方便,因此需要有一个媒体库管理系统。
图书馆共有三大类物品资料:图书、视频光盘、图画。
这三类物品共同具有的属性有:编号、标题、作者、评级(未评级,一般,成人,儿童)等。其中图书类增加出版社、ISBN号、页数等信息;视频光盘类增加出品者的名字、出品年份和视频时长等信息;图画类增加出品国籍、作品的长和宽(以厘米计,整数)等信息。
2、功能要求
(1)添加物品:主要完成图书馆三类物品信息的添加,要求编号唯一。当添加了重复的编号时,则提示数据添加重复并取消添加;当物品库已满,则提示不能再添加新的数据。
(2)查询物品
可按照三种方式来查询物品,分别为:
按标题查询:输入标题,输出所查询的信息,若不存在该记录,则提示“该标题不存在!”;
按编号查询:输入编号,输出所查询的信息,若不存在该记录,则提示“该编号不存在!”;
按类别查询:输入类别,输出所查询的信息,若不存在记录,则提示“该类别没有物品!”;
(3)显示物品库:输出当前物品库中所有物品信息,每条记录占据一行。
(4)编辑物品:可根据查询对相应的记录进行修改
(6)统计信息
输出当前物品库中总物品数,以及按物品类别,统计出当前物品中各类别的物品数并显示。
(7)物品存盘:将当前程序中的物品信息存入文件中。
(8)读出物品:从文件中将物品信息读入程序。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
暨南大学本科实验报告专用纸
课程名称 成绩评定
实验项目名称 指导教师
实验项目编号 实验项目类型 实验地点
学生姓名 学号
学院 系 专业
实验时间 年 月 日 1.设计目的通过设计、实现媒体库,熟悉面向对象的设计思想;进一步熟悉、掌握STL中有关类型及其使用方法,泛型编程的风格。2. Medium (媒体)的基类以表示所有流通物品的公共属性;然后从 Medium 类派生出 Book, Video(视频光盘), Painting(图画) 三个派生类。
2.1 基类描述
在这个应用中,每一个物品都有:编号,标题,作者(标题和作者都可能包含空格),评级(具体分为:未评级、一般、成人和儿童四种类型),借出状态(可用,已借出)四个属性。因此,基类 Medium 应具有这四个数据成员,其访问权限为受保护;此外,基类Medium还具有如下成员函数:从标准输入流中读取物品信息的函数;从文件中读取物品信息的函数;输出信息到标准输出流的函数。
2.2 继承类描述
Book类 相比基类,Book类增加了出版社的名字,ISBN号(可简单认为是一个由 0-9,‘-’,A-Z 构成的字符串),出版年份和书的页数这四个数据成员。
Video类 相比基类,Video类增加了出品者的名字,出品年份和视频时长(以分钟计,整数)这三个数据成员。
Painting类 相比基类,Painting类增加了出品国籍,作品的长与宽(以厘米计,整数)这三个数据成员。
MediaLib(多媒体函数库)类
2.3.1 MediaLib类及menu(菜单类) 成员函数
设计一个名为 MediaLib 的类,在其构造函数中从一个数据文件中读入信息,此数据文件的名字应该由用户提供而不是由程序员自己假设。此类应具有如下方法:增加新物品,删除物品,修改物品,显示整个媒体库中的物品,显示媒体库中的部分物品。换言之,媒体库中所有物品的信息存在于硬盘中的某个文件中,当一个 MediaLib 对象被创建时将该媒体库文件中的所有物品信息读入内存中。在内存中,物品信息有可能被修改,在程序退出时所有物品信息又被写回至硬盘(这里所有物品信息被写回至硬盘只是功能上的描述;从效率着眼,仅仅写回发生了改变的信息的实现策略更好,但是需要考虑新增纪录、删除纪录、修改记录的处理,比较复杂,有兴趣的同学可以尝试这种策略)。因为具有插入、删除功能,实现 MediaLib 类的时候应该使用STL中的 list 类作为底层容器。MediaLib 类还具有一个名为menu的成员函数以显示如下功能表:
新增一个物品;
删除物品;
修改物品信息;
显示满足有哪些信誉好的足球投注网站条件的物品;
退出。
2.3.2 menu 成员函数
新增物品:提
文档评论(0)