




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE 281.前 言21世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人们广泛的关注。然而如何获取信息?图书是我们最好的获取信息的方式。图书馆作为一个信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行。这种人工管理的方式存在许多缺点,如:工作效率低下、保密性差且较为繁琐,另外随着图书资料数量的增加,其工作量也将大大增加,这必然增加图书资料管理者的工作量和劳动强度,给图书资料信息的查找、更新和维护都带来了很多困难。由于数据繁多,容易丢失,且
2、不易查找,因此容易出错。总的来说,缺乏系统、规范的信息管理手段。这样的管理机制已经不能适应时代的发展,传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。因为作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,同时能够极大地提高图书管理的效率。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。在各行各业中离不开信息处理,
3、这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。基于这些问题,有必要建立一个图书管理系统,使图书管理工作规范化、系统化、程序化、避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。本图书管理系统是典型的信息管理系统,该系统主要实现学校图书馆的新书入库、图书借阅、图书检索、读者设置、图书信息调整等智能化管理过程。图书管理者只需略懂电脑知识就可以简易的操作本图书管理系统,从而抛弃了以往手工作坊笔纸登记不科学的方法。需求分析 立足于当今社会信息的发达,
4、着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资3源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
5、2.1图书借阅管理系统的设计与实现的基本要求为了更好的适应当前读者的借阅需求,缓解手工管理存在的各种弊端,我们开发了图书馆查询管理系统,图书查询管理系统向用户提供的服务将传统的“采编借查”基础上,进一步提供全方位的信息服务:对图书信息、读者信息等的管理,方便有效的进行书籍数据和读者息的信操作,主要包括: (1) 图书信息的录入、删除及修改、多关键字检索。 (2) 读者信息的录入、删除、修改和查询。 (3) 管理员信息的增加、删除及修改。 (4) 图书信息、读者信息等的统计与查询。(5)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。(6)对查询、统计的结果能够列表显示。3.图
6、书借阅系统基本框架及逻辑方案3.1数据流程图通过该数据流程图,可以清晰地了解该系统的功能、执行效率、执行结果等情况。登陆系统新书入库借书还书修改读者信息删除图书删除读者信息添加读者信息查询修改图书管理员用户读者信息修改管理员信息添加管理员信息删除管理员信息查询管理员信息管理员信息图书信息借出信息查询读者信息图4-1数据流程图3.1.1员工信息输入流程图 3.1.2学生新卡注册流程图职工信息输入addemploy函数 学生新卡管理函数addcar等 运用while实现循环把职工号 也是运用while实现循环把新卡号 码,名字等信息输入employ结构 码,名字等信息输入,删除,修改体中。 等信息
7、。 3.1.3借书、还书流程图3.1.4图书查询流程图 图书的管理(查询,借书,还书等)运用swtich,for, if等实现循环与条件判断,并通过调用addcar,book等文件判断学生信息与图书信息,以此来完成图书的查询,借书,还书等操作。4.系统功能实现与分析本系统主要实现对图书借阅信息管理中的读者、图书、借阅、征订和管理员等信息的管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护、修改、增加等操作。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。4.1系统功能编码实现分析这部分主要阐述对系统主要部分的功能实现的
8、编码分析,主要采用了指针、调用文件等来实现功能。4.1.1借阅模块该函数实现对图书的快速借阅,方便有效,读者可以通过按照书名、书的编号等关键字,调用“图书查询模块”对图书进行查找,通过输入借书卡号、学生姓名,由系统调用“学生信息模块”核对后,实现借阅图书的功能。struct car /*借书卡的数据类型*/ int carnum; /*卡号*/char studentname10; /*学生姓名*/int studentclass; /*学生年级*/car100;4.1.2查询模块该函数实现了读者对图书的查询功能。读者可以通过书的作者或者书的名称对图书进行查找,并输出查找结果。这一部分,采用了
9、 文件指针,调用文件,实现对图书按照名称、编号的查找。findbook()/*查询书定义*/ FILE *fp; char bookname10; int ture,i; fp=fopen(book.txt,r); printf(请输入你要查找的书名n); scanf(%s,bookname); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(bookname,booki.bookname)=0) if(booki.turefalse=1) printf(这本书的详细资料是:%d %s %s 此书现在无人借阅n按任
10、意键返回n,booki.booknum,booki.bookname,booki.bookcreat); else printf(这本书已经有人借出n);fclose(fp);return 0; fclose(fp); return FALSE; printf(没有你要查询的书籍n); fclose(fp); return FALSE; findbook1()/*查找输出定义*/ FILE *fp; char bookcreat10; int ture,i; fp=fopen(book.txt,r); printf(请输入你要查找的作者名n); scanf(%s,bookcreat); for
11、(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(bookcreat,booki.bookcreat)=0) if(booki.turefalse=1) printf(这本书的详细资料是:%d %s %s 此书现在无人借阅n按任意键返回n,booki.booknum,booki.bookname,booki.bookcreat); else printf(这本书已经有人借出n);fclose(fp);return 0; fclose(fp); return FALSE; printf(没有你要查询的书籍n); fclose
12、(fp); return FALSE; 4.1.3还书模块该函数详细说明系统实现学生如何还书的功能。学生通过输入借书卡号、姓名、需要归还图书名称等,系统通过修改借阅记录、删除借阅信息、重新录入图书信息,实现还书功能。 huanbook() /*还书函数*/ FILE *fp,*fp2; /*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/ int i,n; int carnum; char lendbook10; printf(请你输入你的卡号n); scanf(%d,&carnum); fp=fopen(car.txt,r); /*读取卡号记录*/ for(i=0;f
13、read(&cari,sizeof(struct car),1,fp)!=0;i+) /*for循环判断卡号是否存在*/ if(cari.carnum=carnum) /*卡号存在,进入下一循环*/ n=i; fclose(fp); printf(请输入你要还的书的名字n); scanf(%s,lendbook); fp=fopen(record.txt,r); for(i=0;fread(&studenti,sizeof(struct student),1,fp)!=0;i+) /*判断是否借阅了输入的书*/ if(strcmp(studenti.lendbook,lendbook)=0)
14、/*借阅了该书,进入下一循环,否则出错显示*/ fclose(fp); fp=fopen(record.txt,r); fp2=fopen(bookl.txt,w); for(i=0;fread(&studenti,sizeof(structstudent),1,fp)!=0;i+) if(strcmp(studenti.lendbook,lendbook)=0) continue; /*删除还掉的书的借书记录*/ fwrite(&studenti,sizeof(struct student),1,fp2); /*写入原来没还的书的记录*/ fclose(fp); fclose(fp2); f
15、p=fopen(record.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&studenti,sizeof(struct student),1,fp2)!=0;i+) fwrite(&studenti,sizeof(struct student),1,fp); /*将借书记录信息写回*/ fclose(fp); fclose(fp2); fopen(bookl.txt,w); /*清临时文件的记录*/ fclose(fp2); fp=fopen(book.txt,r); fp2=fopen(bookl.txt,w); for(i=0;fread(
16、&booki,sizeof(struct book),1,fp)!=0;i+) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/ if(i=n) booki.turefalse=1; fwrite(&booki,sizeof(struct book),1,fp2); /*将还的书的原来状态设为无人借阅的*/ continue; fwrite(&booki,sizeof(struct book),1,fp2); fclose(fp); fclose(fp2); fp=fopen(book.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&
17、booki,sizeof(struct book),1,fp2)!=0;i+) fwrite(&booki,sizeof(struct book),1,fp); /*将临时文件写回*/ fclose(fp); fclose(fp2); fopen(bookl.txt,w); /*清临时文件*/ fclose(fp2); printf(还书完毕,按任意键返回n); getch(); return 1; printf(你没有借这样的书,任意键返回n); /*出错提示*/ fclose(fp); getch(); return 0; printf(系统没这样的卡,和管理员联系,按任意键返回n); /
18、*出错提示*/ fclose(fp); getch(); 4.1.4基本信息管理 这部分函数主要实现了对图书、学生、员工信息的录入、增加、修改、删除、统计等功能,是实现查询、借阅、归还等操作的基础。 (1)员工、学生信息管理 该函数主要定义了员工、学生的一些基本信息,例如姓名、性别、年龄、学历、工资等信息,并可以修改职工信息功能,可以帮助管理人员实现对职工信息的增加、删除、修改等操作。 (2)图书管理函数主要实现的是对图书的增加、删除、修改等操作。chabook() char ch5; do printf(欢迎进入图书查询系统!n); printf( 1:n); printf( 2:n); p
19、rintf( 0:n); printf(请输入0-2,其他输入非法!n); scanf(%s,&ch5); switch(ch5) case 1:findbook();getch();break; case 2:findbook1();getch();break; case 0:break; default:printf(无此操作n);getch();break; while(ch5!=0);return FALSE; lendbook() FILE *fp,*fp2; int i,n; int carnum; printf(请你输入你的卡号n); scanf(%d,&carnum); fp=
20、fopen(car.txt,r); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) if(cari.carnum=carnum) n=i; fclose(fp); printf(请输入你要借阅的书的名字n); scanf(%s,studentn.lendbook); fp=fopen(book.txt,r); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(booki.bookname,studentn.lendbook)=0) if(booki.turefa
21、lse=0) printf(对不起,此书有人借出,请借其他书n);fclose(fp);getch();return; else fclose(fp); fp=fopen(record.txt,a+); studentn.carnum=carnum; fwrite(&studentn,sizeof(struct student),1,fp); fclose(fp); fp=fopen(book.txt,r); fp2=fopen(bookl.txt,w); for(i=0;fread(&booki,sizeof(struct book),1,fp)!=0;i+) if(strcmp(booki
22、.bookname,studentn.lendbook)=0) booki.turefalse=0; fwrite(&booki,sizeof(struct book),1,fp2); continue; fwrite(&booki,sizeof(struct book),1,fp2); fclose(fp); fclose(fp2); fp=fopen(book.txt,w); fp2=fopen(bookl.txt,r); for(i=0;fread(&booki,sizeof(struct book),1,fp2)!=0;i+) fwrite(&booki,sizeof(struct b
23、ook),1,fp); fclose(fp); fclose(fp2); fopen(bookl.txt,w); fclose(fp2); printf(借书完毕,按任意键返回n); getch(); return; printf(不存在这样的书,任意键返回n); fclose(fp); getch(); return; printf(你的卡号不存在,请申请新卡,按任意键返回n); fclose(fp); getch(); carcount() FILE *fp; int i,n=0; fp=fopen(car.txt,r); for(i=0;fread(&cari,sizeof(struct
24、 car),1,fp)!=0;i+) printf(第%d张卡n,i+1,cari.carnum,cari.studentname,cari.studentclass); n=n+1; fclose(fp); printf(目前共有%d本书n,n); printf(按任意键n); getch(); delcar() FILE *fp,*fp2; int i; int carnum; char choice; fp=fopen(car.txt,r); fp2=fopen(bookl.txt,w); printf(请输入你要删除的卡号n); printf(如果你输入的卡号存在,系统自动删除该信息!
25、如果不存在,系统不做任何改动n); scanf(%d,&carnum); for(i=0;fread(&cari,sizeof(struct car),1,fp)!=0;i+) if(cari.carnum!=carnum) fwrite(&cari,sizeof(struct car),1,fp2); 4.1.5主程序函数主要实现的是对程序模块的调用,借此来实现整个图书借阅管理系统的所有功能。main() char ch1,ch2,ch3,ch4,ch5; do printf(tt请你选择操作类型:n); printf( 1:n); printf( 2:n); printf( 3:n); p
26、rintf( 4:n); printf( 0:n); printf(请输入0-4n); scanf(%s,&ch1); switch(ch1) case 1:chabook();break; case 2:lendbook();break; case 3: do printf(欢迎进入管理系统!n); printf( 1:n); printf( 2:n); printf( 3:n); printf( 4:n); printf( 5:n); printf( 6:n); printf( 0:n); printf(请输入0-6,其他输入非法!n); scanf(%s,&ch2); switch(ch
27、2) case 1:addbook(); /*调用增加图书信息程序*/ break; case 2:delbook();break; /*调用删除图书信息程序*/ case 3:changebook();break; /*调用修改图书信息程序*/ case 4:bookcount();getch();break; case 5:do printf(欢迎进入职工管理系统!n); printf( 1:n); printf( 2:n); printf( 3:n); printf( 4:n); printf( 0:n); printf(请输入0-4,其他输入非法!n); scanf(%s,&ch3);
28、 switch(ch3) case 1:addemploy();getch();break; case 2:delemploy();break; case 3:changemploy();break; case 4:employcount();getch();break; case 0:break; default:printf(无此操作n);getch();break; while(ch3!=0);break; case 6: do printf(欢迎进入学生管理系统!n); printf( 1:n); printf( 2:n); printf( 3:n); printf( 4:n); pr
29、intf( 0:n); printf(请输入0-4,其他输入非法!n); scanf(%s,&ch4); switch(ch4) case 1:addcar();break; case 2:delcar();break; case 3:lendcount();break; case 4:carcount();break; case 0:break; default:printf(无此操作n);getch();break; while(ch4!=0);break; case 0:break; default:printf(无此操作n);getch();break; while(ch2!=0);b
30、reak; case 4:huanbook();break; case 0:break; default:printf(无此操作n);getch();break; while(ch1!=0);5.图书借阅系统测试过程说明分析该部分主要阐述了图书借阅管理系统实现功能的具体步骤、操作以及执行操作后,系统界面等,对该系统进行测试的说明。5.1主界面菜单选项 主界面菜单选项主要包含了查阅图书、借阅图书、管理图书、还书、退出共计五个操作选项,选择不同的操作类型,可以执行不同的操作。图5-1 主菜单选项5.2管理系统管理系统功能主要为了实现管理人员对图书信息、学生信息、职工信息、借阅情况的管理。5.2.1
31、进入管理系统在主菜单页面选择“3”选项,进入管理系统。图5-2-1管理系统菜单图5.2.2增加图书在管理系统菜单中选择“1”选项,进入增加图书信息操作,该操作可以实现增加图书信息,方便图书管理。图5-2-2增加图书5.2.3删除图书在管理系统菜单中,选择“2”选项,进入删除图书操作界面,可实现对图书信息的操作。图5-2-3删除图书5.2.4修改图书在管理系统菜单中,选择“3”选项,可进入修改图书信息操作界面,实现对图书信息的修改,方便管理者管理。图5-2-4修改图书5.2.5书籍统计在管理系统菜单中,选择“4”选项,进入书籍统计操作界面,在该部分,可以实现对书籍数量、名称、作者、编号、是否被借
32、阅等情况作出统计,是管理者对图书的基本情况一目了然。图5-2-5书籍统计5.2.6职工管理系统(1)在管理系统菜单中,选择“5”选项,进入职工管理系统,在该系统中,管理者可以实现对职工信息的增加、修改、删除、统计等操作。图5-2-4-1职工管理系统(2)增加员工在职工管理系统菜单中,选择“1”选项,可进行对员工的增加的操作。图5-2-4-2增加员工(3)删除员工在职工管理系统中,选择“2”选项,进入删除员工操作,该部分功能可方便管理者对离职员工的信息进行删除。图5-2-4-3删除员工(4)修改员工资料在职工管理系统中,选择“3”选项,进入修改员工资料操作,该部分可实现管理者对录入错误的员工信息
33、进行及时的修改。图5-2-4-4修改员工资料(5)员工统计在职工管理系统中,选择“4”选项,管理者可方便快捷的查看到全体员工的基本信息。图5-2-4-5员工统计(4)返回在职工管理系统中,选择“0”选项,可返回管理系统菜单界面。5.2.7学生管理系统(1)在管理系统中,选择“4”选项,可进入学生管理系统,方便管理者对学生信息进行统计。图5-2-3-1学生管理系统(2)申请新卡在学生管理系统中,选择“1”选项,管理者可以实现对学生借书卡的增加的操作。图5-2-3-2申请新卡(3)删除卡号在学生管理系统中,选择“2”选项,可实现管理者对毕业或离校学生借书卡的删除管理。图5-2-3-3删除卡号(4)借书统计在学生管理系统中,选择“3选项,可实现管理者对在校学生的借书情况的查看,方便快捷。图5-2-3-4借书统计(5)卡号统计在学生管理系统中,选择“4”选项,可实现管理者对在校学生的卡号的查看,并对卡号拥有着的借书情况进行查看,方便的知道该卡号的拥有者的基本信息。图5-2-3-5卡号统计(4)返回在学生管理系统中,选择“0”选项,可返回管理系统菜单界面。5.3查阅图书系统(1)在主菜单选项中,选择“1”选项,进入查阅图书操作,该部分实现了学生快速对图书进行查阅的功能,使学生能够方便了解到图书的基本信息,如数量、作者、编号、是否被借阅等信息。图5-3-1查阅图书主菜单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【7语期末】宣城市2023-2024学年七年级下学期期末试卷语文
- 养生馆合伙经营合同5篇
- 【合同范文】桑苗订单合同6篇
- 教室环境卫生管理规范
- 有效离婚协议书3篇
- 导电银浆项目绩效评估报告
- 幼儿园手足口病预防管理要点
- 违反勘察设计法规案例分析
- 画册设计年终总结
- T/ZHCA 017-2022头发生长期与休止期数量比值测试方法
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 国家开放大学《数学思想与方法》形考任务(1-10)案例设计与分析等试题答案解析
- 水生生物学课件 第1章 原生动物
- 陕西省汉中市各县区乡镇行政村村庄村名居民村民委员会明细
- FIDIC银皮书(中英文对照)
- 癫痫护理查房.ppt课件
- 军事地形学地形图基本知识
- 固体火箭发动机制造工艺
- 试卷密封线模板
- 广告牌钢结构设计计算书(共39页).doc
- 外贸委托付款协议书模板(中英文版)
评论
0/150
提交评论