C++程序设计_图书管理系统的控制台实现

求打赏求收藏求转发!

提供PDF资源

https://download.csdn.net/download/weixin_43781565/12429074

(审核后可供下载)

Peace and love

信控学院专业课实验报告

图书管理系统的控制台实现

目录

一、实验名称..............................................................................................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

一、实验名称 模拟图书管理系统的控制台指令实现 二、实验目的

本次实验旨在主要对前期学习的有关 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 类对象的方式,是两个类中的成员函数和数据成 员进行交互访问。

五、设计/开发解决方案

 

1

根据需求的分析,首先得到图书管理系统的程序类关系,类图表示如下:

 

图  2-1

并参考需求分析中的要求,并结合相关内容,确定出上图类中的成员函数和数 据成员,图书管理系统代码片段如下:

备注:已将部分代码数量较少的函数直接写入类中,未在外部进行编写。 1.class Data  数据基类

1.classData            //数据基类                 2.{

3.public:

4. Data() //初始化数据

5. {

6. strcpy(Name,"");

7. Id=0;

8. }

 

9.      Data(char*name,longid)              //设置数据信息                                   10.      {

11.              strcpy(Name,name);

12.              Id=id;    13.      }

14.      longGetCode()             15.      {

16.              returnId;      17.      }

18.      voidShow()                                  //显示数据信息                     19.      {

20.              cout<<"数据:"<<Name<<'\t'<<Id<<endl;                         21.      }

22.protected:

23.      charName[40];                            //名称

24. longId; //ID

25.};

2.class Book 书籍派生类

26.classBook:publicData           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值