欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载  

    图书馆管理系统课程设计报告.pdf

    • 资源ID:11338193       资源大小:372.15KB        全文页数:34页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图书馆管理系统课程设计报告.pdf

    计算机学院信息管理与信息系统专业计算机学院信息管理与信息系统专业 程序设计综合课程设计报告程序设计综合课程设计报告 (2010/2011 学年 第一学期) 学生姓名:学生姓名: 学生班级:学生班级: 学生学号:学生学号: 指导教师指导教师: 2011 年 1 月 7 日 I 目录 第一章.课程设计目的和要求.1 1.1 程序设计的目的.1 1.2 程序设计的要求.1 第二章.课程设计任务内容.2 2.1 背景.2 2.2 功能需求.2 第三章详细设计说明.3 3.1 函数的模块.3 3.2 主函数流程图.4 3.3 子函数流程图.5 3.3.1 借书.5 3.3.2 还书.6 3.3.3 图书的维护.7 3.3.4 读者的维护.8 第四章. 软件使用说明及调试.9 4.1 使用说明.9 4.2 调试.9 第五章课程设计心得与体会.15 附录一.参考文献.16 附录二.程序清单.17 程序设计综合课程设计 1 图书管理系统 第一章 课程设计目的和要求 本课程设计是计算机科学与技术专业重要的实践性环节之一,是学生在学完面 向对象程序设计C+语言描述后进行的一次全面的综合性设计实验。此次课程 设计是编写图书管理系统,其具体目的与要求如下所示: 1.1 程序设计的目的 (1).巩固和加深对 C+语言课程基本知识的理解和掌握。 (2).掌握 C+语言编程和程序调试的基本技能。 (3).提高 C+语言编程技巧,培养分析问题和解决问题的能力。 (4).利用 C+语言进行基本的软件设计。 1.2 程序设计的要求 (1).分析课程设计题目的要求。 (2).对系统功能模块进行分析。 (3).编写程序代码,并在程序源代码后写明详细的注释,以便他人看懂。最后上机 调试程序使其能够正确的运行。 (4).完成整个程序后,根据要求写出相应的课程设计报告。 (5).设计完成后的程序要便于操作和使用。 程序设计综合课程设计 2 第二章 课程设计任务内容 2.1 背景 随着网络技术的高速发展,计算机技术的普及,引进计算机技术对图书进行方便 的管理势在必行,这样管理员就可以对图书众多的信息进行动态的管理,提高效率, 节约人力资源,降低成本力求使其功能简洁明了,而且齐全、易于操作。虽然目前很 多大型的图书馆已经有了一套比较完善的管理系统, 但是在一些中小型的图书馆中大 部分工作仍需要手工完成,工作起来效率比较低,管理员不能及时了解图书馆里图书 的借约情况, 读者需要的图书难以在短时间内找到, 不便于动态及时的调整图书结构。 为了更好的适应当前读者的借阅需求,解决手工管理中存在的许多弊端,越来越多的 中小型图书馆正在逐步向计算机信息化管理转变。 2.2 功能需求 此程序实现了图书管理员对借书人是否存在及借阅情况和图书是否在架等进行 动态管理。具体功能如下: (1) 借书 (2) 还书 (3) 图书维护 包括:新增、修改、查找、删除、显示 (4) 读者维护 包括:新增、修改、查找、删除、显示 (5) 离开 程序设计综合课程设计 3 第三章 详细设计说明 3.1 函数的模块 1、整个系统均用 C+语言实现; 2、利用类来实现图书管理的数据结构设计; 3、系统具有借书、还书、图书维护、读者维护、离开等基本功能; 4、系统的各个功能模块都用函数的形式来实现; 5、模块图如下: 图书管理 借 书 还 书 图 书 维 护 图 3-1 程序总模块图 读者维护 离开 程序设计综合课程设计 4 3.2 主函数流程图 开始 进入主界面 借 书 还 书 图 书 维 护 读 者 维 护 离 开 显示信息 结束 图 3-2 函数总流程图 程序设计综合课程设计 5 3.3 子函数流程图 3.31 借书 开始 读者是 否存在 输入读者编号 输入图书编号 图书是 否存在 图书是 否在架 结束 否 否 是 是 否 是 借书成功 图 3-3 借书流程图 程序设计综合课程设计 6 3.32 还书 显示信息 输入读 者编号 输入图 书编号 结束 开始 图 3-4 还书流程图 3.33 图书的维护 程序设计综合课程设计 7 开始 进入图书 维护界面 新 增 图 书 查 找 图 书 显 示 图 书 输入图 书编号 输入图 书编号 输入图 书名称 是否 存在 显示信息 结束 是 否 图 3-5 图书维护流程图 3.34 读者的维护 程序设计综合课程设计 8 开始 进入读者 维护界面 新 增 读 者 查 找 读 者 显 示 读 者 输入读 者编号 输入读 者编号 输入读 者姓名 是否 存在 显示信息 结束 是 否 图 3-6 读者维护流程图 第四章 软件使用说明及调试 程序设计综合课程设计 9 4.1 使用说明 该程序可以实现对借书、还书、图书维护、读者维护等功能。安装 VisualC+6.0 中文版后, 在工具栏 “文件” 中单击 “新建” 选项, 单击 “文件” 菜单, 选择 “C+ Source file”输入文件名“图书管理系统” 。开始输入程序,程序输入完成,单击“组建” 工具栏,选择“编译”,待程序无误后,开始执行程序。 界面显示后,按要求首先按任意键开始,进入界面后用 1,2,3,4,0 选择相应 的功能。最后结束。 4.2 调试 1显示主界面 2.新增图书 程序设计综合课程设计 10 3.显示图书 程序设计综合课程设计 11 4.新增读者 程序设计综合课程设计 12 5.借书 程序设计综合课程设计 13 6.图书的查找 7还书 程序设计综合课程设计 14 8.退出程序 程序设计综合课程设计 15 第五章 课程设计心得与体会 通过这次课程设计,使我对 C+语言有了更进一步的认识和了解,要想学好它要 重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处, 通过学习也有所改进,还有对 C+语言中经常出现的错误也不了解,所以在以后在学 习过程中,我会更加注视实践操作。 在课程设计过程中,收获知识,提高能力的同 时,我也懂得怎么样去制定、实现计划,课程设计是培养学生综合运用所学知识发现 提出分析和解决实际问题锻炼实践能力的重要环节是对学生实际工作能力的具体训 练和考察过程.随着科学技术发展的日新月异,自从拿到题目到完成整个编程,从理 论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且 学到了很多在书本上所没有学到过的知识。 通过这次课程设计使我们懂得了理论与实 际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相 结合起来,在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不 够深刻,掌握得不够牢固,在设计中我们遇到了很多编程问题,最后在各位老师的辛 勤指导下,我慢慢的进入状态,我做的是一个图书管理系统的设计,内容包括很多。 当然也有大问题,关于文件的操作,是我们最大的问题。要有模块化思维能力 ,化 思维就是编程任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任 务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修 改参数的方式在其他系统和应用环境下直接引用, 这样就能极大避免重复性的开发工 作。 程序设计综合课程设计 16 附录 1 参考文献 1郑莉,董渊,张瑞丰.C+语言程序设计(第 3 版)M. 清华大学出版社,2004. 2郑莉,董渊.C+语言程序设计案例教程M. 清华大学出版社,2000. 3、邹金安主编面向对象程序设计与 Visual C+6.0 教程出版社:厦门大学 出版社 4、高克宁,于端云 编著, 程序设计基础(C+语言)实验指导与测试(高等学校 计算机基础教育教材精选) ,出版社:清华大学出版社 5、严蔚敏,吴伟民 编著, 数据结构(C+语言版) 出版社:清华大学出版社 程序设计综合课程设计 17 附录 2 程序清单 #include #include #include #include /输入/输出文件流类 using namespace std; const int Maxr=100;/最多的读者 const int Maxb=100;/最多的图书 const int Maxbor=5;/每位读者最多借五本书 /读者类,实现对读者的信息的描述 class Reader private: int tag; /删除标记 1:已删 0:未删 int no; /读者编号 char name10; /读者姓名 int borbookMaxbor;/所借图书 public: Reader() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取读者编号 void setname(char na) /设置姓名 strcpy(name,na); 程序设计综合课程设计 18 void delbook() tag=1; /设置删除标记 1:已删 0:未删 void addreader(int n,char *na)/增加读者 tag=0; no=n; strcpy(name,na); for(int i=0;i<Maxbor;i+) borbooki=0; void borrowbook(int bookid)/借书操作 for(int i=0;i<Maxbor;i+) if (borbooki=0) borbooki=bookid; return; int retbook(int bookid)/还书操作 for(int i=0;i<Maxbor;i+) if(borbooki=bookid) borbooki=0; 程序设计综合课程设计 19 return 1; return 0; void disp()/读出读者信息 cout << setw(5) << no <<setw(10) << name<<借书编号:; for(int i=0;i<Maxbor;i+) if(borbooki!=0) cout << borbooki << |; cout << <<endl; ; /读者类库,实现建立读者的个人资料 class RDatabase private: int top; /读者记录指针 Reader readMaxr;/读者记录 public: RDatabase() /构造函数,将 reader.txt 读到 read中 Reader s; top=-1; 程序设计综合课程设计 20 fstream file(reader.txt,ios:in);/打开一个输入文件 while (1) file.read(char *) if (!file)break; top+; readtop=s; file.close(); /关闭 reader.txt void clear()/删除所有读者信息 top=-1; int addreader(int n,char *na)/添加读者时先查找是否存在 Reader *p=query(n); if (p=NULL) top+; readtop.addreader(n,na); return 1; return 0; Reader *query(int readerid)/按编号查找 for (int i=0;i<=top;i+) if (readi.getno()=readerid return NULL; void disp() /输出所有读者信息 for (int i=0;i<=top;i+) readi.disp(); void readerdata();/读者库维护 RDatabase() /析构函数,将 read写到 reader.txt 文件中 fstream file(reader.txt,ios:out); for (int i=0;i<=top;i+) if (readi.gettag()=0) file.write(char *) file.close(); ; void RDatabase:readerdata() char choice; char rname20; int readerid; Reader *r; while (choice!=0) 程序设计综合课程设计 22 cout <<nnttt 读 者 维 护nnntt 1 新 增nntt 2 更改nntt 3 删 除nntt 4 查 找nntt 5 显 示nntt 6 全 删nntt 0 退出 < choice; switch (choice) case 1: cout < readerid; cout < rname; addreader (readerid,rname); break; case 2: cout < readerid; r=query(readerid); if (r=NULL) cout << 该读者不存在 <<endl; break; cout < rname; r-setname(rname); break; case 3: cout < readerid; 程序设计综合课程设计 23 r=query(readerid); if (r=NULL) cout << 该读者不存在 <delbook(); break; case 4: cout < readerid; r=query(readerid); if (r=NULL) cout <<该读者不存在<disp(); break; case 5: disp(); break; case 6: clear(); break; default:cout<<输入错误,请从新输入:;break; 程序设计综合课程设计 24 /图书类,实现对图书的描述,图书的编号,书名,借出,还入等 class Book private: int tag;/删除标记 1:已删 0:未删 int no;/图书编号 char name20;/书名 int onshelf;/是否再架 1:再架 2:已借 public: Book() char *getname() return name; /获取姓名 int getno() return no; /获取图书编号 int gettag() return tag; /获取删除标记 void setname(char na)/设置书名 strcpy(name,na); void delbook() tag=1;/删除图书 void addbook(int n,char *na)/增加图书 tag=0; no=n; strcpy(name,na); onshelf=1; 程序设计综合课程设计 25 int borrowbook()/借书操作 if (onshelf=1) onshelf=0; return 1; return 0; void retbook()/还书操作 onshelf=1; void disp()/输出图书 cout << setw(6) << no << setw(18) << name << setw(10) <<(onshelf=1? 在架:已借) <<endl; ; /图书库类,实现对图书的维护,查找,删除等 class BDatabase private: int top; /图书记录指针 程序设计综合课程设计 26 Book bookMaxb; /图书记录 public: BDatabase()/构造函数,将 book.txt 读到 book中 Book b; top=-1; fstream file(book.txt,ios:in); while (1) file.read(char *) if (!file) break; top+; booktop=b; file.close(); void clear()/全删 top=-1; int addbook(int n,char *na)/增加图书 Book *p=query(n); if (NULL=p) top+; booktop.addbook(n,na); return 1; return 0; 程序设计综合课程设计 27 Book *query(int bookid)/查找图书 for (int i=0;i<=top;i+) if (booki.getno()=bookid return NULL; void bookdata();/图书库维护 void disp() for (int i=0;i<=top;i+) if (booki.gettag()=0) booki.disp(); BDatabase()/析构函数,将 book写到 book.txt 文件中 fstream file(book.txt,ios:out); for (int i=0;i<=top;i+) if (booki.gettag()=0) file.write(char *) file.close(); ; void BDatabase:bookdata() char choice; char bname40; 程序设计综合课程设计 28 int bookid; Book *b; while (choice!=0) cout <<nnnttt 图 书 维 护 <<endl<<endl; cout<<tt1 新 增n tt2 更 改ntt3 删 除ntt4 查 找ntt5 显示 ntt6 全 删ntt0 退 出< choice; switch (choice) case 1: cout << 输入图书编号:< bookid; cout << 输入图书书名:< bname; addbook(bookid,bname); break; case 2: cout << 输入图书编号:< bookid; b=query(bookid); if (b=NULL) cout << 该图书不存在 <<endl; break; cout << 输入新的书名:< bname; b-setname(bname); break; 程序设计综合课程设计 29 case 3: cout << 读入图书编号:< bookid; b=query(bookid); if (b=NULL) cout << 该图书不存在 <delbook(); break; case 4: cout << 读入图书编号:< bookid; b=query(bookid); if (b=NULL) cout << 该图书不存在<disp(); break; case 5: disp(); break; case 6: clear(); break; default:cout<<输入错误,请从新输入:; 程序设计综合课程设计 30 /main() 函数的实现,程序的主界面的引导 void main() char choice; int bookid,readerid; RDatabase ReaderDB; Reader *r; BDatabase BookDB; Book *b; while(choice!=0) cout <<endl<<endl<<ttt 图 书 管 理 系 统nnn; cout <<ttt1 借 书nnttt2 还 书 nnttt3 图 书 维护nnttt4 读 者 维 护nnttt0 离 开< choice; switch (choice) case 1: cout <readerid; cout <bookid; 程序设计综合课程设计 31 r=ReaderDB.query(readerid);/按编号查找 if (NULL=r) cout << 不存在该读者,不能借书<< endl; break; b=BookDB.query(bookid); if (b=NULL) cout << 不存在该图书,不能借书<borrowbook()=0) cout << 该图书已借出,不能借书<borrowbook(b-getno(); break; case 2: cout<readerid; cout <bookid; r=ReaderDB.query(readerid); if (r=NULL) cout << 不存在该读者,不能还书 << endl; break; 程序设计综合课程设计 32 b=BookDB.query(bookid); if (b=NULL) cout << 不存在该图书,不能还书 <retbook(); r-retbook(b-getno(); break; case 3: BookDB.bookdata(); break; case 4: ReaderDB.readerdata(); break; default:cout<<输入错误,请从新输入:;

    注意事项

    本文(图书馆管理系统课程设计报告.pdf)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开