没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
小组项目游戏"双人大战"的控制台指令实现 本次实验旨在主要对前期学习的有关C++面向对象部分的多态性知识进行实践操作,并综合前期的全部有关面向对象的内容,完成项目。 在理论方面主要体现了: 1.面向对象的抽象思维分析; 2.对继承关系的分析和实践应用; 3.对虚基类(virtual base class),派生类,类的实例化,动态联编(dynamic binding)等体现面向对象多态性内容的体现; 4.小组合作完成同意大型项目的配合能力,; 在实际操作方面,本次试验重点训练了: 1.继承关系的创建,与相关成员函数之间的调用关系; 2.虚基类的创建和多态的体现; 3.小组对项目问题讨论出的问题和解决方案;
资源推荐
资源详情
资源评论
信控学院专业课实验报告
专业 软件工程 班级 1 姓名 孙嘉成 学号 1806050127 2019 年 11 月 20 日
图书管理系统的控制台实现
目录
一、实验名称..............................................................................................1
二、实验目的..............................................................................................1
三、实验平台..............................................................................................1
四、问题分析..............................................................................................1
①问题描述与需求分析....................................................................... 1
②程序功能抽象................................................................................... 1
五、设计/开发解决方案............................................................................ 1
1.class Data 数据基类.......................................................................... 2
2.class Book 书籍派生类.......................................................................2
3.class Journal 派生期刊类...................................................................3
4.class Reader 借书人类....................................................................... 3
六、实验结果..............................................................................................8
图 3-2 借书人用户创建与信息显示..................................................8
图 3-3 借书数量超过限制(5 本).........................................................8
图 3-4 借书人当前借阅书籍信息展示..............................................8
七、实验分析及结论................................................................................. 8
1
一、实验名称
模拟图书管理系统的控制台指令实现
二、实验目的
本次实验旨在主要对前期学习的有关 C++面向对象部分的有关类的继承
(inheritance)相关知识的实践与应用。
在理论方面主要体现了:
1. 提升由面向过程向面向对象的思维转变;
2. 对继承关系的分析和实践应用;
3. 对函数参数列表(parameter list)的实践应用;
4. 加强对对象的创建和成员函数的书写能力;
在实际操作方面,本次试验重点训练了:
1. 继承关系的创建,与相关成员函数之间的调用关系;
2. 函数参数列表的赋值方式;
3. 对字符数组(Character array)的创建和使用;
三、实验平台
IDE :CodeBlocks16.1 (Core:VC++6.0)
Language Standard : C++14
四、问题分析
①问题描述与需求分析
在图书馆的日常使用当中,每天都会发生类似"借阅""归还"和"借阅信息管理"
等操作,且随着规模的扩大,每天产生的信息流相当巨大。因此,我们需要利用相关
的软件进行对应信息的管理,"图书管理系统"应运而生。
此次的"图书管理系统",是基于当前学习的有关 C++面向对象中的类的继承
知识基础上构建的,其中需要完成对图书馆运营过程中的部分基础操作进行实现,
并做到对相关信息的查阅和管理。具体包括:
1.对各类书籍进行分类存储,并能做到对书籍进行"增,删,改,查";
2.对借阅人的相关信息进行管理,包括借阅人个人的信息,以及当前所借阅的
书籍,并同时能对人员进行"增,删,改,查"
3.能加入对人员借阅书籍的数量进行一定的限制;
②程序功能抽象
对于图书管理系统在实现部分功能时,通过需求分析可知,我们需要多个类去
管理和存储对应的相关信息,从大体上分为:书籍类(Books)与借阅人类(Reader)。
1.对于类的设计
对于"对各类书籍进行分类存储",我们可以首先设立一个信息量相对较少的
基类数据类(Data),之后利用相关的继承知识,对多个不同书籍种类设置派生类,如
普通书籍类(Books),而对于类似报纸杂志等具有特殊属性的书籍种类,我们可以继
续派生,如派生出的期刊类(Journal),以用来简化相关的代码冗余。
在借阅人类(Reader)中,我们可以实现需求中的有关人员管理的相关功能,例
如"姓名","借书卡号"以及"当前借阅书籍"等相关内容。
2.对于类之间的联系
在相关类设计完成之后,我们应该考虑通过某种机制将两个类即书籍类
(Books)与借阅人类(Reader)关联起来,处于不破坏面向对象的封装性的特点,特别
的使用在 Reader 类中创建 Books 类对象的方式,是两个类中的成员函数和数据成
员进行交互访问。
五、设计/开发解决方案
2
根据需求的分析,首先得到图书管理系统的程序类关系,类图表示如下:
图 2-1
并参考需求分析中的要求,并结合相关内容,确定出上图类中的成员函数和数
据成员,图书管理系统代码片段如下:
备注:已将部分代码数量较少的函数直接写入类中,未在外部进行编写。
1.class Data 数据基类
1.class Data //数据基类
2.{
3.public:
4. Data() //初始化数据
5. {
6. strcpy(Name,"");
7. Id=0;
8. }
9. Data(char *name, long id) //设置数据信息
10. {
11. strcpy(Name,name);
12. Id=id;
13. }
14. long GetCode()
15. {
16. return Id;
17. }
18. void Show() //显示数据信息
19. {
20. cout<<"数据: "<<Name<<'\t'<<Id<<endl;
21. }
22.protected:
23. char Name[40]; //名称
24. long Id; //ID
25.};
2.class Book 书籍派生类
26.class Book:public Data //派生类:书籍
27.{
剩余15页未读,继续阅读
资源评论
Jason~~
- 粉丝: 2374
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- GEE错误集-Cannot add an object of type <Element> to the map. Might be fixable with an explicit .pdf
- 矩阵与线程的对应关系图
- 人体人员检测46-YOLO(v5至v9)、COCO、Darknet、TFRecord数据集合集.rar
- GEMM优化代码实现1
- 资料阅读器(先下载解压) 5.0.zip
- 人、垃圾、非垃圾检测18-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- java实现的冒泡排序 含代码说明和示例.docx
- 440379878861684smart-parking.zip
- 金智维RPA server安装包
- 二维码图形检测6-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功