首页 C++ 图书馆管理系统

C++ 图书馆管理系统

举报
开通vip

C++ 图书馆管理系统C++ 图书馆管理系统 图书管理系统的建立 摘 要 二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息,图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢, 科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入...

C++ 图书馆管理系统
C++ 图 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 馆管理系统 图书管理系统的建立 摘 要 二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。如何获取信息,图书是我们最好的获取信息的方式,但由于图书馆图书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢, 科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可以花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。 一 系统 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 阶段 一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。 以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。 第 1 页 共 16 页 为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 格,以便全面 掌握图书的流通情况。 本次 课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。 图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。 本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计、系统输入/输出设计等。作这些工作需对数据库知识有足够认识,并深入的了解VC++6.0的使用和管理系统的相关知识。 二 需求分析阶段 需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。Visual C++ 数据库设计的第一步是明确数据库的目的和如何使用。也就是说需要从数 据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息 (表),以及每个主题需要保存哪些信息(表中字段)。 要设计一个有效的数据库,必须用系统工程的观点来考虑问题。在系统分 析阶段,设计者和用户双方要密切合作,共同收集和分析数据管理中信息的内 容和用户对处理的要求。 根据系统分析,图书管理系统的要求如下 : (1)需求分析: ? 能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除; ? 能够实现对读者档案的查询和编辑管理; ? 能够进行罚款功能; 第 2 页 共 16 页 ? 能够进行借阅历史的查询功能; (2)系统性能要求: ? 系统安全、可靠; ? 功能齐全; ? 操作方便、界面友好; ? 易于维护和扩充。 (3)系统的功能分析: 密码设置:每个操作员均有自己的密码,可以防止非本系统人员进入本系统; 又因每个人的权限不一致,故可以防止越权操作。 资料维护:为了存放图书、读者档案的全部数据,本系统将每一本图书和每位 读者的信息进行管理。系统维护包括对各种表记录的修改、删除、 添加等操作。 系统查询:可以按图书编号、借阅证编号等相关信息进行查询 系统管理:进行员工管理、数据备份和数据恢复。 报表统计:包括统计图书信息、读者信息、借阅信息和罚款信息等。 其它操作:包括修改密码、添加用户、页面设置等 2.1系统功能模块 图书管理系统需要实现的功能主要有四大块:“日常工作管理”、“基本资料维护”、“查询”、和“系统管理”模块。其中日常工作管理和基本资料维护是整个系统的核心。 2.1.1 功能的实现: 1(“日常工作”模块: (1) 借书处理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据 库中插入一条借书记录,该记录包括读者ID、图书ID、借出日 期、还书期限、操作员姓名。 (2) 还书处理:主要功能是输入借阅证编号、图书ID,在借阅登记表中找到相 应的记录,将该记录的相应数据插入到还书记录中,同时将借 第 3 页 共 16 页 书记录删除,并保存在借阅历史记录表中。 (3) 缴纳罚金:输入读者ID,显示该读者的姓名、图书编号、罚款金额和罚款原 因,如果读者交纳了罚金,则将借阅登记表的允许借阅标志置 为“Y”。删除罚款记录表中该读者对应的记录,将这一条记录 同时插入到罚款历史记录表中。 2(“基本资料维护”模块: (1)图书资料维护:包括新书的入库,以及现有书籍资料的修改和删除。 (2)读者资料维护:包括新会员的资料入库,以及现有会员资料的修改和删除 3(“查询”模块: (1)图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括: ‘图书分类’、‘图书编号’、‘图书名称’、‘作者’、‘出版社’。 (2)读者资料查询:根据相应的读者资料进行所需查询。 ‘借阅证编号’、‘读者 姓名’、‘身份证编号’以及‘止借标志’。 (3)借阅历史记录查询:根据相应的借阅信息进行所需查询。此查询包括:‘借阅 证编号’、‘图书编号’、‘借书日期’、‘还书日期’。 (4)罚款历史记录查询:根据相应的罚款信息进行所需查询。此查询包括:‘借阅 证编号’、‘罚款日期’、‘罚款原因’。 4(“系统管理”模块: (1)员工管理:包括新员工信息的录入,密码的修改以及员工信息的删除。 (2)数据备份:对现有的数据库信息的保存。 (3)数据恢复:对数据库信息的恢复。 2.1.2 模块框架图 图书管理系统 第 4 页 共 16 页 日常工作 查 询 系统管理 基本资料维护 读图读借罚图 系员数数者书者阅款书 借还缴 统工据据资资资资历历书书纳 登管备恢料料料料史史处处罚 理 理 金 录 理 份 复 维维查查维维 护 护 询 询 护 护 图2-1 模块框架图 2.2系统数据分析 通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、工作人员。通过对各实体数据关系的整理,我们可以画出如下E—R图: 读者 还书 借阅 图 书 还书 管理员 图2-2 系统E-R图 第 5 页 共 16 页 这些实体涉及的数据项有: 字段类型 字段大小 索引 必须填写 字段名称 BOOK_ID 30 文本 有(无重复) 是 BOOK_NAME 50 文本 是 CLASS 20 文本 是 AUTHOR30 文本 是 PRESS 50 文本 是 数字 是 PRICE STOCK 数字 是 读者:借阅证编号、姓名、身份证号、最大借书数、止借标志。 图书:图书编号、图书名称、作者、出版社、价格、库存量。 工作人员:员工编号、员工姓名、员工性别、身份证号、登陆密码。 实体之间的联系涉及的数据项有: 借阅信息表:借阅证编号,图书编号1,图书编号2,图书编号3,借书日期1,借 书日期2,借书日期3,操作员姓名。 罚款信息表:借阅证编号,读者姓名,图书编号,图书名称,罚款原因,罚款金额, 罚款日期,操作员姓名。 第三章 设计阶段 3.1概要设计 3.1.2系统数据库设计 1(图书信息数据表 图书信息数据表的主要功能在于新书入库以及保存在库图书的主要信息和相关信息, 包括:‘图书编号’、‘图书名称’、‘作者’、‘出版社’、‘单价’以及‘库存量’ 图书编号字段为主关键字段,书名字段、作者字段、出版社字段、单价字段和 第 6 页 共 16 页 库存量字段分别记录图书的书名、作者、出版社、图书单价和库存量的信息; 2.读者信息数据表 读者信息数据表的主要功能是新读者的注册以及保存已注册的读者相关信息。 它包括:‘借阅证编号’、‘读者姓名’、‘读者身份证号’、‘最多借书数’和‘止借 标志’。 字段名称 字段类型 字段大小 索引 必须填写 READER_ID 30 文本 有(无重复) 是 NAME 8 文本 是 ID_CARD 20 文本 是 MAXNUM_CAN_BORROW 数字 长整型 是 FLAG_BORROW 数字 长整型 是 读者编号字段为主关键字段,读者姓名字段、身份证号字段、最大借书数字段和‘止借标志’字段分别记录读者的借阅证编号、读者姓名、读者的身份证号、最大借书数和‘止借标志’信息; 3.员工信息数据表 员工信息数据表的主要功能是新员工的注册以及保存已注册员工的相关信息。 它包括:‘员工编号’、‘员工姓名’、‘员工身份证号’、‘员工性别’和‘登录密码’。 字段名称 字段类型 字段大小 索引 必须填写 CLERK_ID 30 文本 有(无重复) 是 NAME 8 文本 是 ID_CARD 20 文本 是 PASSWORD 30 文本 是 SEX 2 文本 是 员工编号字段为主关键字段,姓名字段、性别字段、身份证号字段、登录密码字段分别记录读者的员工编号、员工姓名、员工性别、员工的身份证号以及登录密码 第 7 页 共 16 页 借书登记信息数据表的主要功能是进行有关借阅图书过程中信息的处理 它包括:‘借阅证编号’、‘图书编号1’、‘图书编号2’、‘图书编号3’、‘借阅时 1’、‘借阅时间2’、‘借阅时间3’和‘员工姓名’。 字段名称 字段类型 字段大小 索引 必须填写 READER_ID 30 文本 有(无重复) 是 BOOK_ID1 30 文本 是 BOOK_ID2 30 文本 是 BOOK_ID3 30 文本 是 BORROW_DATE1 日期 是 BORROW_DATE2 日期 是 BORROW_DATE3 日期 是 CLERK_NAME 30 文本 是 5.借阅历史信息数据表 借阅历史信息数据表的主要功能是对借阅历史的信息进行查询。 它包括:‘借阅证编号’、‘读者姓名’、‘图书编号’、‘图书名称’、‘借阅时间’、 ‘归还时间’‘借书操作员姓名’、‘还书操作员姓名’和‘备注’。 6(罚款信息数据表 罚款信息数据表的主要功能是读者因不正常还书而被罚款的记录。 它包括:‘借阅证编号’、‘读者姓名’、‘图书编号’、‘图书名称’、‘借阅时间’、‘罚款原因’‘罚款金额’、‘罚款日期’和‘操作员姓名’。 第 8 页 共 16 页 字段类型 字段大小 索引 必须填写 字段名称 READER_ID 30 文本 有(无重复) 是 NAME 30 文本 是 BOOK_ID 30 文本 是 BOOK_NAME 30 文本 是 WHYS 文本 是 AMOUNT 20 数字 是 FINE_DATE 日期 是 CLERK_NAME 30 文本 是 7.罚款历史信息数据表 罚款历史信息数据表的主要功能是对某位读者罚款历史的信息进行查询。 它包括: ‘借阅证编号’、‘读者姓名’、‘图书编号’、‘图书名称’、 ‘罚款原因’ ‘罚款金额’、‘罚款日期’和‘解止日期’。 字段名称 字段类型 字段大小 索引 必须填写 READER_ID 30 文本 有(无重复) 是 NAME 30 文本 是 BOOK_ID 30 文本 是 BOOK_NAME 30 文本 是 WHYS 文本 是 AMOUNT 20 数字 是 FINE_DATE 日期 是 OK_DATE 30 文本 是 8.图书分类信息数据表 图书分类信息数据表的主要功能是对图书进行分类。 它包括:‘分类编号’和‘类名’ 第 9 页 共 16 页 字段名称 字段类型 字段大小 索引 必须填写 CLASS_ID30 文本 有(无重复) 是 CLASS_NAME 30 文本 是 3.2 详细设计 3.2.1数据信息准备 1(“图书资料维护”模块: 要进行图书资料的维护就必须有图书的相关信息:如:图书的分类、图书的编号、图书的名称、图书的作者、图书出版社以及图书的库存量。新的图书,都要进行新书入库,将新书的各项信息输入图书资料维护信息数据表中,从而图书资料维护信息数据表将会更新,新书入库过程完成。在进行图书分类信息的时候,字段就相应比较少了,只需要描述某本图书在所有图书中的类型就完全可以了,这个信息将提供给工作人员进行借书登记时信息的一个依据。在图书修改信息中,每本现有的图书将会出现丢失或严重损坏,从而导致该类图书无法再进行借阅,那么就要进行删除或修改图书的库存量。 2.“读者资料维护”模块: 要进行读者资料的维护就必须有读者的相关信息:如:读者所使用的借阅证编号、读者的姓名、读者的身份证号以及止借标志。新的读者,都要进行信息登记,将新会员的各项信息输入读者资料维护信息数据表中,从而读者资料维护信息数据表将会更新,更新后新的会员就可以借阅图书了。在进行只需要描述某本图书在所有图书中的类型就完全可以了,这个信息将提供给工作人员进行借书登记时信息的一个依据。在图书修改信息中,每本现有的图书将会出现丢失或严重损坏,从而导致该类图书无法再进行借阅,那么就要进行删除或修改图书的库存量。 3.2.2程序数据流图 1(系统功能 流程图 破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word 第 10 页 共 16 页 用户登录 调用数据库 ,Y/N 系统主界面 退出系统 图3-1 系统功能流程图 2(“图书资料维护”数据流图 图3-2 “图书资料维护”数据流图 第 11 页 共 16 页 3(“读者资料维护”数据流图 图3-3 “读者资料维护”数据流图 四 设计思想 详细设计思想 4.2.1“资本资料维护”模块设计: 本模块包括两个方面:‘图书资料维护’和‘读者资料维护’。 一、“图书资料维护”: 其实现的功能是对新书的录入、现有书目的修改、删除以及保存,同时为了便于用户查看书目,使用了MFSlexGrid控件显示出网格数据。打开“图书资料维护模块”对话框(CBookDlg)时,调用SetButtonState()(设置按钮状态)、SetTextState()(设置文本编辑框状态)、DisplayRecord()( 数据显示)函数,将对话框初始化,然后可以进行相关的操作。添加书目时有两种情况,一是要添加的图书是新书,二是书库中已存在此类书籍。实现此功能的程序流程图如下: 第 12 页 共 16 页 开始 输入相应数据 查找数据库 判断书名/作者 调用AddNew 调用Edit函数 添加新记录 库存增加 更新记录集 更新记录集 结束 图4-1 “图书资料维护”数据流程图 在这里,图书的添加、修改和删除操作都与前面的用户资料维护功能一样,分别调用CRrecordSet提供的AddNew、Edit、Delete成员函数,可方便的实现对数据库的操作,此模块可以实现图书维护的基本功能。 在查看图书基本资料的时候需要用到Crecordset提供的几个成员函数,用来在记录集中滚动,如下所示: void MoveNext( );//前进一个记录 void MovePrev( );//后退一个记录 void MoveFirst( );//滚动到记录集中的第一个记录 void MoveLast( );//滚动到记录集中的最后一个记录 当图书信息被添加、修改以及删除后,在保存的同时,数据库将会自动更新。系统调用‘void shuixin()’,重画网格。 第 13 页 共 16 页 二、“读者资料维护”模块设计: “读者资料维护”模块的实现与“图书资料维护”基本上一样,实现了读者的借书证号、姓名、证件号码的登记。在模块的设计过程中,根据需要对数据库中的“读者登记表”作了相应的修改。 读者资料的添加、修改、保存部分实现代码如下: 二、“数据备份”和“数据恢复”模块设计: 数据备份和恢复:用户处理数据往往要存盘作永久备份,在需要时进行数据恢复。在设计数据备份和恢复是要用到文档的序列化(Serialize)。MFC库中,磁盘文件是通过CFile类来表示的,它通过Win32函数CreateFile所得的二进制文件 句柄进行了封装。但MFC重载了Serialize函数。使得用户不必使用CFile类就可以完成相应的文档操作。在Serialize函数中,定义一个基于CArchive类的对象ar,可以使用插入运算符(《)和提取运算符(》)来续写数据,从而实现数据的备份和恢复。 ( } 4.2.3“用户登录”模块设计: 登录模块是要根据用户输入的用户名和密码与数据库Clerk中的Username和Password的比较来判断用户名和密码是否合法。这里用到在 Visual C++环境下数据库的操作。该操作的流程如下:用户在相应的控件内填写姓名和密码,通过“UpdateData(TRUE);”将控件中的数据传送给字段数据成员,然后执行下面的SQL语句: SELECT * FROM CLERK WHERE NAME=m_strName AND PASSWORD=m_strPassword; 查询Clerk表中是否有用户名为m_strName,并且密码为m_strPassword的记录。打开记录集,查询是否有符合条件的记录,如果记录集不为空,则说明有符合条件的记录,说明登录合法,否则“登录失败~”。在用户通过了身份验证之后,就可以进入系统,进行所有的操作。 第 14 页 共 16 页 登录模块实现起来相对比较简单,只是用到了一个SOL查询语句,在编程过程中没有遇到什么困难。 “设计体会 这次设计的主要目的是通过利用当今最流行可视化编程工具Visual C++ 6.0设计应用程序,用来管理由Access2000创建的数据库。利用Visual C++6.0的ODBC(Open Database Connectity,开发数据库连接)、DAO(Data Access Objects,数据访问对象)及OLE DB(OLE data Base,OLE数据库),编写程序来实现用户对图书数据库的录入、修改、检索等操作。让用户方便地掌握图书的库存情况与借阅情况,以及图书书目、读者信息、图书借阅情况等,利用DAO、ODBC编程来实现信息的输入、编辑(删除、增加、修改)等功能,继而完成对图书信息数据库、读者信息数据库、借阅信息数据库的必要操作。 通过这次的课程设计,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。 同时,在软件开发方面也累积了不少经验,特别是在对软件开发工具不很熟悉的情况下,通过自己的学习和导师的指导完成了设计任务。并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对知识的理解。 这次课程设计完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。在学与做的过程中自身的努力以及相关图书资料的帮助,逐渐熟悉了Visual C++ 6.0在数据库方面的应用知识。程序开发的一般过程和对数据库知识的进一步的了解,在这个快速发展的当代社会里,数据库已经普遍应用在各个领域。在这次的课程设计中我学习到不少的数据库知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题,甚至错误。恳请各位老师批评指正,致使我在以后的工作和实践中加以改进和提高。 第 15 页 共 16 页 7(结束语 课程设计对我们非常重要。在课程设计中,通过广泛查阅与课题有关的内容,使我掌握了许多与计算机有关的东西,更重要的是使我对VC,Access等软件功能和应用有了一定的了解。为此,我对设计一套完整的软件系统的步骤、方法及思路有了一个全新的认识。这加深了我对计算机软件设计的理解,同时也给我提供了一次为以后实际模拟锻炼的机会,我感到受益非浅。为此,我也希望我的课程设计能给指导我的老师交上一份满意的试卷。 参考文献: [1] 伍俊良.《Visual C++ 课程设计与系统开发案例》.清华大学出版社 [2] 杨小平.《Visual C++ 项目案例导航》.科学出版社 [3] 邓宗明,张晓竞.《Visual C++ 编程实用技术与案例》.清华大学出版社 [4] 郑阿奇.《Visual C++ 实用教程》.电子工业出版社 [5] 萨师煊,王珊.《数据库系统概论》.高等教育出版社 [6] 郑人杰,殷人昆,陶永雷(实用软件工程(清华大学出版社(1997.4 第 16 页 共 16 页
本文档为【C++ 图书馆管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:61KB
软件:Word
页数:17
分类:互联网
上传时间:2017-10-24
浏览量:46