数据结构大作业实验报告.doc_第1页
数据结构大作业实验报告.doc_第2页
数据结构大作业实验报告.doc_第3页
数据结构大作业实验报告.doc_第4页
数据结构大作业实验报告.doc_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 说 明 书课程名称: 数据结构 设计题目: 图书管理系统 院 系 : 计算机科学与信息工程学院 学生姓名: 徐晨鹤 学 号: 201003010108 专业班级: 10计科(应用) 指导教师: 李爱玲 2012 年 6月8 日课 程 设 计 任 务 书设计题目 图书管理系统学生姓名徐晨鹤所在院系计算机科学与信息工程学院专业、年级、班10计科应用设计要求:实现以下几个功能 1、设计实现用户登陆以及管理图书、图书借阅、用户管理、查询书籍、归还书籍等功能; 2、分析并解决实现中的若干技术问题; 3、建立完整的图书管理系统,进行测试并分析结果。 学生应完成的工作:(1) 根据课程设计要求,分析思路并构建模型,划分子模块、完善其功能;(2) 根据各模块的功能设计并编写程序段、连接各程序段使之形成一个有机的整体;(3) 调试、运行程序进而得到正确的结果;(4) 根据实验设计运行过程,写出实验论文并总结实验教训。参考文献阅读: 数据结构程序设计(苏仕华等,机械工业出版社); c语言程序设计(潭浩强第二版,清华大学出版社); 数据结构(吴伟民等c 语言版,清华大学出版社); C+程序设计导学 (李春葆等 清华大学出版社)。工作计划:(1)2012.5.2729 分析课程题目设计要求,构建模型,划分子模块进行分工合作; (2)2012.5.30 5 根据设计要求和模块写出各部分相应的程序代码; (3)2012.6.6 7 组合并调试程序,得到相应的实验结果; (4)2012.6.8 -10 根据设计过程写出实验论文并总结任务下达日期:2012 年 5 月 27 日 任务完成日期:2012 年 6 月 10 日指导教师(签名): 学生(签名): 图书管理系统 摘要: 随着计算机科学的发展,计算机技术在管理上越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。信息管理系统是一个不断发展的新型学科,企事业单位要生存发展,要高效率的把部门活动有机的组织起来,就必须加强管理,即加强对各个部门内部的各种资源的有效管理,建立与自身特点相适应的管理信息系统。本文研究了一种基于数据库图书管理系统,与传统的管理系统相比,具有用户使用更简单、界面更直观等优点。图书管理的信息化在我国刚起步,但发展很快。随着我国互联网的更加普及和电子商务的更趋成熟,会有越来越大的消费群体,市场潜力会得到充分发挥。 关键词: 链表 结点 数组 目 录1、设计背景 1 1.1开发的意义 1 1.2国内外发展概况 1 2、设计方案 2 2.1图书管理系统 2 2.2 图书管理系统结构设计图 23、方案实施 4 3.1系统结构图 4 3.2管理系统的设计 4 4、结果与结论 4 4.1源程序码 4 4.2运行结果 10 4.3课程设计总结 11 5、收获与致谢 116、参考文献 127、附件 121、设计背景1.1开发的意义 目前计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂而有重复性的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全;第五,便于管理人员的管理等等。 图书管理系统是一个图书馆单位不可缺少的部分,它的功能对于图书管理的快速和高效的管理图书信息及借阅信息致关重要,所以图书管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式进行图书管理,这种管理方式存在着许多缺点,如:效率低、时间长、易冲突、不完美。 作为计算机应用的一部分,使用计算机对图书信息进行借阅管理,具有手工管理所无法比拟的优点。例如:管理速度快、查找方便、可靠性高、成本低等。这些优点能够极大地提高图书管理中的效率,也是图书馆的科学化、正规化、信息化管理,与世界接轨的重要条件。本课程主要完成图书管理的管理图书、图书借阅、用户管理、查询书籍、实现与完善以及整个系统的设计和测试工作。1.2国内外发展概况 图书借阅管理系统的发展历史可以追溯到 20 世纪 60 年代末期。由于当时计算机技术已经进入实用阶段,同时大型图书馆用手工来查找图书信息或统计借阅信息既费时费力又非常容易出差错,为了解决这个矛盾,第一代的图书借阅管理系统应运而生。当时由于技术条件和需求的限制,用户非常少,它的出现为图书借阅的管理展示了美好的前景,即用计算机的高速度和自动化来代替手工的巨大工作量,用计算机的高准确性来避免手工的错误和误差。 第二代的图书借阅管理系统出现于 20 世纪 70 年代末。由于计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展,都为图书借阅管理系统的阶段发展提供了可能。但未能系统地考虑图书借阅的需求和理念。 图书借阅管理系统的革命性变革出现在 20 世纪 90 年代末。随着信息爆炸、知识经济时代的到来,使个人、单位、社会对图书借阅管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是 Internet/Intranet 技术的发展,使得第三代图书借阅管理系统的出现成为必然。2、设计方案2.1图书管理系统 图书管理系统是针对图书馆开放的一套图书管理的系统,根据目前图书馆的现状,实际开发。管理可以使用图书管理系统,查询本图书馆借阅的图书,以后目前图书馆情况,以及可以管理图书、添加图书、图书的借阅、用户管理等所有信息。2.2 图书管理系统结构设计图 一个典型的图书管理系统的系统总体构成如下图所示:开 始是否选择功能1(建立图书)?建立图书库是否选择功能2(插入图书)?插入图书结 束选择其他功能是是否否3、方案实施3.1系统结构图图书管理系统 登 录读者管理数据管理书库管理用户管理借阅管理基础数据设置3.2管理系统的设计1 图书库的建立2 插入图书库3 查询图书、删除图书4 显示图书库信息5 借书、还书6 显示借书信息 4、结果与结论4.1源程序代码void p() printf(n);printf(* -欢迎使用图书馆管理系统-*n);printf(n); printf( #- 1.图书库的建立 * n); printf( #- 2.插入图书库 * n);printf( #- 3.查询图书 * n);printf( #- 4.删除图书 * n);printf( #- 5.显示图书库信息 * n); printf( #- 6.借书 * n); printf( #- 7.还书 * n); printf( #- 8.显示借书信息 * n);printf( #- 0.退出管理系统 * n);printf(n);printf(* -欢迎使用图书馆管理系统-*n);printf(n);/管理员登入void m()char m10;printf( 请输入管理员密码:);scanf(%s,&m);while(strcmp(admin,m)!=0)printf(密码有误,请重新输入:);scanf(%s,&m);/图书库信息管理void s()LinkList L;borrowlist J; J=(borrowlist)malloc(sizeof(JNode); J-next=NULL;int flag=0; int menu; printf( 请选择功能序号8: ); scanf(%d,&menu); while(menu!=0) switch(menu)case 1: creatIncreLink(L); printf( *建立图书馆信息库:*n); printList(L);flag=1; break; case 2: if (flag=1) int number; char name20,authorname20; printf(请输入图书的序号和作者姓名:n); printf(请输入序号: ); scanf(%d,&number); printf(请输入书名: ); char temp=getchar(); gets(name); printf(请输入作者姓名: ); char author=getchar(); gets(authorname); LinkList p=(LinkList)malloc(LEN); p-number=number; strcpy(p-name,name); strcpy(p-authorname,authorname); insertYouXu(L,p); printf(插入后:n); printList(L); else printf(nERROR:图书库还没有建立,请先建立图书库n); break; case 3: int way, n, s; char na20; if (L!=NULL) if(flag) printf(选择查询方式:); printf( 1.按序号 2.按姓名n); scanf(%d,&way); if (way=1) printf(n请输入序号:); scanf(%d,&n); s=searchNum(L,n); if(s=0) printf( 无此图书,查找失败!n); else if (way=2) printf(n请输入作者姓名); char temp=getchar(); gets(na); s=searchName(L,na); if(s=0) printf( 无此图书,查败!n); else printf( 图书库中无记录!n); break; case 4: int way; printf(选择删除方式: 1.按图书序号 2.按书名n);scanf(%d,&way);if (way=1)int n,f;printf(请输入图书序号:);scanf(%d,&n);f=delNum(L,n);if (f!=0)printf(删除后的图书库信息:n);printList(L);else printf( 无该图书序号,删除失败!n);else if (way=2)char na20;int f;printf(n请输入书名:);char temp=getchar();gets(na);f=delName(L,na);if(f!=0)printf(删除后的图书库信息:n);printList(L); else printf(无该图书,删除失败!n);else printf(ERROR!n);break; case 5: printf(但前图书库内容如下:n); printList(L); break; case 6: printf( n * 借书*n); borrow(L, J); break; case 7: printf( n * 还书* n); huan(J);break; case 8: printf( * 借书的信息*n); printJSList(J);break; case 0: break; default:printf(n 没有此功能,重新输入n); printf(n); printf(*功能选择*); printf(* 1图书库的建立 2插入图书库 3查询图书 4删除图书 *n); printf(* 5显示图书库信息 6借书 7还书 8显示借书信息 0退出管理系统*n);printf(*); printf(n); printf( *选择功能:); scanf(%d,&menu); 4.2运行结果图书库的建立:显示图书信息:4.3课程设计总结 本课程主要有如下优点:1、书籍管理部分:书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。2、 读者管理部分:读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息等。3、 借阅管理部分:这一部分包括借书信息管理和还书信息管理两部分。其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等;还书信息管理部分包括还书信息的添加、还书信息的修改、还书信息的查询等 但仍存在不足之处,希望在以后的学习中慢慢加强。5.收获与致谢总的来说,在整个设计的过程中,对文件的知识有了相当程度的了解掌握,基本上学会了对文件的设计和对文件的操作等。在对文件的自学过程中也认识 ,在学习的过程中要灵活的把所学的知识运用到实践当中,并且还要巩固练习和运用,这样才可以牢牢的记住。试验也对数据结构的知识进行了复习,尤其是结构体的定义、地址与引用的合理使用以及记录指针的使用也认识到数据结构在实践运用中的重要性,在对程序不断的修改和逐步改进提升的过程中,积累了不少经验,为在以后的学习和实践应用奠定了一定的基础。这次课程设计受益非浅,学到了不少知识,同时也认识到自身的不足,需要加强自身训练,学以致用,学会自我总结,吸取教训,积累经验,在学习和实践中来不断的提升自己。6. 参考文献1 苏仕华 等编著.数据结构程序设计.北京:机械工业出版社.2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论