您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 数据结构课程设计报告图书馆管理系统
数据结构与算法课程设计报告(2011--2012年度第2学期)图书馆管理系统学院英才实验学院学生姓名张浩然班级2010001040学号2010001040008指导教师陈端兵完成日期2012.6C++程序设计课程设计11.1课程设计目的巩在图书馆中,当借书人员越来越多时,对图书馆图书管理是一项琐碎、复杂而又需要十分认真的工作,对图书馆图书借出和还回图书及剩余图书信息的统计工作量很大,但又是不允许出错的,如果实行手工操作,每天借出图书和还回图书信息需要手工填写大量的表格,这就会耗费图书馆管理员大量的时间和精力。为了减轻图书馆管理员的负担,提高工作效率,同时也为了提高图书馆的现代化服务水平,因此,我们用所学的C#知识做了一个图书馆信息管理系统,让我们可以很好的利用图书馆信息管理系统来登记图书馆图书信息。固并加深学生对C++语言程序设计知识的理解;1.2课程设计内容1)利用C语言设计一个图书馆管理系统。2)基本要求:[1]:管理员登陆后,可以进行的操作(1)添加学生的信息(学号,姓名,院系,最大借阅的图书数量等);(2)修改学生的信息(学号,姓名,院系,最大借阅的图书数量);(3)删除学生的信息(学号,姓名,院系,最大借阅的图书数量),如果某个学生退学,就要清除他的信息;(4)查看学生的信息;(5)添加图书的信息(图书号,书名,作者,出版社,数量等);(6)修改图书的信息(图书号,书名,作者,出版社,数量等);(7)删除图书的信息(图书号,书名,作者,出版社,数量等);(8)查看图书的信息;[2]:学生登陆后,可以进行的操作(1)查看学生自己借阅的数目信息;(2)借阅图书;(3)归还图书;(备注:要求将学生和图书信息存放到外存上,每次从外存读取数据。)永磁同步电机双环调速系统的仿真研究22系统需求分析2.1系统目标实现一个留言板2.2主体功能1.留言能选择保存路径2.能签署留言日期3.能选择留言打开路径并阅读留言4.能转存留言。2.3开发环境VC++6.0,C#环境3逻辑设计方案(1)图书管理系统概念模型C++程序设计课程设计3图2-1图书管理系统的整体E-R图(2)图书管理系统逻辑模型读者信息:(读者编号、姓名、单位、性别、读者类别名、登记时间、已借书数量、电话、住址、超期次数)读者类别信息:(读者类别名、可借书数量、借书日期)书籍信息:(图书编号、书名、作者、类别编号、出版社、出版日期、入库时间、馆藏数量、可借复本、价格)书籍类别信息:(类别编号、图书类别名)永磁同步电机双环调速系统的仿真研究4书籍唯一识别信息:(书名、图书序号、图书编号)借阅信息:(序号、读者编号、图书编号、图书序号、借阅时间、归还时间)(3)图书管理系统物理模型数据表读者类别表表名属性名数据类型字段长是否允许为空约束条件读者类别(userCate)读者类别名(cateName)varchar10否主键可借书数量(borrNum)int否借书期限(borrTime)int否书籍信息表表名属性名数据类型字段长是否允许为空约束条件书籍信息(book)图书编号(bookId)char10否主键书名(bookName)varchar20否作者(author)varchar20否类别编号(bkCateId)varchar6否外键出版社(publish)varchar20否出版日期(pubTime)date入库时间(checkIn)date否可借复本(bkNum)varchar6否价格(price)money书籍识别表表名属性名数据类型字段长是否允许为空约束条件书籍识别(bookcategory)书名(bookName)varchar20否主键图书序号(orderNum)char6否图书编号(bookId)char10否书籍类别表表名属性名数据类型字段长是否允许为空约束条件图书类别(bookcategory)类别编号(bkCateId)varchar6否主键图书类别名(bookCate)nvachar20否读者信息表表名属性名数据类型字段长是否允许为空约束条件读者信息(userTb)读者编号(userId)char6否主键姓名(userName)varchar10否单位(userDep)nvarchar20C++程序设计课程设计5性别(userSex)varchar2否默认为男读者类别名(cateName)varchar10否外键登记时间(userReg)date否已借书数量(userBkNum)int电话(userTel)varchar11住址(userAdd)varchar30超期次数(overtimes)char6借阅表表名属性名数据类型字段长是否允许为空约束条件借阅信息(lending)序号(id)int否主键,自动编号读者编号(userId)char6否外键图书编号(bookId)char10否外键图书序号(orderNum)char6否借阅时间(lendDate)date否归还时间(rtnDate)date3物理设计方案(1)创建数据库createdatabaselibraryon(name=library,filename='d:\library.mdf')(2)创建表(包含外键)创建读者类别表createtableuserCate(cateNamevarchar(10)notnullprimarykey,borrNumintnotnull,borrTimeintnotnull)创建书籍类别表createtablebookCateGory(bkCateIdvarchar(6)primarykeynotnull,bookCatenvarchar(20)notnull)创建书籍识别表createtablebookName(bookNamevarchar(20)notnullprimarykey,orderNumchar(6)notnull,bookIdchar(10)notnull,)创建书籍信息表永磁同步电机双环调速系统的仿真研究6createtablebook(bookIdchar(10)notnullprimarykey,bookNamevarchar(20)notnullforeignkeyreferencesbookName,authorvarchar(20)notnull,bkCateIdvarchar(6)notnullforeignkeyreferencesbookCateGory,publishvarchar(20)notnull,pubTimedatenull,checkIndatenotnulldefault'2004/09/01',bkNumvarchar(6)notnullcheck(bkNum0),pricemoneynull)创建读者信息表createtableuserTb(userIdchar(6)primarykeynotnull,userNamevarchar(10)notnull,userDepnvarchar(20)null,userSexvarchar(2)default'男'check(UserSexin('男','女')),cateNamevarchar(10)notnullforeignkeyreferencesuserCate,userRegdatenotnulldefault'2005/03/10',userBkNumintnull,userTelvarchar(11)null,userAddvarchar(30)null,overtimeschar(6)null)创建借阅信息表createtablelending(idintidentity(0001,1)notnullprimarykey,userIdchar(6)notnullforeignkeyreferencesuserTb,bookIdchar(10)notnullforeignkeyreferencesbook,orderNumchar(6)notnull,lendDatedatetimenotnull,rtnDatedatetimenull)(3)创建相关约束和绑定规则创建图书类别取值范围为计算机类、管理类、电子类、机械类的规则,并与相应的列绑定createrulebkLimias@bookCatein('计算机类','管理类','电子类','机械类')execsp_helptextbkLimiexecsp_bindrulebkLimi,'bookCateGory.[bookCate]'向借阅表插入一条记录时,读者表相应的读者已借书数量+1createtriggeruserBkNum_trionLendingafterinsertasbegindeclare@zchar(6)select@z=userIdfrominsertedupdateuserTbsetuserBkNum=userBkNum+1whereuserId=@zandovertimes5endgoC++程序设计课程设计7向借阅表插入一条记录时,图书表相应的可借复本-1createtriggerbkNum_trionlendingafterinsertasbegindeclare@ychar(10)select@y=bookIdfrominsertedupdateBooksetbkNum=bkNum-1wherebookId=@yandbkNum0endgo读者每超期未还书一次,读者表的超期未还次数+1createtriggerovertimes_a2onlendingafterinsertasbegindeclare@xchar(6)declare@vchar(10)declare@wdatedeclare@eintdeclare@odateselect@x=userIdfrominsertedselect@v=cateNamefromuserCateselect@w=lenDdatefrominsertedselect@e=borrTimefromuserCatewherecateName=@vselect@o=rtnDatefrominsertedupdateuserTbsetovertimes=overtimes+1whereovertimes5anduserId=@xanddateadd(dd,@e,@w)getdate()and@oisnullendgo(4)插入数据向bookcategory表插入数据并以此为例创建事务约束begintraninsertbookCateGoryvalues('TP','计算机类')savetransave_here/*设置事务保存点*/insertbookCateGoryvalues('EC','管理类')insertbookCateGoryvalues('DZ','电子类')insertbookCateGoryvalues('JX','机械类')if@@error0rollbacktransave_here/*事务的回滚语句*/gocommittrango永磁同步电机双环调速系统的仿真研究8向useercate表插入数据insertuserCatevalues('本科生','03','60')insertuserCatevalues('教师','20','90')insertuserCatevalues('研究生','05','60')向bookname表插入数据insertbookNamevalues('VB程序设计','05','TP101')insertbookNamevalues('JAVA程序设计','02','TP102')insertbookNamevalues('C程序设计','10','TP103')insertbookNamevalues('微观经济学','12','EC101')insertbookNamevalues('经济学概论','03','EC102')insertbookNa
本文标题:数据结构课程设计报告图书馆管理系统
链接地址:https://www.777doc.com/doc-2429634 .html