书店销售管理系统数据库设计目的和意义

书店销售管理系统数据库设计目的和意义,第1张

学号 1

课程 设 计课程名称 《数据库系统原理》课程设计

题 目 书店销售管理系统

专 业

班 级

姓 名

成 绩

指 导 老 师

2019 年 12 月 30 日至 2019 年 1月 3日一、课程设计目的与任务《数据库系统原理课程设计》是针对计算机专业基础课《数据库系统原理》开设的课程设计,目的是使学生通过本课程设计之后,对数据库设计的基本概念、基本原理和优化技术有较全面的了解和领会,并能 *** 作当前流行的DBMS,了解数据库在计算机应用系统的作用,独立地开发实现一个小型的基于DBMS上的应用系统。结合具体的开发案例,理解并初步掌握数据库系统需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用功能设计(视图,索引,游标,存储过程,触发器等)数据录入及测试等系统设计与系统实施及维护管理的主要环节和步骤以及软件文档的制作能力。二、课程设计的题目与基本要求1.设计题目:书店销售管理系统数据库设计2.基本要求:(1)图书入库管理:维护入库图书信息(如图书编号、书名、作者、价格、图书分类、出版社等),自动计算库存。(2)图书查询统计:按图书分类,出版社、书名、作者等条件查询图书的详细信息。(3)销售管理: 销售过的图书都记录在销售列表中,方便统计收入。图书销售后,实时记录图书库存,按每天统计销售额、按每个月或季度统计销售额,并能根据销售数量统计生成畅销书名单。(4)设计报告内容包括:基本原理、设计方案的选择与确定,详细的设计过程及结果做出评价,分析存在的问题,提出改进意见并写出心得体会。三、学时分配进度安排

序号 设计内容 所用时间

1 选题及调研 1天

2 数据库结构设计 1天

3 数据库查询优化 1天

4 调试及撰写报告 1天

5 答辩 1天

合计 1周

四、课程设计考核及评分标准1.设计报告要求课程设计报告要求逻辑清晰、层次分明、书写整洁。格式包括标题、提要、正文(包括①设计项目要求与说明。②数据模型分析。③软件流程分析。④调试分析。⑤实验数据分析。⑥答辩。⑦成绩评定。)附录(图纸、程序清单或软盘)。设计报告须每人一份,独立完成。2.图纸要求系统结构框图、概念模型图等。3.评分标准

评分依据 评分成绩

1.设计方案正确,具有可行性、创新性 30分

2.数据库测试性能达到任务书要求 25分

3.设计报告的规范化、内容充实、参考文献 15分

4.答辩 20分

5.平时成绩(考勤等) 10分

总分 100分

注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。五、指导时间

周次 星期一 星期二 星期三 星期四 星期五

第17周 第3-4节 第3-4节 第3-4节 第3-4节

地点 233 231 现教 现教

1.引言Internet的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所起到的重大作用随着书店规模的不断扩大,员工人数的不断增多,使得书店管理的手工 *** 作管理模式的局限性越发突出.本书店管理系统应用了科学的管理模式对员工.书籍.订单信息进行管理和维护,并且还提供了给类报表的打印,使原本非常复杂的手工管理变得简洁明了。计算机信息管理技术的应用,除了能在相当大的程度.上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而避免不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、及时的信息以帮助做出正确而及时的选择与决定,从而给采用这门]技术的单位带来了巨大的可见或不可见的利益与效益。2.需求阶段分析2.1需求分析书店管理系统是适应时代发展的需要,提高管理的效率而开发设计的。通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为书店管理人员提供全面、准确的各种数据。实现了书店管理的简单化和规划化,提高了书店的工作效率,从而使书店能够以少的投入获得更好的社会效益与经济效益。2.2数据分析顾客表:应包含顾客号,顾客姓名以及顾客联系方式订单表:应包含订单号,销售图书号,销售数量,金额以及日期图书表:应包含图书编号,图书名,作者,单价,类别和出版社库存表:应包含图书编号,总量和余量2.3功能分析数据库应实现的功能有:(1)图书入库管理:维护入库图书信息(如图书编号、书名、作者、价格、图书分类、出版社等),自动计算库存。(2)按图书分类,出版社、书名、作者等条件查询图书的详细信息。(3)销售过的图书都记录,并且能显示每种图书的销售量,将销售量高的图书定为热销书,能够查询出某一天到某一天的销售额以及订单消息2.3.1书籍管理功能系统设置包括图书名称设置、书籍编号、书籍出版社、书籍价格、书籍类别。基本信息管理模块可以实现添加和重置书籍信息功能。

2.3.2订单管理功能系统设置包括顾客姓名设置、订单日期设置、订单编号设置、订单数量设置、订单金额设置。基本信息管理模块可以实现对订单的查询。2.3.3顾客管理功能系统设置包括顾客编号设置、顾客姓名设置、顾客联系方式设置。基本信息管理模块可以实现对顾客的查询。2.3.4库存管理功能系统设置包括图书编号、图书总量、图书余量设置。基本信息管理模块可以实现对图书数量的查询2.4安全性和完整性要求(1)安全性要求 :系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同 *** 作者对数据库的 *** 作来提高数据库的安全性;系统平台的安全性体现在 *** 作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。(2)完整性要求:系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。3 .结构设计3.1总体功能模块图图3.13.2书籍信息模块图图3.23.3订单信息模块图图3.33.4顾客信息模块图图3.43.5数据字典表3.5.1顾客表

列名 数据类型 约束

顾客号(Gno) Char(7) primary key

姓名(Gname) Nchar(20) Not null

联系方式(Gnumber) Char(20)

表3.5.2订单表

列名 数据类型 约束

订单号(Dno) Char(7) primary key

购买图书号(Bno) Char(7) primary key

购买数量(Dshul) Int Not null

金额(Dmoney) Int Not null

日期(Dtime) Smalldatetime Not null

顾客号(Gno) Char(7) External code

表3.5.3 图书表

列名 数据类型 约束

编号(Bno) Char(7) primary key

书名(Bname) nchar (20) not null

作者(Bwriter) nchar (20) not null

价格(Bjiage) Int not null

类别(Bleibie) nchar (20) not null

出版社(Bcbs) nchar (20) not null

表3.5.4库存表

列名 数据类型 约束

编号(Bno) Char(7) Primary key

总量(Kzong) Int Not null

余量(Kyu) Int

3.6 ER图设计3.6..1顾客ER图3.6.2 图书ER图图3.6.3图3.6.4图3.6.54 逻辑结构设计4.1 关系模型顾客与订单是1:m类型 订单与库存是1:1类型 库存与图书是1:m类型 关系模型如下:顾客表(顾客号、姓名、联系方式)订单表(订单号、购买图书号、购买数量、金额、日期、顾客号)图书表(编号、书名、作者、价格、类别、出版社)库存表(编号、总量、余量)(——代表主键,...代表外码)4.2 函数依赖在顾客表中,顾客号是主码,其它属性完全依赖于顾客号在订单表中,订单号是主码,顾客号是外码,其余属性完全依赖于订单号在图书表中,编号是主码,其余属性完全依赖于编号在库存表中,编号是主码,其余属性完全依赖于编号5.物理结构设计5.1创建图书表use books /*创建图书表*/create table book(Bno char (7) primary key,Bname nchar (20) not null,Bwirter nchar (20) not null,Bjiage int not null,Bleibie nchar (20) not null,Bcbs nchar (20) not null,)5.2 创建顾客表use books /* 创建顾客表*/create table guke(Gno char(7) primary key,Gname nchar (20) not null,Gnumber char(20),)5.3创建库存表use books /*创建库存表*/Create table kucun(Bno char(7) primary key,

Kzong int not null,Kyu int,)5.4创建订单表use books /*创建订单表*/Create table Dingdan(Dno char(7) primary key,Bno char(7) primary key,Dshul int not null,Dmoney int not null,Dtime smalldatetime not null,Gno char(10) not null,)6 数据库的实施6.1 给各个表添加数据例use books /*给图书表添加一行数据*/insert into bookvalues('101','白夜行','东野圭吾','30','侦探','天空出版社')使用语句添加完数据的表如下:6.1.1图书表6.1.2订单表6.1.3 顾客表6.1.4库存表6.2创建存储过程6.2.1图书的存储过程create proc tushu@Bno char(7),@Bname nchar(20),@Bwirter nchar(20),@Bjiage int, @Bleibie nchar(20),@Bcbs nchar(20),@MM INTasif not exists (select * from bookwhere Bno=@Bno)BEGINinsert into bookvalues (@Bno,@Bname,@Bwirter,@Bjiage,@Bleibie,@Bcbs)INSERT INTO KucunVALUES (@Bno,@MM,@MM)ENDELSEBEGINUPDATE KucunSET Kzong=KZONG+@MMWHERE BNO=@BNOUPDATE KucunSET KYU=KYU+@MM

WHERE BNO=@BNOEND图5.2.16.2.2顾客的存储过程create proc gukecun@Gno char(7),@gname nchar(10),@gnumber nchar(20)asinsert into gukevalues (@Gno,@gname,@gnumber )图5.2.26.2.3 订单的存储过程create proc dingdan@dno char(10),@Bno char(10),@Dshul int,@Dtime smalldatetime, @Gno char(10)asdeclare @Dmoney intselect @Dmoney=@Dshul*Bjiagefrom book,Dingdaninsert into Dingdanvalues (@dno,@Bno,@Dshul,@Dmoney,@Dtime,@Gno)图5.2.36.3 创建触发器针对图书信息表创建一个触发器,当向表book插入一条信息时,自动显示表中book中的记录create trigger 插入显示on bookfor insertasSelect * from bookInsert into book values('115','幻想之城','中此撒','30','悬疑','飒飒我出版社')6.4 建立视图6.4.1建立视图建立一个图书类别为侦探的视图,包括图书编号,图书名,作者,单价以及图书总量和余量create view v_leibieasselect book.Bno ,bname,bwirter,bjiage,kzong,kyufrom book,Kucunwhere book.Bno =Kucun.Bno and Bleibie ='侦探'图6.4.1图6.4.26.5 调试运行6.5.1查询姓张的顾客的购买记录select * from Dingdan

where Gno in (select Gno from gukewhere Gname like '张%')图6.5.16.5.2 添加一条图书信息后图书表以及库存表的显示exec tushu'115','幻想之城','中此撒','30','悬疑','飒飒我出版社','60'图6.5.2图6.5.36.5.3 查询销售量在10本以上的书,以此为畅销书select SUM(dshul),bnofrom Dingdangroup by Bnohaving SUM(Dshul)>10图6.5.46.5.4查询某一天的销售额select sum (Dmoney )总金额 from Dingdanwhere Dtime between '2019-11-01 'and '2019-11-02'图6.5.57.设计体会一个个星期的时间非常快就过去了,这一个星期不敢说自己有多大的进步。获得了多少如识,但起码是了解了项目开发的部分过程。虽说上过数据库的课程,但是没有亲身经历过相关的设计工作细节。这次课程设计刚好提供了一个很好的机会。通过这次课程设计发现这其中需要的很多知识我们都接触过,去图书馆查资料的时侯发现我们前边所学到的仅仅是皮毛还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。本次课程设计即将结束,我完成了自己所选的课题。通过完成这次课程设计,我加深了对相关知识的理解,加强了知识之间的联吊,促进了知识的迁移和应用。从需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己-开始的设计有问题,然后又回去翻工在各种反复中不断完善自己的想法。

致谢在这次数据库的课程设计过程中,我选择了书店销售管理系统的设计与实现。该系统能够顺利的完成,得益于老师的悉心指导和同学的帮助。更重要的是老师帮我们解决了许多技术的难题,以至于我们能够将书店销售管理系统的功能做得尽可能的完善。在这过程中,我周围的同学给了我许多启发,让我把书店销售管理系统设计的更加完善,老师渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪,使我不仅了解到许多新知识、开阔了视野,更提高了自身的数据库设计能力。另外,感谢老师给我们提供这样-一个课程设计的机会,使我们在学得专业知识的基础上能够自己动手并独立地完成数据库的设计与开发,使我们能够更多的学习-些实践应用知识,增强实际 *** 作和动手应用能力。最后,我再一次感谢在整个课程设计期间,在各个方面给予我们帮助的老师和同学,正是因为有了你们的帮助,才使我们的课程设计得以顺利完成。参考文献[1]李彦,韩光林,李玉波. SQL SERVE完全自学手册[M].北京:电子工业出版社,2007[2]萨师煊,王珊.数据库系统概论.北京:高等教育出版社.2005[3]Y.Daniel Liang.Java.万波. JAVA语言程序设计[M].第六版.北京:机械工业出版社,2008[4]《数据库原理及应用》 ,钱雪忠主编,北京邮电大学出版社,2007,第二版[5]《SQL server 2000数据仓库与Analysis Services》,Bain T著 ,中国电力出版社, 2003[6]《数据库技术与联机分析处理》 王珊主编,北京科学出版社,1998课程设计成绩评定表

课程设计题目 书店销售管理系统

课程设计学生答辩或质疑记录:

评 分 依 据 分 值 评分成绩

1.设计方案正确,具有可行性、创新性 30 分

2.系统调试与结果(系统功能正确、软件程序完整) 25分

3.设计报告的规范化、内容充实、参考文献 15分

4.平时成绩(考勤等) 10分

5.答辩 20分

总 分 100分

最终评定等级为:指导老师签字: 年月日

5.9

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

书店销售管理系统数据库设计

学号 1

课程 设 计

课程名称 《数据库系统原理》课程设计

题 目 书店销售管理系统

专 业

班 级

姓 名

成 绩

指 导 老 师

2019 年 12 月 30 日至 2019 年 1月 3日

一、课程设计目的与任务

第 1 页

《数据库系统原理课程设计》是针对计算机专业基础课《数据库系统原理》开设的课程设计,目的是使学生通过本课程设计之后,对数据库设计的基本概念、基本原理和优化技术有较全面的了解和领会,并能 *** 作当前流行的DBMS,了解数据库在计算机应用系统的作用,独立地开发实现一个小型的基于DBMS上的应用系统。结合具体的开发案例,理解并初步掌握数据库系统需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用功能设计(视图,索引,游标,存储过程,触发器等)数据录入及测试等系统设计与系统实施及维护管理的主要环节和步骤以及软件文档的制作能力。

1. 对图书馆的信息建几个表,考虑表之间的关系。

2.系统功能的基本要求:

a) 对数据库的编辑功能:对图书馆信息记录的添加、修改、删除。

b) 对图书的统计(国内图书、国外图书、计算机图书、外语图书、中文图等各类图书的统计)。

c) 对图书的查询(按关键字查询、模糊查询等);

d) 对报表的打印;

e) 界面友好。

1、概述

包括项目背景、编写目的、软件定义、开发环境等内容。

2、需求分析

问题陈述、需完成的功能。

用数据流图、数据字典、判断树等完成。

3、数据库概念设计

画出ER模型图

4、数据库逻辑设计

把ER模型图转换为关系表。

描述每一个基本表关系。要求所有关系达到BCNF范式。

定义视图、定义索引、主关键字、定义权限。

5 物理设计

主要用到存取方法

6、结束语

写出完成本课程设计的心得,领会数据库理论与软件开发实践的关系。有哪些收获。软件还需要哪些改进。

设计结果:设计报告,源程序代码。

#include <string.h>

#include <iostream.h>

class Book{ // 书籍基类

protected:

char Title[40]// 书名

long Code// 条码

int Type// 0表示书,1表示杂志

public:

Book()

Book(char *title,long code)

void SetCode(long code){ Code = code}

void SetTitle(char* tl){ strcpy(Title,tl)}

void SetType(bool type){Type = type}

int GetType(){ return Type}

long GetCode(){ return Code}

virtual void Show()// 显示书的信息

friend ostream&operator<<(ostream&, Book&)// 重载插入运算符

friend istream&operator>>(istream&is, Book&)// 重载提取运算符

Book *Next// 为创建每个读者所借书链表而定义指针

}

class Item :public Book{ //书的款目

// char Title[40]// 书名

char Author[20]// 著者名

char IndexCode[10]// 分类号

// long Code// 条码

public:

Item()

Item(char *author,char *title,char *index,int code)

Item(Item &)

void SetAuthor(char*)

void SetIndexCode(char*)

virtual void Show()// 显示书的信息

friend ostream&operator<<(ostream&os, Item&)// 重载插入运算符

friend istream&operator>>(istream&is, Item&)// 重载提取运算符

public:

}

class Magazine:public Book { //杂志类

int Volume

enum LANG {CHINESE=1,ENGLISH} Lang// 枚举变量,确定语言类别

public:

Magazine():Book(){Volume = 0Lang = CHINESEType = 1}

Magazine(char *title,int vol,LANG lang,int code)

Magazine(Magazine&)

void SetVolume(int vol){Volume = vol}

void SetLang(int lang){Lang = (LANG)lang}

virtual void Show()// 显示杂志的信息

friend ostream&operator<<(ostream&os, Magazine&)// 重载插入运算符

friend istream&operator>>(istream&is, Magazine&)// 重载提取运算符

}

class Reader{ // 读者信息类

char Name[20]// 姓名

char Position[20]// 职务

int Age// 年龄

long Code// 借书证号

Book* items// 所借书链表

public:

Reader()

Reader(char *name,char *posi,int age,int code)

// Reader(Reader&)

~Reader()

long GetCode(){return Code}

void SetName(char*)

void SetPosition(char*)

void SetAge(int)

void SetCode(long)

void AddBook(Item)// 添加所借书

void AddBook(Magazine)// 添加所借杂志

void DelBook(Book it)// 还书后减少所借书

void ShowBooks()// 显示所借书

void Show()// 显示读者信息

friend ostream&operator<<(ostream&os, Reader&)// 重载插入运算符

friend istream&operator>>(istream&is, Reader&)// 重载提取运算符

public:

int Counter//计数器,统计所借书数目

}

class Manager{ // 管理员类

char Name[20]// 姓名

int Age// 年龄

int Code// 工号

friend class Library// 将图书馆类声明为友元

public:

Manager(){}

Manager(char*,int,int)

long GetCode(){ return Code}

void Show()

friend ostream&operator<<(ostream&os, Manager&)// 重载插入运算符

friend istream&operator>>(istream&is, Manager&)// 重载提取运算符

}

class Loan { // 借阅信息类

int Type// 0表示书,1表示杂志

Item item// 借阅书

Magazine mag// 借阅杂志

Reader reader// 借阅者

Manager manager// 借书 *** 作员

int Code

friend class Library// 将图书馆类声明为友元

public:

Loan(){ }

Loan(Loan &l)

int GetCode(){ return Code}

void Show()

friend ostream&operator<<(ostream&os, Loan&)// 重载插入运算符

friend istream&operator>>(istream&is, Loan&)// 重载提取运算符

}

、、、、、、、、、、、、、、、、、、、、、、、

#include<iostream.h>

#include<string.h>

class Reader

template<typename T>class DblList

template<typename T>class DblNode{

public:

T Info//数据域

DblNode<T>*llink,*rlink//前驱(左链)、后继(右链)指针

public:

DblNode(T data)//一般结点

DblNode()//头结点

T GetInfo(){return Info}

friend class DblList<T>

friend class Library

}

template<typename T>class DblList{

DblNode<T>*head,*current

public:

DblList()

~DblList()

void Insert(const T&data)

DblNode<T>* Remove(DblNode<T>* p)

void Print()

int Length()//计算链表长度

DblNode<T>*Find(T data)//搜索数据与定值相同的结点

DblNode<T>* Find(int data)//按某个关键字查找

void MakeEmpty()//清空链表

void ShowList()//显示链表各结点

friend istream&operator>>(istream&, DblList<typename T>&)// 重载输入流运算符

friend ostream&operator<<(ostream&os, DblList<typename T>&dlist)// 重载输出流运算符

friend class Library

//其它 *** 作

}

template<typename T>DblNode<T>::DblNode(){

llink=rlink=NULL

}

template<typename T>DblNode<T>::DblNode(T data){

info=data

llink=NULL

rlink=NULL

}

template<typename T>DblList<T>::DblList(){//建立表头结点

head=new DblNode<T>()

head->rlink=head->llink=head

current=NULL

}

template<typename T>DblList<T>::~DblList(){

MakeEmpty()//清空链表

delete head

}

template<typename T>void DblList<T>::MakeEmpty(){

DblNode<T>*tempP

while(head->rlink!=head){

tempP=head->rlink

head->rlink=tempP->rlink//把头结点后的第一个节点从链中脱离

tempP->rlink->llink=head//处理左指针

delete tempP//删除(释放)脱离下来的结点

}

current=NULL//current指针恢复

}

template<typename T>void DblList<T>::Insert(const T &data){//新节点在链尾

current=new DblNode<T>

current->Info=data

current->rlink=head//注意次序

current->llink=head->llink

head->llink->rlink=current

head->llink=current//最后做

}

template<typename T>DblNode<T>* DblList<T>::Remove(DblNode<T>* p){ // 删除结点

current=head->rlink

while(current!=head&¤t!=p) current=current->rlink

if(current==head) current=NULL

else{//结点摘下

p->llink->rlink=p->rlink

p->rlink->llink=p->llink

p->rlink=p->llink=NULL

}

return current

}

template<typename T>DblNode<T>* DblList<T>::Find(T data){ // 按结点查找

current=head->rlink

while(current!=head&¤t->Info!=data) current=current->rlink

if(current==head) current=NULL

return current

}

template<typename T>DblNode<T>* DblList<T>::Find(int data){ // 按数据值查找结点

current=head->rlink

int temp =current->Info.GetCode()

while(current!=head&&temp!=data){

current=current->rlink

temp = current->Info.GetCode()

}

if(current==head) current=NULL

return current

}

template<typename T>void DblList<T>::Print(){ // 输出链表

current=head->rlink

while(current!=head){

cout<<current->Info<<'\t'

current=current->rlink

}

cout<<endl

}

template<typename T>int DblList<T>::Length(){ // 取得链表长度

int count=0

current=head->rlink

while(current!=head){

count++

current=current->rlink

}

return count

}

template<typename T>void DblList<T>::ShowList(){ // 输出链表各结点

int count=0

current=head->rlink

while(current!=head){

current->GetInfo().Show()

current=current->rlink

}

return

}

template<typename T>

istream&operator>>(istream&is, DblList<typename T>&dlist){

int len

T tt// 定义局部变量读入一个结点

is>>len

for(int i= 0 i<leni++){ // 循环读入链表各结点

is>>tt

dlist.Insert(tt)

}

return is

}

template<typename T>

ostream&operator<<(ostream&os, DblList<typename T>&dlist){

DblNode<T>*tempP

int len = dlist.Length()

os<<len<<' '

tempP=dlist.head->rlink

while(tempP!=dlist.head){ // 循环输出链表各结点

os<<tempP->Info

tempP = tempP->rlink

}

return os

}

#include "class.h"

#include "dblist.h"

#include <fstream.h>

class Library{ // 封装图书馆流通业务的类

DblList<Item>item// 在馆图书链表

DblList<Magazine>mag// 在馆杂志链表

DblList<Reader>reader// 读者链表

DblList<Loan>loan// 借阅信息链表

DblList<Manager>manager// 管理员信息链表

int itemNum// 记录在馆图书数目

int magNum// 记录在馆杂志数目

int readerNum// 记录读者数目

int loanNum// 记录借阅信息数目

int managerNum// 记录管理员数目

ofstream itemFileOut// 文件流对象,保存图书馆书籍数据

ifstream itemFileIn// 文件流对象,读入图书馆书籍数据

ofstream magFileOut// 文件流对象,保存图书馆杂志数据

ifstream magFileIn// 文件流对象,读入图书馆杂志数据

ofstream readerFileOut// 文件流对象,保存图书馆读者数据

ifstream readerFileIn// 文件流对象,读入图书馆读者数据

ofstream loanFileOut// 文件流对象,保存图书馆借阅信息数据

ifstream loanFileIn// 文件流对象,读入图书馆借阅信息

ofstream managerFileOut// 文件流对象,保存图书馆管理员数据

ifstream managerFileIn// 文件流对象,读入图书馆管理员数据

public:

Library()// 构造函数

~Library()//析构函数

void Run()// 图书馆类的运行函数

void CreateBibliotheca()// 创建书目

void CreateReader()// 创建读者库

void CreateManager()// 创建管理员信息

int ShowMainMenu()// 显示主菜单函数

void Borrow()// 借书 *** 作

void Return()// 还书 *** 作

void Require()// 查询 *** 作

void SaveInfo()// 保存图书馆信息

void OpenInfo()// 读入图书馆信息

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6671971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存