图书管理系统.docx
- 文档编号:23763630
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:33
- 大小:172.94KB
图书管理系统.docx
《图书管理系统.docx》由会员分享,可在线阅读,更多相关《图书管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
图书管理系统
摘要
本系统是图书管理系统,专为个人设计。
本系统启动后需要登陆,然后进入主界。
在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。
本系统共有3个功能模块:
图书查询、图书删除、办理借、还书手续。
图书馆信息化管理从最初的对图书馆业务管理实行信息化管理发展到对图书馆各个业务流程和网络化管理,并建立大规模的以个体文献目录联机查询为主的资源共享系统。
进入21世纪后,图书管信息化管理充分利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。
图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。
本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理,全面实行计算机管理。
关键字:
功能;管理;查询
Abstract
Thissystemisthebooksmanagementsystemmanagementsystem,designedforindividuals.Needtologinafterthesystemstartup,andthenintothemainindustry.Wecanchoosetherequiredfunctionalityinthisinterfacemoduletocompletethefunctionalitytoperform.
Thissystemconsistsofthreefunctionalmodules:
booksquery,deletebooks,borrow,returnthebookformalities.
Libraryinformationmanagementfromtheinitialdevelopmentoflibraryinformationmanagementsystemofbusinessmanagementpracticetothevariousbusinessprocessesandnetworkmanagementoflibrary,andbasedonalargescaleisbasedondirectoryonlinequeryindividualliteratureresourcesharingsystem.Afterenteringthe21stcentury,libraryinformationmanagement,makefulluseofcomputernetworkandinformationtechnologygraduallyachievedifferentcarrierentitydocumentinformationmanagementandall-roundonlinequery.
Libraryinnormaloperationisalwaysfacedwithalotofreaders'information,booksinformationandbothinteracttoproducethebooksinformation,sobeonthereadersresources,libraryresources,libraryinformationmanagement.Thedevelopmentofthissystemistoimprovetheworkefficiencyofbookmanagement,tostrengthenthemanagementofthelibrary,thecomputermanagementinanall-roundway.
Keywords:
function;Management;Thequery
目录
1概述1
1.1设计目的1
1.2设计要求2
2总体设计3
2.1设计功能3
2.2设计步骤3
2.3总设计流程图4
3详细设计5
3.1登记功能模块5
3.2查询功能模块7
3.3删除功能模块11
4调试分析20
4.1登记21
4.2查看/查询22
4.3删除23
4.4退出程序24
5总结25
参考文献26
致谢27
1概述
1.1设计目的
开发目的图书管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段.但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:
效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难.随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部分,使用计算机对图书信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低等.这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,与世界接轨的重要条件.因此,开发这样一套管理软件成为很有必要的事情.也是势在必行的.它有以下几个好处:
(1)可使图书管理工作安全高效;
(2)克服了人工管理中的许多困难,提高了速度,节省了大量时间;(3)可快速查询有关图书的各种所需信息;(4)只需一到两名管理人员即可操作系统,节省了大量的人力;(5)软件系统可根据不同的需要随时进行升级,从而延长了软件的使用寿命;(6)数据库具有存储量大,保密性好、运行成本低等特点
设计定义本系统是一套既实用、操作简单、功能齐全、便于管理的图书管理软件.其中前端表业务信息管理、查询管理等功能.为了能结构化的管理和实施系统的开发,采用软件工程的方法来设计软件,其基本思想是:
用系统的思想和系统工程的方法,结构化,模块化地自上而下的对生命周期进行分析和设计.我们可以将整个系统开始过程分为以下4个一次连接的阶段:
(1)系统规划阶段
(2)系统开发阶段(3)系统运行维护阶段(4)系统更新阶段这四个阶段共同构成了系统开发的生命周期.系统规划是图书管理系统的起始阶段.这一阶段的主要任务是:
明确用户对管理系统的需求,以制定图书管理的设计总计划.包括对图书管理系统的规划、需求分析和资源分配三个主要阶段.系统开发是图书管理系统建设的一个最重要的阶段.系统开发的生命周期一般分为以下三个阶段:
系统分析、系统设计和系统实施.系统运行与维护阶段又是整个生命周期中历时最久的阶段,也是图书管理系统实现其功能,获得效益的阶段.而系统更新阶段是新旧系统并存的时期.
1.2设计要求
近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对这庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理.另一方面,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性.图书管理工作面对大量的模块化处理的信息,是当今信息革命的一个重要阵地.我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务;权限管理完善,安全性高等特点.实现了管理员、图书、读者的信息维护,图书采购、借书、还书的管理,图书库存信息、读者信息的查询和各种书籍借阅浏览等要求。
2总体设计
2.1设计功能
要求完成以下功能:
书库管理功能、借阅者管理功能、借/还书功能、查询功能。
1、书库管理功能
(1)图书属性。
(书号、图书名称、数量)
(2)设计约定。
可以假定图书馆有N种书,每种书数量有若干,在系统启动时将这些书的信息加载到书库中;
2、借阅者管理
(1)借阅者属性(名字、学院、学号、图书证号、借阅图书队列(书号、年、月、日))。
(2)借阅者注册:
需要注册的读者将其属性信息登记到借阅者队列中。
(3)借阅者注销:
根据图书证号将借阅信息在借阅者队列中删除。
3、借书和还书
(1)借书。
如果一种书的现存量大于零则借出一本,借阅者的户头中增加该图书书号。
(2)还书:
注销对借阅者的登记,改变该书的现存量。
4、查询功能
(1)根据图书证号查询某人所借全部图书;
(2)根据书号查询该书被谁借走;
(3)输入当天日期(年、月、日),查询有超期借阅图书的借阅者;
(4)输出当前借阅者数量;
2.2设计步骤
在清楚上述系统功能要处理是什么的基础上,考虑用如下方式来设计
1、确定所需的分类及其相互间的关系。
(1)要从问题中归纳出一个概念或实体,从这些概念或实体出发建立相应的分类。
(2)尽量使分类小而简单,以使其看起来容易理解。
(3)充分利用封装以增加分类的可靠性,以便使用时保证更加可靠。
2、确定每个分类的实现。
(1)考虑分类的对象应该如何构造和析构。
(2)考虑分类的成员函数的建立。
(3)综合考虑各个分类在命名和功能方面有哪些共性。
2.3总设计流程图
见总设计流程图2.1
3详细设计
3.1登记功能模块
模块简要说明读者注册、登录模块,读者第一次使用该系统,需要通过注册才能成为系统的用户。
登录系统后,用户可以使用系统开放给普通用户的各种功能。
在个人信息中,注册用户还可以查看并修改自己的个人信息。
以保借书用户能够顺利接到最新书籍,也方便了管理员的操作。
3.1登记功能流程图
#include
#include
structbook{
charbookname[20];//书名
intNO;//书编号
chartype[20];//类型
intdate;//到书日期
};
structperson{
charname[10];//姓名
charclasses[20];//班级
intnumber;//学号
chartelephone[12];//联系电话
intNO;//书编号
charbookname[20];//书名
intborrowdate;//借书日期
intreturndate;//还书日期
};
voidnew_book()//*******登记新书*******
{
FILE*fp;
structbookb;
inti,j;
if((fp=fopen("shuku.txt","a"))==NULL){
printf("Fileopenerror!
\n");
exit(0);
}
printf("请输入此次收到的书本总数:
");
scanf("%d",&i);
for(j=0;j
printf("请输入书名:
");
scanf("%s",b.bookname);
fprintf(fp,"%s",b.bookname);
printf("请输入书编号:
");
scanf("%d",&b.NO);
fprintf(fp,"%d",b.NO);
printf("请输入类型:
");
scanf("%s",b.type);
fprintf(fp,"%s",b.type);
printf("请输入到书日期:
");
scanf("%d",&b.date);
fprintf(fp,"%d",b.date);
}
if(fclose(fp)){
printf("Cannotclosethefile!
\n");
exit(0);
}
}
voidnew_person()//*******登记借书*******
{
FILE*fp;
structpersonp;
charchoice;
if((fp=fopen("jieshujilu.txt","a"))==NULL){
printf("Fileopenerror!
\n");
exit(0);
}
printf("请输入借书人姓名:
");
scanf("%s",p.name);
fprintf(fp,"%s",p.name);
printf("请输入借书人班级:
");
scanf("%s",p.classes);
fprintf(fp,"%s",p.classes);
printf("请输入借书人学号:
");
scanf("%d",&p.number);
fprintf(fp,"%d",p.number);
printf("请输入借书人联系电话:
");
scanf("%s",p.telephone);
fprintf(fp,"%s",p.telephone);
printf("请输入书编号:
");
scanf("%d",&p.NO);
fprintf(fp,"%d",p.NO);
printf("请输入书名:
");
scanf("%s",p.bookname);
fprintf(fp,"%s",p.bookname);
printf("请输入借书日期:
");
scanf("%d",&p.borrowdate);
fprintf(fp,"%d",p.borrowdate);
printf("请输入还书日期:
");
scanf("%d",&p.returndate);
fprintf(fp,"%d",p.returndate);
printf("\n\t您想继续吗?
(y/n)");
scanf("%c",&choice);
if(choice=='Y'||choice=='y'){
system("cls");
new_person();
}
if(fclose(fp)){
printf("Cannotclosethefile!
\n");
exit(0);
}
}
3.2查询功能模块
管理员在得到读者归还图书的需求时,在图书借阅记录表中查询到该借阅信息。
根据该信息判断图书是否是该处借出图书,判断图书是否逾期,是否需要对读者罚款。
并修改图书借阅记录表和读者借阅记录。
3.2查询功能流程图
voidsee_book()//*******查看书库记录*******
{
FILE*fp;
longNO;
charbookname[20];
chartype[20];
longdate;
if((fp=fopen("shuku.txt","r"))==NULL){
printf("Fileopenerror!
\n");
exit(0);
}
while(!
feof(fp))
{
fscanf(fp,"%s%ld%s%ld",bookname,&NO,type,&date);
printf("%-10s%-10ld%-10s%ld\n",bookname,NO,type,date);
};
if(fclose(fp)){
printf("Cannotclosethefile!
\n");
exit(0);
}
}
voidsee_person()//*******查看所有借书记录*******
{
FILE*fp;
charname[10];
charclasses[20];
intnumber;
chartelephone[20];
intNO;
charbookname[20];
intborrowdate;
intreturndate;
if((fp=fopen("jieshujilu.txt","r"))==NULL){
printf("Fileopenerror!
\n");
exit(0);
}
while(!
feof(fp))
{
fscanf(fp,"%s%s%ld%s%ld%s%ld%ld",name,classes,&number,telephone,&NO,bookname,&borrowdate,&returndate);
printf("%-5s%-5s%ld%-5s%ld%-5s%ld%ld\n",name,classes,number,telephone,NO,bookname,borrowdate,returndate);
};
if(fclose(fp)){
printf("Cannotclosethefile!
\n");
exit(0);
}
}
voidsearch_person()//*******查找到期的借书记录*******
{
FILE*fp;
structpersonp[50];
inti,j=0,k,l;
intdate;
chara[50];
if((fp=fopen("jieshujilu.txt","r"))==NULL){
printf("Fileopenerror!
\n");
exit(0);
}
printf("请输入还书日期的年月日:
");
scanf("%d",&date);
while(!
feof(fp)){
for(i=0;i<50;i++)
fscanf(fp,"%s%s%ld%s%ld%s%ld%ld",p[i].name,p[i].classes,&p[i].number,p[i].telephone,&p[i].NO,p[i].bookname,&p[i].borrowdate,&p[i].returndate);
}
for(i=0;i<50;i++){
if(date==p[i].returndate){
a[j]=i;//记录所有符合的下标号
j++;
}
}
if(j!
=0){
printf("\n姓名班级学号联系电话书编号书名借书日期到书日期\n");
printf("----------------------------------------------------------------------\n");
printf("----------------------------------------------------------------------\n");
for(k=0;k l=a[k]; printf("%-5s%-5s%ld%-5s%ld%5s%10ld%10ld\n",p[l].name,p[l].classes,p[l].number,p[l].telephone,p[l].NO,p[l].bookname,p[l].borrowdate,p[l].returndate); printf("------------------------------------------------------------\n"); } printf("以上为全部到期记录! \n"); } else printf("\n该日无记录! \n"); if(fclose(fp)){ printf("Cannotclosethefile! \n"); exit(0); } } 3.3删除功能模块 读者信息管理读者把个人信息传到个人信息管理模块进行管理,可以对个人信息修改。 管理员也可以利用这个模块提供的功能对读者个人信息进行修改和删除,读者借阅记录模块只有管理员有权限操作这个模块。 管理员可以查询读者的注册信息和借阅记录,并且可以根据实际情况添加、修改、删除读者的借阅记录。 3.3更改功能流程图 voiddelete_books()//*******删除旧书******* { FILE*fp; structbookb; intnumber; voiddeletebooks(); printf("请输入您要删除的书编号: "); scanf("%d",&number); if((fp=fopen("shuku.txt","r"))==NULL){ printf("不能打开此文件! \n"); exit(0); } while(! feof(fp)){ fscanf(fp,"%s%d%s%d",b.bookname,&b.NO,b.type,&b.date); if(b.NO==number){ printf("\n\n\t***************图书信息*******************\n"); printf("\n\t图书书名: %25s",b.bookname); printf("\n\t-----------------------------------------"); printf("\n\t图书编号: %25d",b.NO); printf("\n\t-----------------------------------------"); printf("\n\t图书类型: %23s",b.type); printf("\n\t-----------------------------------------"); printf("\n\t到书日期: %25d",b.date); printf("\n\t-----------------------------------------"); deletebooks(); } } } voiddeletebooks() { FILE*fp,*fp1,*fp2,*fp3; intnumber; structbookb; printf("\n\n确认删除? 请再次输入书编号: "); scanf("%d",&number); if((fp=fopen("shuku.txt","r"))==NULL){ printf("不能打开此文件! \n"); exit(0);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统