1、图书馆管理系统大作业说明书学生姓名 董勋凯 学 号 2412332 所属学院 电信工程学院 专 业 电气工程及其自动化 班 级 电气123班 组 长 董勋凯 电信工程学院制目录摘要21.图书管理系统概述31.1图书管理系统总体设计思想概述31.2总体设计步骤图32.图书管理系统具体设计52.1C+中应用程序编程52.1.1结构体,存放书籍及借书信息52.1.2页头函数,能够经过参数menu_item,显示目前状态52.1.1关键功效函数源代码62.2算法调试、测试过程中出现问题及处理方案132.2.1本系统调试过程中碰到问题:132.2.2本系统调试过程中碰到问题原因:142.2.3本系统调试
2、过程中碰到问题处理措施及步骤:14课程设计总结和体会15关键参考资料16摘要伴随计算机技术不停应用和提升,计算机已经深入到社会生活各个角落。而中小型租、借书机构仍采取手工管理图书方法,不仅效率低、易犯错、手续繁琐,而且花费大量人力。为了满足其管理人员对图书馆书籍,读者资料,借还书等进行高效管理,在工作人员含有一定计算机操作能力前提下,此图书管理系统软件努力争取提升其管理效率。本程序编写是为了完善图书管理系统软件开发路径和应用方法。以求在最短时间高效开发图书管理系统。程序实现了对图书添加、删除、修改、查询等功效,对学生添加、删除、修改、查询等功效,和学生对图书借阅、还书和所借图书查看等功效。关键
3、词:计算机技术,图书馆,图书管理,程序1. 图书管理系统概述1.1图书管理系统总体设计思想概述该程序提供为读者提供借书、 还书和查询所需图书及图书、读者卡管理等功效。该程序功效模块有:(1)登录界面 只有管理员才能使用全部功效,愈加好保护图书馆内部分信息不被破坏。(2)读者资料 能实现对读者显示、读者信息增加、读者查询、读者信息修改和读者信息删除功效。(3)图书资料 能实现对图书显示、图书信息增加、图书查询、图书信息修改和图书信息删除功效。(4)借书管理 可和数据库中图书信息表连接实现借书功效。(5)还书管理 可和数据库中图书信息表连接实现还书功效(6)退出 退出程序,结束运行。1.2总体设计
4、步骤图程序开始登录界面面还书管理借书管理读者资料图书资料 借书确定增修删查读者显示系统界面面增修删查图书显示程序结束 退出2. 图书管理系统具体设计2.1C+中应用程序编程2.1.1结构体,存放书籍及借书信息#include #include #include struct BOOK int id,usr10,total,store,days10; char name30,author20; books100;2.1.2页头函数,能够经过参数menu_item,显示目前状态void page_title(char *menu_item) printf( 以下是图 书 管 理 系 统-请 按 要
5、 求 操 作 nn- %s -nn,menu_item); 初始界面,图1:图12.1.1关键功效函数源代码返回前请求确定函数,方便返回前观察结果void return_confirm(void) printf(n任意键返回n); getch(); 数组中找到图书号匹配统计int search_book(void) int n,i; printf(请输入图书序号:); scanf(%d,&i); for(n=0;n0) printf(请输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); for(l=0;l10;l+) if(book
6、sn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); 此过程是借书函数,首先调用找书函数。图2:图2图书资料中还书函数void book_in(void) int n,s,l; page_title(&qu ot;还书); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l10;l+) if
7、(booksn.usrl!=0) printf(%d - %d天n,booksn.usrl,booksn.daysl); printf(请输入借书证序号:); scanf(%d,&s); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&booksn.store=booksn.total) printf(全部入藏.n); return_confirm(); 此过程是还书函数,首先调用找书函数。图3:图3图书资料中注册书函数void book_add(vo
8、id) int n; page_title(注册书); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%d,&booksn.id); printf(书名:); scanf(%s,&booksn.name); printf(作者:); scanf(%s,&booksn.author); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm(); 此过程是注册书函数,读者资料中函数和图书资料中函数基础一致。图4:图4图书资
9、料中注销书函数void book_del(void) int n; page_title(注销书); if(n=search_book()!=-1) booksn.id=0; printf(该书已注销.n); return_confirm(); 此过程是注销书函数,读者资料中函数和图书资料中函数基础一致。图5:图5返回主界面函数void main(void) menu: page_title(操作选择单子); printf(请按以上要求选择操作nn); printf(1 借书n2 还书nn); printf(3 注册书n4 注销书nn); printf(n0 退出n); switch(getc
10、h() case 1 : book_out();break; case 2 : book_in();break; case 3 : book_add();break; case 4 : book_del();break; case 0 : exit(0); goto menu; 此过程是控制退出界面选择函数,和初始界面基础一致。图6:图62.2算法调试、测试过程中出现问题及处理方案2.2.1本系统调试过程中碰到问题:程序在储存图书信息时只能一次存入,并读取。再次添加新程序时将会把原来添加图书信息覆盖。运行完程序一次有错误提醒。程序运行到添加新图书时自动提醒错误需要调试。 借书管理模块中,当正确
11、输入存在读者编号和所借书编号,系统进行判定时,提醒不存在此读者。2.2.2本系统调试过程中碰到问题原因:存放函数只能只写2进制文件,不能追加填写2进制文件。首次运行程序后没相关闭操作界面,当点击编译时会有一个错误提醒,将上次运行时界面关闭即可。指针指向位置出现错误造成程序传参数错乱无法运行,可使程序进入调试状态在传参出现错误位置一句一句查找传输参数是否是你所期望,如若不就加以修正。 2.2.3本系统调试过程中碰到问题处理措施及步骤:一个一个输出全部读者编号,检验文件中是否有此读者。假如发觉有此读者,那么,检验循环判定函数是否有此读者语句,检验其是否存在错误。输出用于循环检验语句中读者信息时,仔
12、细检验该语句是否存在乱码。 若有乱码,仔细分析乱码原因;若无乱码,再检验调用函数变量类型是否有错误,若有,加以更正。课程设计总结和体会在此次图书管理课程设计过程中,有很多东西值得我们思索并总结。设计过程大致可分为以下多个步骤:(1)思索总体设计方案:总体结构和模块外部设计,功效分配。思索要实现整个程序大致需要多个模块和其中用到Visual C+语言基础操作符、语句等。(2)画出总体设计方案步骤图:用步骤图形式展现你基础编程思想。(3)步骤图具体化:立即步骤图中几大模块具体实现思索清楚,能够用步骤图形式展现并想好实现关键代码。(4)编辑程序代码:这是一个至关关键复杂而且需要反复修改步骤,在此步骤
13、中你将发觉总体设计和模块思想会存在很多问题,需不停改善怎样实现各函数功效,达成预期效果也将是一项繁复工作。(5)代码调试:在Visual C+6.0环境下输入代码并进行调试和正确运行。在调试过程中会碰到很多需要精化地方,需要十足耐心和细心,不停改善完善程序。经过对图书馆系统利用,我们对数据库和MFC编程有了更深刻认识,深刻认识到需求分析关键性,愈加了解了一个系统各部门工作步骤细节。对概念设计步骤掌握愈加清楚,促进了对分析过程中标准要求及所得到数据结果原因认识。逻辑设计阶段中,因为整个系统数据复杂性和实际应用交叉性,发觉我们在理论和实际操作中不管是关系模型设计还是vc+中功效实现全部有很多不足。
14、针对此次大作业,我总结了一点点经验,以下:(1) 要对系统功效和要求做出具体分析,并合理分解任务。(2) 把分解出来子任务,并给其系统性做一个相对独立模块。(3)在设计一个模块之前,要简单构想一下总界面显示情况。(4)针对构想出来界面进行程序编写。总而言之,经过此次课程设计,让我愈加明白了主动学习是最好方法。主动动手去做,广泛查阅资料,数次进行修改和完善,只有这么,才能有好设计展现出来。关键参考资料1 Beck Zaratian.Microsoft Visual Visual C+ 6.0程序员指南.期望设备创作室译.北京:北京期望电脑企业出品,19982Richard C.Leinecker,Tom Archer. Visual C+ 6 宝典.张艳,张谦译.北京:电子工业出版社,19993 李强,贾云霞. Visual C+项目开发实践.北京:中国铁道出版社,4 郑莉,董渊,张瑞丰.C+语言程序设计.5 李闽溟等.Visual C+ 6.0 数据库系统开发实例导航M. 北京:人民邮电出版社6 闪四清.数据库系统原理和应用教程M.清华大学出版社