图书馆管理系统设计论文

图书馆管理系统设计论文,第1张

21世纪,人类社会正面临知识经济和信息社会的急剧变革,世界各个角落的人们都强烈地感受到新时代的冲击与震撼。下面是我为大家整理的图书馆管理系统设计论文,供大家参考。

图书馆管理系统设计论文篇一

图书管理系统设计

图书馆管理系统设计论文摘要

【摘要】本文介绍了利用ASP+Access编写图书管理系统的实现主要步骤与部分技术代码。

图书馆管理系统设计论文内容

【关键字】ASPAccess

随着计算机 网络技术 的普及和发展,现已逐渐进入信息化社会。人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发基于网络平台的图书管理信息系统已经成为图书管理部门的必要因此,我按照图书管理部门的需要,采用ASP+Acces实现了此图书管理系统。

一、ASP+Access

ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和 其它 程序进行交互,是一种简单、方便的编程工具。

Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。

由于Access存储方式简单,易于维护管理、移植性好,所以本系统采用ASP做为编程工具、Access做数据库来开发

二、系统模块

此系统共分为八大模块,包括图书简介、 规章制度 、图书录入、归还图书、图书查询、新购图书、未归图书、系统维护。名模块的功能如下:

一图书简介:把图书进行分类和定义索书号,以方便查询。

二规章制度:主要介绍图书管理的订购、借阅、归还等制度。

三图书录入:对新购图书按书名、作者、分类、编号等图书信息进行录入。

四图书归还:此模块是图书管理员对归还的图书,按照图书编号进行入库管理。

五图书查询:按图书信息一些主要字段对数据库进行查询并显示。

六新购图书:查询某一时间段以后所购买的茄悉图书并显示。

七未归图书:显示未归的图书,并分页显示。

八系统维护:对数据库进行备份和恢复。

三、设计数据库

此图书管理系统数据库里主要有以下几个表:

User:用来存储图书管理员的用户名和密码。字段为user、pwd。

Menu:存储程序主页面的菜单名称和链接地址。字段为ID、父菜单ID、位置、URl、字体颜色、菜单项。

Bookinfo:用来存储图书的各种信息。字段为书名、作者、图书分类、图书编号、索书号、出版社、版期版次、购入日期、价格、排架号、是否借阅、借阅日期、应归还日期、借阅科室、借阅人、备注。颤乱乎

Dept:用来存储科室名称。字段为dept。

四、程序设计

一登录模块及Session的使用

由于此系统有些功能是不允许普通用户使用的,如图书录入、图书归

还等模块,所以本系统采用以管理员登录的方式,来判断是何种用户使用本系统,如果是普通用户,点击“以普通用户登录”,就可以使用本系统,但图书录入、归还图书和系统维护等模块不能使用。

由于有些功能模块不陪迅允许普通用户使用,故在登录模块程序语句定义一个Session:Session("UserAcc") = Trim(rs("User"))。 Session在计算机中,尤其是在网络应用中,称为“会话”,用于保持状态的基于 Web 服务器的 方法 。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。因此,在限制普通用户使用并用If判断Session("UserAcc")是否为空即可。

二表单验证

在图书录入模块中,需要填写图书的各种信息,在提交表单时如果某

些信息为空,IE就会显示出错,因此,在提交表单之前对表单进行验证,JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证,只需编写一个函数就可以实现。函数如下

function checkinput() {

if (frm.bookname.value=='') {

alert('请输入书名')

frm.bookname.focus()

return false

}

}

在提交按钮代码中加入OnSubmit="Return checkinput()"就可以完成对表单的验证了。

三数据库连接

对于Access数据库,一个文件就是一个数据库,所以可以利用数据驱动程序直接访问数据,这种方法需要利用动态连接字符串建立一个连接,具体连接字符如下:

Dim conn, connstr,db

db="./data/tushu.mdb"

connstr="Provider=Microsoft.Jet.OLEDB.4.0DataSource="&Server.MapPath(db)

Set conn=Createobject("ADODB.Connection")

conn.Open connstr

这样就可连接数据了,再用SQL语句就可以读取表中数据了:

Set rs=CreateObject("ADODB.RecordSet")

sql="Select * From bookinfo"

rs.Open sql,conn,1,3

四对数据库的 *** 作

连接好数据库后,我们就可以对表bookinfo的记录进增加、删除、修改等 *** 作了。具体代码及释义如下:

(1):增加:

bianhao=Trim(Request("bianhao"))

sql="Select * From bookinfo Where 图书编号='"&bianhao &"'"

rs.Open sql,conn,1,3

If rs.recordcount<>0 Then

Response.Write "此图书编号已存在,请重新输入"

Response.Write "

"

Response.Write ""

Response.Write "返 回"

Else

注:在增加信息时,必须检索图书编号是否唯一,如不唯一会出给出提示:“此图书编号已存在,请重新输入”

rs.addnew

rs("书名")=trim(request("bookname"))

rs(“作者")=trim(request("author"))

……

rs.update

end if

Response.Redirect "addbook.html"

end if

set rs=nothing

(2)删除

本系统“删除”图书记录功能在查询模块中执行,但必须以管理员身份登录,才能显示对记录进行 *** 作的功能:

删除记录采用SQL中的delete语句,代码如下:

bh=Request("bianhao")

If bh<>"" Then

conn.Execute "Delete From bookinfo Where 图书编号='"&bh &"'"

End If

(3)修改

修改只需rs.update命令即可完成,这里不再赘述。

(4)查询

本系统有精确查询、模糊查询、分类查询、编号查询、索书号查询、借阅人查询共六种方法。用SQL中select…where…就可以完成查询功能。如按分类查询:

tiaojian=Trim(request("tiaojian"))

Set rs=CreateObject("ADODB.RecordSet")

sql="select * from bookinfo where 图书分类= '"&tiaojian &"' order by 图书编号 desc"

rs.Open sql,conn,1,1

五、小结

此图书管理基本上可以实现图书管理的大部份工作,实现图书的计算机管理,方便借阅人员查询和借阅图书,更好的利用图书资源,把图书管理员从手工记录管理图书中解脱出来,提高了工作效率。

图书馆管理系统设计论文文献

[1]伍云辉. 程序天下 电子工业出版,2008

[2]武延军,赵彬.精通ASP网络编程. 人民邮电出版社,2000

[3][美]Michael Moncur JavaScript 入门经典 人民邮电出版,2007

图书馆管理系统设计论文篇二

图书管理信息系统设计

图书馆管理系统设计论文摘要

提要作为信息资源的集散地,图书馆在高校中的作用是尤为重要的,而图书馆传统人工管理方式已经无法快速、高效地应付日益增长的信息数据。随着计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。因此,图书管理信息系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底解脱出来,从而使人们有更多的时间来获取信息、了解信息、掌握信息,更好地发挥图书馆强大的资源优势。

图书馆管理系统设计论文内容

关键词:图书管理信息系统数据库应用Visual Foxpro语言windows HC

中图分类号:G251文献标识码:A

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库而对于后者则要求应用程序功能完备,易使用等特点。本是从我校图书馆的馆藏规模和实际 *** 作流程程出发,针对图书馆管理的现状,经过详细的系统调查,结合效用和成本多方要素。利用Visual Foxpro6.0作为开发工具,为图书馆开发出的一个实用的单机版图书馆管理信息系统。全文共分为五部分,其分别为绪论、系统分析阶段、系统设计阶段、系统实施阶段、系统测试。

一、绪论

(一)系统开发背景。目前,在一些高校图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且在新书入库后要经历较长的时间方能借出。另外,因图书数量有限,必须对图书实行限量借阅,因此要实施d性借书方法是件很困难的事。

为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。该系统应具备以下功能:(1)能对各类图书实行分类管理(2)提供必要的读者信息(3)能进行各种高级查询(4)具有图书检索功能等。这样,不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。

(二)数据库概述。从20世纪五十年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至六十年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于六十年代末。现已形成相当规模的理论体系和实用技术。

数据库(Database)DB是统一管理的相关数据的集合。

数据库管理系统(Database Managerment System)DBMS是位于用户和 *** 作系统 之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

数据库系统(Database System)DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

数据库技术是一门研究数据库的结构、存储、管理和使用的软件学科。

二、系统分析阶段

(一)系统可行性分析。系统可行性分析包括:技术的可行性、经济可行性、法律因素可行性。

技术可行性:结合本校图书馆规模和平时业务量的具体情况,本系统采用Visual Foxpro6.0作为开发平台,可以很容易实现图书馆相关信息的记录、维护、检索,并且可以在不添加任何设备的情况下,以较少的人力较快地完成系统的设计,实现系统的功能。

经济可行性:不需要额外开支,用现有的人力物力就可实现,软件成本很低。

法律可行性研究:研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。

(二)系统需求分析

1、图书管理信息系统的总体功能要求。简单的图书管理系统主要包括下面的功能:①借书处理:完成读者借书这一业务流程,核心为快速检索到学生需要的书籍。②还书处理:完成读者还书这一业务流程。③新书上架:完成新书资料的录入工作。④旧书下架:完成图书资料的删除工作。⑤读者查询:根据读者号,查询读者借阅情况,能够对读者的基本信息资料进行管理。⑥相关帮助:便于新的系统使用者能够快速掌握该系统的使用 *** 作。

2、图书管理信息系统的性能需求。①要求有较强的 系统安全 性,对一定范围和程度内用户的错误 *** 作有相应的系统自我保护功能。②系统的维护时间不能超过系统总运行时间的千分之五,系统每次的维护时间不能超过系统总运行时间的千分之一,系统的故障恢复时间不得超过系统故障时间的百分之五。③其他性能要求以其相关或类似的系统为参考。

三、系统设计阶段

(一)系统功能模块设计。鉴于以上各项功能要求,将该系统划分为以下六个模块:

1、图书信息模块。对图书的基本信息进行录入、删除、修改以前信息和进行简单查询功能。

2、查询检索模块。可对书目的基本信息进行检索,其查询条件可以是按分类检索也可以是按照作者名、图书名称或出版社进行检索。同时,也可对读者的基本信息进行检索,查阅其借阅信息。

3、读者管理模块。对读者的基本信息进行录入管理,可自动生成会员代号,可自动记录会员的借阅信息。

4、数据维护模块。可对数据库中的各项基本数据信息进行数据备份和数据恢复,并可实现数据备份文件存贮路径的自由选择。

5、报表输出模块。对图书的基本信息、会员的基本信息、会员的借阅信息等数据可按照查询条件的不同按要求打印输出。

6、帮助模块。可以提供关于图书管理信息系统各项 *** 作的详细帮助信息,并可实现对不同 *** 作的定点帮助提示。

(二)数据库设计

1、数据描述

(1)静态数据描述。①图书一级分类表:包括一个数据表。其中的主要信息有:分类编号和一级分类名称。一级分类中将图书共分五大类,具体分类方法、编号和分类名称参照国家统一分类方法的规定。②图书二级分类表:包括五个数据表。其中的主要信息有:二级分类的编号和分类名称。二级分类中将图书共分为二十二个小类,并分别隶属于一级分类的五个大类中,其具体分类方法、编号和分类名称参照国家统一分类方法的有关规定。③图书明细分类表:包括二十二个数据表。其中的主要信息有:明细分类的编号和分类名称。明细分类又将二十二个小类明细的分为若干细小类别,其具体的分类方法、编号和分类名称参照国家统一分类方法的有关规定。

以上数据均按国家统一规定设置录入,不能做太大改变,分类名称可以有一定的缩略但不能影响其原有的意义。系统设计完成后不可以通过录入、删除的方式进行修改。

(2)动态数据

①图书的基本数据。包括一个数据表。其中的主要数据有图书编号:是对录入图书的统一编号,以便唯一区别图书图书名称:图书出版时的封面印刷名称作者:图书的编写者或编写单位或组织出版社:出版发行该册图书的发行单位录入日期:该册图书入库的时间借阅次数:该图书总的被借阅次数类别编号:给图书所属的明细分类的类别号,它应与明细分类表中的图书的类别编号一致简介:对该册图书的内容总体概括介绍。

②读者基本数据:包括一个数据表。其中的主要数据有:读者代号:读者的统一编号,由系统自动生成,唯一的标示一个会员的身份姓名:读者的真实姓名电话:读者的有效联系电话,可选择填写地址:读者的有效联系地址,可选择填写身份z号:读者的身份z号码,可选择填写注册日期:读者本人正式注册成功时的日期(为系统自动填写)。备注:读者的个人其他资料。

以上两部分数据的录入具有一定的界面,并提供修改的方式。还提供随时的查询,对查询结果有相应的显示和打印输出,对全体的数据可进行备份与恢复。

③借阅记录。包括一个数据表。其中的主要数据有:读者代号、图书编号、借阅日期。这些数据信息都是由系统自动填写。此表中的所有数据不提供修改方式,只供查阅、显示和打印输出。可以对全体数据进行备份和恢复。

④登录密码。包括一个数据表。其主要数据有:管理员代号、密码、权限。

2、数据库描述。该系统建立一个数据库,其中包括三十二个数据表。全部用Visual Foxpro实现。其中,部分数据表的结构和联系如图1所示。(图1)其他分类数据表的连接通过“下级分类表名”实现连接调用。

3、数据采集。对于图书分类数据表的信息参照国家图书分类方法对于图书基本信息数据可通过对现存图书进行分类录入对于读者方面的信息数据可以在系统运行使用中获得。

(三)用户界面设计。本系统设计原则:1、界面美观、 *** 作方便并能高效率地完成工作2、界面根据用户需求设计3、界面能引导用户 *** 作的功能,并能提供一些帮助功能。

主要的用户界面有:1、登录界面2、主表单界面3、各类信息查询4、读者信息管理列表5、图书信息管理列表等。

四、系统实施阶段

(一)计算机系统的性能和软硬件环境。在软件方面本系统运行平台为Windows2000专业版,开发工具采用易学易用的软件开发工具Visual Foxpro6.0。因Visual Foxpro6.0在应用程序的开发上具有灵活、效率高等特点和使用简便的数据库管理功能。硬件要求:Inter PentiumⅢ、128M内存、40G硬盘等。

(二)编写程序。依据各阶段的开发文档,使用Visual Foxpro6.0进行程序编写。此系统的编码设计(表单设计、代码设计、变量定义、控件的定义)严格按照大众化的标准和风格。

对于系统的帮助功能的实现,则使用windows help compiler来单独编译,最后通过Visual Foxpro提供的接口命令(set help to)和系统相连。帮助文件的数据字典、源代码见附件。

五、系统测试

测试的步骤主要有以下三个方面:1、单元测试:采用的是白盒测试法,检查模块控制结构的某些特殊路径2、综合测试:采用的是自顶向下集成法3、确认测试包括:功能测试、性能测试。

有关图书馆管理系统设计论文推荐:

1. 图书管理系统毕业论文

2. 浅谈图书馆管理论文

3. 关于图书馆设计论文

4. 图书馆管理毕业论文范文

5. 有关图书馆结构设计论文

6. 图书馆管理论文

#include<iostream.h>

#include<fstream.H>

#include<stdlib.h>

#include<string.h>

struct bookData

{

int booknumber

char bookname[30]

int store

}

struct Person

{

char name[20]

char studynumber[10]

int count

bookData Rbook[2]

//bookData Rbook

}

class History

{

public:

History(fstream&a){readerbook=a}

void writehistory()

void readhistory(fstream&)

private:

fstream readerbook

}

class Liberian

void Find(fstream&)

void CreateTxt(fstream&)

class Reader

{

friend Liberian

public:

Reader(fstream&)

void print()

void handlebook(fstream&)

void change()

bool findreader()

void Addreader()

void deletereader()

private:

fstream file

Person person

}

class Liberian

{

public:

Liberian(char *,char *)

void changeReader(Reader&)

void selfprint()

void Append(fstream&)

private:

char workname[20]

char worknumber[20]

}

int main()

{

fstream bookRecord(" book.dat",ios::in| ios::out)

if(!bookRecord)

{

cerr<<" Can't open,try again!"<<endl

exit(1)

}

fstream readerRecord("reader.dat",ios::in|ios::out)

if(!readerRecord)

{

cerr<<" Can't open,try again!"<<endl

exit(1)

}

int choice

int keyReader reader(readerRecord)//读者管理系统

Liberian liberian("李天","123456")//图书管理员

History rec(readerRecord)//声明显示历史记录类

while(1)

{

cout<<" 请输入您的选择:\n\n"

<<"1--图书管理员\n"

<<"2--读键扰者系统\n"

<<"0--结束程序\n"

cin>>choice

switch(choice)

{

case 1:

{

cout<<" Hello,图书管理员:\n"

liberian.selfprint()cout<<endl

cout<<"1-- 增加新图书\n"

<<"2-- 改变读者的属性\n"

<<"3-- 显示历史记录\n"

<<"0-- 返回\n"

cin>>key

switch(key)

{

case 1:

liberian.Append(bookRecord)

break

case 2:

liberian.changeReader(reader)

break

case 3:

rec.readhistory(readerRecord)

case 0:

break

}

}

break

case 2:

{

cout<<洞此"学生读者\n"int iflag=1

//reader.findreader()

cout<<"1-- 借书与还书信息\n"

<<"2-- 修改个人信息\n"

<<"0-- 返回\纳亮迅n"

cin>>key

switch(key)

{

case 1:

reader.handlebook(bookRecord)

break

case 2:

reader.change()

break

case 0:

break

}

}

break

default:

return 0

}

}

return 0

}

//增加书籍

void Liberian::Append(fstream&storef)

{

bookData book

int choice

int key

int num

storef.seekp(0,ios::end)

int posEnd=storef.tellp()

cout<<"*************书籍入库***************"<<endl

while(1)

{

cout<<" Please enter your choice:"<<endl

cout<<"1--添加新书\n"<<"2--已有书籍\n"<<"0--返回\n"

cin>>choice

switch(choice)

{

case 1:

cout<<" 书号, 书名, 数量?"<<endl

cin>>book.booknumber>>book.bookname>>book.store

storef.write(reinterpret_cast<char*>(&book),sizeof(bookData))

break

case 2:

storef.seekg(0,ios::beg)

cout<<"Booknumber?\n"

cin>>key

do{

storef.read(reinterpret_cast<char*>(&book),sizeof(bookData))

}while(book.booknumber!=key&&storef.tellg()!=posEnd)

if(book.booknumber==key)

{

cout<<book.booknumber<<"----"<<book.bookname<<"----"<<book.store<<endl

cout<<" 输入已有书增加的数量:"<<endl

cin>>num

if(num>0)

book.store+=num

else

{

cout<<" Invalid input"<<endl

}

storef.seekp(-long(sizeof(bookData)),ios::cur)////////////////////

storef.write(reinterpret_cast<char*>(&book),sizeof(bookData))

cout<<"现在书籍: "<<book.bookname<<" 余量为: "<<book.store<<endl

}

else

cout<<"找不到此书,请重新查阅书号是否正确!"<<endl

break

case 0:

return

}

}

}

//书籍查询

void Find(fstream &f)

{

bookData book

int key

int choice

f.seekg(0,ios::end)

int posEnd=f.tellp()

cout<<"*************书籍查询***************"<<endl

while(1)

{

cout<<" 请输入您的选择\n"

<<" 1-- 检索一本书\n"

<<"2-- 显示全部书籍\n"

<<"0-- 返回\n"

cin>>choice

switch(choice)

{

case 1:

f.seekg(0,ios::beg)

cout<<"输入你想检索书的书号"<<endl

cin>>key

do{

f.read(reinterpret_cast<char*>(&book),sizeof(bookData))

}while(book.booknumber!=key&&f.tellg()!=posEnd)

if(book.booknumber==key)

cout<<book.booknumber<<"---"<<book.bookname<<"---"<<book.store<<endl

else

cout<<"找不到此书,请重新确认!"<<endl

break

case 2:

f.seekg(0,ios::beg)

do{

f.read(reinterpret_cast<char*>(&book),sizeof(bookData))

cout<<book.booknumber<<"---"<<book.bookname<<"--"<<book.store<<endl

}while(f.tellg()!=posEnd)

break

case 0:

return

}

}

}

Reader::Reader(fstream&c)

{

file=c

Person person={"0","0",0,{{0,"0",0}, {0,"0",0}}}

}

void Reader::print()

{

cout<<"Name"<<"---"<<person.name<<'\n\n'<<"studynumber---"<<person.studynumber<<'\n'

}

// *** 作书籍??????????????????????

void Reader::handlebook(fstream &filee)

{

int keyint choice

bookData book bool iflagint num=0

filee.seekp(0,ios::end)

int posEnd=filee.tellp()

while(!(iflag=findreader()))

{

num++

if(num>=3)

return

}

//cout<<person.name

while(1)

{

cout<<"1-- 借书\n"

<<"2-- 还书\n"

<<"3-- 查找一本书\n"

<<"0-- 返回"<<'\n'

cin>>choice

switch(choice)

{

case 1:

{

filee.seekp(0,ios::end)

int posEnd=filee.tellp()

if(person.count<=1)

{

cout<<" 输入你要借阅图书的书号:"<<endl

cin>>key

filee.seekg(0)

do{

filee.read(reinterpret_cast<char*>(&book),sizeof(bookData))

}while(book.booknumber!=key&&filee.tellp()!=posEnd)

//cout<<book.booknumber<<endl

if(book.booknumber==key)

{

//cout<<" 找到你想借阅的图书,成功借阅!"<<endl

if(book.store>0)

{

person.Rbook[person.count]=book

person.count+=1

book.store-=1

filee.seekp(-long(sizeof(bookData)),ios::cur)

filee.write(reinterpret_cast<char*>(&book),sizeof(bookData))

cout<<" 找到你想借阅的图书,成功借阅!"<<endl

cout<<"书籍 :"<<book.bookname<<"剩余的本数为:"<<book.store<<endl

}

else

cout<<" 现在此图书已经被借完了,请耐心等待几天!"<<endl

}

else

cout<<" 找不到你想要的图书"<<endl

}

else

cout<<"你最多只能借2本\n\n"

}

break

case 2:

{

bookData blankbook={0,"0",0}

//if(person.count>0)

//{

int iflag=0

filee.seekg(0)

cout<<" 输入你想要还的书的书号:"<<endl

cin>>key

for(int i=0i<2i++)

{

if(key==person.Rbook[i].booknumber)

{

person.Rbook[i]=blankbook

cout<<"成功归还此书!"

iflag=1

person.count--

do{

filee.read(reinterpret_cast<char*>(&book),sizeof(bookData))

}while(book.booknumber!=key&&filee.tellp()!=posEnd)

if(book.booknumber==key)

{

book.store+=1

filee.seekp(-long(sizeof(bookData)),ios::cur)

filee.write(reinterpret_cast<char*>(&book),sizeof(bookData))

cout<<"书籍 :"<<book.bookname<<"余本量为: "<<book.store<<endl

}

}

}

if(!iflag)

{

cout<<" 你没有借阅那本书,请确认!"<<endl

}

// }

// else

// cout<<"你没有借书,请重新确认!\n\n"

}

break

case 3:

Find(filee)

break

case 0:

return

}

}

}

void Reader::change()

{

char newname[20]char newnumber[10]

int choice

file.seekp(0,ios::cur)

int Posend=file.tellp()bool iflagint num=0

while(!(iflag=findreader()))

{

num++

if(num>=3)

return

}

cout<<" 请输入你的选择!"<<endl

cout<<"1--改变名字!\n"

<<"2--修改学号r\n"

<<"0--返回\n"

cin>>choice

switch(choice)

{

case 1:

cout<<"输入你的新名字!\n"

cin>>newname

strcpy(person.name,newname)

break

case 2:

cout<<"输入你的信学号?\n"

cin>>newnumber

strcpy(person.studynumber,newnumber)

break

default:

break

}

file.seekp(-long(sizeof(Person)),ios::cur)

file.write(reinterpret_cast<char*>(&person),sizeof(Person))

cout<<"信息修改成功!"<<endl

}

void Liberian::selfprint()

{

cout<<" 图书管理员 :\n"

<<worknumber<<"---"<<workname<<" 为您服务!\n"

}

Liberian::Liberian(char *a,char*b)

{

strcpy(workname,a)

strcpy(worknumber,b)

}

void Liberian::changeReader(Reader&a)

{

int choicechar newname[20]char newnumber[10]

cout<<"修改读者的数据信息!\n"

cout<<"1-- 增加一个读者\n"

<<"2-- 删除一个读者\n"

<<"0-- 结束程序\n"

cin>>choice

switch(choice)

{

case 1:

a.Addreader()

break

case 2:

a.deletereader()

break

case 0:

return

}

}

void Reader::Addreader()

{

Person tempbookData book={0,"0",0}

file.seekp(0,ios::end)

int Posend=file.tellp()

cout<<"输入你想要增加的读者的名字"<<endl

cin>>temp.name

cout<<"新读者的学号:"<<endl

cin>>temp.studynumber

temp.Rbook[1]=book temp.Rbook[0]=book temp.count=0

file.write(reinterpret_cast<char*>(&temp),sizeof(Person))

cout<<" 成功添加!"<<temp.name<<endl

}

void Reader::deletereader()

{

file.seekp(0,ios::end)

int Posend=file.tellp()

Person person

char name[20]

cout<<"输入要删除的读者的名字!"<<endl

cin>>name

file.seekg(0)

do{

file.read(reinterpret_cast<char*>(&person),sizeof(Person))

}while(strcmp(name,person.name)&&file.tellp()!=Posend)

if(!strcmp(name,person.name))

{

bookData blankbook={0,"0",0}

Person guest={"0","0",0,{{0,"0",0},{0,"0",0}}}

file.seekp(-long(sizeof(Person)),ios::cur)

file.write(reinterpret_cast<char*>(&guest),sizeof(Person))

cout<<"成功删除!"<<person.name<<endl

}

else

cout<<"查无此人!"<<endl

}

bool Reader::findreader()

{

file.seekp(0,ios::end)

int Posend=file.tellp()

char name[20]

Person guest={"0","0",0,{{0,"0",0},{0,"0",0}}}

cout<<"输入查找人的名字!"

cin>>name

file.seekg(0)

do{

file.read(reinterpret_cast<char*>(&person),sizeof(Person))

}while(strcmp(name,person.name)&&file.tellp()!=Posend)

if(!strcmp(name,person.name))

{

cout<<"查到此人:"<<person.name<<endl

return true

}

else

{

cout<<"找不到此人,请重新确认!"<<endl

return false

}

}

//借阅历史

void History::readhistory(fstream&a)

{

readerbook=a

char name[10]="0"

readerbook.seekp(0,ios::end)

int Posend=readerbook.tellp()

Person guestint iflag=1

cout<<" 书籍借阅信息如下:"<<endl

cout<<"姓名 学号借书量 书籍名"<<endl

readerbook.seekg(0,ios::beg)

do{

readerbook.read(reinterpret_cast<char*>(&guest),sizeof(Person))

if(strcmp(guest.Rbook[1].bookname,name) || strcmp(guest.Rbook[1].bookname,name))

{

cout<<guest.name<<" "<<guest.studynumber<<" "<<guest.count<<" "

for(int i=0i<2i++)

if(strcmp(guest.Rbook[i].bookname,name))

cout<<guest.Rbook[i].bookname

iflag=0

}

}while(readerbook.tellp()!=Posend)

if(iflag)

cout<<"没有读者借阅图书!"<<endl

}

1、计算机网络故障管理系统的研究与实现

(1)分析研究课题

计算机网络服务发生意外中断是常见的,这种意外中断在某些重要的时候可能会对社会或生产带来很大的影响。但是,与单计算机系统不同的是,在大型计算机网络中,当发生失效故障时,往往不能轻易、具体地确定故障所在的准确位置,而需要相关技术上的支持。因此,需要有一个故障管理系统,科学地管理网络发生的所有故障,并记录每个故障的产生及相关信息,最后确定并改正那些故障,保证网络能提供连续可靠的服务。 本课题主要是查找近几年来有关该课题研究的情况。

(2)制定检索策略

a.选择检索手段

本课题的检索手段以计算机检索为主,同时将手工检索与计算机检索相结合。

b.选择检索工具

欲查找“计算机网络故障管理系统的研究与实现”方面的文献,必须选用恰当的检索工具。根据课题要求以及检索工具收录文献源的情况,本课题选用综合性检索工具和数据。具体选用下列检索工具和数据库。

《全国报刊索引》

CNKI期刊全文数据库

万方数据资源系统

中文科技期刊全文数据库

中国学术会议论文数据库

中国学位论文数据库

中国专利数据库

(3)选择检索方法

本课题主要为了获取近年来国内渣局盯外的研究情况,检索方法选择顺查法和倒查法相结合。

(4)选择检索途径

本课题的查找,可从分类和主题途径进行检索。

a.分类途径

从课题分析可知,本课题的学科分类属于建筑结构。根据《中国图书馆图书分类法》的类目设置,可选择以下分类号作为检索入口:

G623.58 计算机

TP393 计算机网络

b.主题途径

根据课题分析,可选用以下主题词作为检索入口:

主题词:计算机网络;网络管理;网络故障管理系统。

(5)构造检索式

在计算机检索系统中,各检索词通过逻辑组配关系确定运算方式。本课题的检

索可选择以下逻辑运算制定检索策略:

网络 AND 故障管理

正式检索和结果

欲查找本课题的相关国内期刊论文信息,可选用《全国报刊索引》、CNKI期刊全文数据库、中文科技期刊全文数据库、万方数据资源系统数字化期刊等检索工具和数据库。

基于数据融合和数据挖掘的网络故障管理系统/刘钦启,马玉祥,郝红侠/《 微电子学与计算机 》-2006,23(6)

分布式网络故障管理系统实现技术研究/张强,陈琳,龚正虎/《 计算机工程与科学 》-2006,28(5)

基如和于智能移动代理技术的网络故障管理系统/王颖 /《华北电力大学学报 》-2006,33(3)

一种分布式网络故障管理系统的设计与实现/杨华春 赵怀勋 /《 计算机时代》-2006,(3)

基于分布式的网络故障管理系统的研究与实现/崔政/《现代电子技术》-2006,(2)

基于Web的网络故障管理系统的研究与实现/蒋凌云 王汝传/《光电技术应用》-2004,19(5)

获取原文

根据文献检索提供的文献出处获取原文。对于全文型数据库的检索结果可以直接获取原文。

2、高等教育体制改革

3、国民生产总值

4、磁流变传动技术及器件的研究

(1)分析研究课题

本课题主要是查找近几年来有关磁流变传动技术及器件研究的情况。

(2)制定检索策略

a.选择检索手段

本课题的检索手段以计算机检索为主,同时将手工检索与计算机检索相结合。

b.选择检索工具

欲查找“磁流变传动技术及器件的研究”方面的文献,必须选用恰当的检索工具。根腊纳据课题要求以及检索工具收录文献源的情况,本课题选用综合性检索工具和数据。具体选用下列检索工具和数据库。

《全国报刊索引》

CNKI期刊全文数据库

万方数据资源系统

中文科技期刊全文数据库

中国学术会议论文数据库

中国学位论文数据库

中国专利数据库

(3)选择检索方法

本课题主要为了获取近年来国内外的研究情况,检索方法选择顺查法和倒查法相结合。

(4)选择检索途径

本课题的查找,可从分类和主题途径进行检索。

a.分类途径

从课题分析可知,本课题的学科分类属于建筑结构。根据《中国图书馆图书分类法》的类目设置,可选择以下分类号作为检索入口:

TH13 机械零件及传动装置

TM921 电力拖动(电气传动)

b.主题途径

根据课题分析,可选用以下主题词作为检索入口:

主题词:磁流变;传动。

(5)构造检索式

在计算机检索系统中,各检索词通过逻辑组配关系确定运算方式。本课题的检

索可选择以下逻辑运算制定检索策略:

磁流变 AND 传动

正式检索和结果

欲查找本课题的相关国内期刊论文信息,可选用《全国报刊索引》、CNKI期刊全文数据库、中文科技期刊全文数据库、万方数据资源系统数字化期刊等检索工具和数据库。

磁流变传动机构性能的试验研究/黎文峰,黄宜坚/《 机械设计与研究 》-2007,23(2)

磁流变传动机构的设计与研究/黎文峰,黄宜坚/《机械设计》-2006,23(10)

磁流变传动装置传递力矩分析与测试/马久河, 吕建刚,张磊 /《磁性材料及器件》-2006,33(3)

圆筒式磁流变传动机构的研究/黄豪彩,黄宜坚/《机械科学与技术(西安)》-2003,22(4)

获取原文

根据文献检索提供的文献出处获取原文。对于全文型数据库的检索结果可以直接获取原文。


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

原文地址: http://outofmemory.cn/yw/12529162.html

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

发表评论

登录后才能评论

评论列表(0条)

保存