ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:326.14KB ,
资源ID:21688929      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21688929.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书管理基本业务数据结构课程设计报告Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书管理基本业务数据结构课程设计报告Word下载.docx

1、2) 图书查询。对书号查找,并显示所查找图书的所有信息,包括书号、书名、著作者、现存量、库存量和借阅者姓名;3)系统主要功能如下:采编入库:新购一种书确定书号后,登记到图书帐目表中,如果表中已有,则将库存量和现存量增加;读者借阅:若一种书的现存量大于0,则借出一本,登记借阅者的姓名,改变现存量,若一种书的现存量为0,则提示该书库存不足,读者无法借阅;读者归还:注销对借阅者的登记,改变该书的现存量。2.3分析用例书号书名著作者现存量库存量借阅者姓名1高等数学同济大学5NULL2数字电路清华大学3大学英语蔡基刚等4基本算法戴燕等著三言二拍冯梦龙等3 设计思路本程序是以单链表的基本操作为基础,进行改

2、造升级,而形成的图书管理基本操作程序。图书馆基本业务模拟包含多方面的操作,其中本程序描述的是图书馆的新书入库、图书馆借阅、归还、信息查询(书籍信息查询)等功能。1)新书入库功能:新到书籍入库包含几方面的操作:查询该书名的书籍在图书馆信息中是否已经存在,若存在,则增加可借数量和书籍总量,若不存在,则新增加概述信息,从界面输入书籍的编号(0999999的长整型)、书名(字符串类型)、该书作者名(字符串类型)、该书的现存量(整型)、该书的总量(整型)。输入该信息之后,将该节点插入到书籍信息链表中去。该节点的插入位置根据查找,找到合适的位置插入,这样可以保证整个数据都是有序的,方便查找。2)借阅功能书

3、籍借阅主要涉及存书库和读者信息库双方的更新。用户首先使用系统,查询该书是否存在,该书的剩余数量是否大于零,最后查询该读者是否已经借满书籍。若以上条件都满足,则将该读者的可借书数量减一,该存书的可借数量减一。3)归还功能按书名号来归还所借书籍,若书名号正确并且确认归还该书籍,删除该书的读者借阅信息(姓名),然后返回。4)信息查询功能信息查询分为读者信息查询和书籍信息查询,读者信息查询是在读者登录之后,可以显示本人的基本信息以及借书状况(所借书的本数、可借书本书以及所借书的信息),还可查询书籍信息,可根据书籍的编号来查找书籍、根据书名来查找书籍、根据作者名来查询书籍。查询到该书籍后显示是否借阅该书

4、籍。4 详细设计首先定义一个定义一个单链表的结点typedef struct node int num;/书号 char title50;/书名 char author50;/著作者 int num1;/现存量 int num2;/库存量 char name50;/借阅者姓名 struct node *link;linklist;此结点包括书号,书名,著作者,现存量,库存量,借阅者姓名。linklist* creatnull(linklist *l)/建立一个带头的结点; l=(linklist*)malloc(sizeof(linklist); l-link=NULL; return l;馆

5、藏图书信息模块 void print(linklist *l)/输出所有图书的信息 linklist *p; p=l-link; printf(n输出所有图书的信息:n书号t书名t著作者t现存量t库存量t借阅者姓名); while(p) printf(n%dt%st%st%dt%dt%s,p-num,p-title,p-author,p-num1,p-num2,p-name); p=p- /指针指向下一个 通过对单链表的输出来完成对馆藏图书信息的输出;采编入库模块void creat(linklist *l)/采编入库 int i,n; linklist *p,*tail,*q; tail=l

6、;if(l-link!=NULL) q=l- else q=l; while(tail-=NULL)tail=tail-;n请输入入库图书的数量: scanf(%d,&n); for(i=1;inum); while(q-num!=p-num&q-=NULL)q=q- if(q-num=p-num) q-num1=q-num1+1;num2=q-num2+1; printf(n该图书已在图书库存在,已自动增加图书数量 else printf(n请输入入库图书的书名:%stitle);n请输入入库图书的著作者:author);n请输入入库图书的现存量:num1);n请输入入库图书的库存量:num

7、2); strcpy(p-name,NULL tail-link=p; tail=p; tail- ;首先先判断该结点是否为空,若不为空,指针指向下一个结点。若该结点为空,输入入库图书的数量,通过for循环依次输入书号,书名,著作者,现存量,库存量等信息。其中while(q-n该图书已在图书库存在,已自动增加图书数量。根据输入的书号(入库的图书)与库存的书号(本库的图书)是否相同,若相同,不用输入该书的相关信息,便自动完成图书库存和现存量的增加。并提示“该图书已在图书库存在,已自动增加图书数量。”根据书号查找图书模块void locat(linklist *l,int i)/根据书号查找图书

8、while(p-=i)If(p-limk!=NULL) printf(n输出图书的信息:n%dt%st%st%dt%dt%snelse printf(该图书不在此书库!通过指针所指书号与查找图书的书好进行比较,若相同则输出该图书的所有信息。若不相同,则指针指向下一个结点,直到指向为NULL,结束并提示“该图书不在此书库!”。借阅模块void borrowbook(linklist *l)/借阅int i;n借阅的图书书号:i); if(p-num1num1=p-num1-1;n请输入借阅者的姓名:通过指针所指书号与查找图书的书好进行比较,若相同则输出该图书的所有信息,若库存不大于零,提示“该书

9、库存不足,读者无法借阅.”,相反,则提示“请输入借阅者的姓名:”,记录借阅者的姓名,现存量和库存量各减一个。若不同,则指针指向下一个结点。归还模块void returnbook(linklist *l)/归还n请输入归还图书的书号: p- strcpy(p-Main函数模块int main() linklist l,*head; head=creatnull(&l); *n 欢迎使用图书管理系统 n *n 免费 高效 简单 实用nnnnn int flag=1,a; while(flag) 1:馆藏图书信息n2:采编入库n3:图书查询n4:读者借阅n5:读者归还n6:退出图书管理系统n请输入您

10、的选项:a); switch(a) case 6:flag=0; 已退出图书管理系统 n break; case 1:flag=1; print(head);nnn case 2: creat(head); case 3: int number;n请输入要查找的图书书号: scanf(number); locat(head,number); case 4: borrowbook(head); case 5: returnbook(head); system(pause return 1;首先,定义一个该类型的结点和一个指向该类型的指针。用creatnull()函数创建一个头结点,且指针指向该头

11、结点。然后输出用户界面,通过while循环和switch case语句进行选择。把各个功能模块都编辑在main函数。5 数据测试(1)开始界面图5.1开始界面(2)采编入库模块图5.2采编入库图5.3采编入库图5.4采编入库图5.5采编入库(3)根据书号查找图书模块图5.6根据书号查找图书图5.7根据书号查找图书 (4)借阅模块图5.8读者借阅图5.9读者借阅(5)归还模块图6.0读者归还(6)退出模块6.1退出界面6 总结体会通过本次课程设计,让我对数据结构这门学科对有了进一步的认识,掌握了单链表的基本操作和应用。以前对该课程不再那么恐惧,任何事情没有做不到只有愿不愿意去做。之后凭借那闪现在

12、眼前的点点思路,慢慢在琢磨,终于想出了大体的程序内容。然后一个一个函数的思考,一步一步的编写,调试,做起来也就越来越顺手了。通过我的反复思考,程序中的错误得到了解决。函数功能也得到了进一步的完善。并且在本次课程设计的过程中,让我知道一个人的力量真的好有限,即使个人能力再强,做一个大点的项目,也会力不从心。所以遇到问题要学会去问同学,问老师,只有这样才能将事顺利办得越快越好。通过这次课程设计,会为我们以后进入社会提供一定的经验。我相信在今后的学习真的我会更加努力,积累经验。使自己在编程等各方面得到提高。参考文献1 孙玉方,张乃孝.实用C语言程序设计M.北京:北京大学出版(简体版),1989;台湾儒林出版公司(繁体版),1992.2 许卓群,张乃孝,杨冬青,等.数据结构M.北京:高等教育出版社,19873. 郭有强 ,C+面向对象程序设计J .清华大学出版社 ,2009;4 朱晓龙,Java语言程序设计,北京邮电大学出版社,2011;5 Wirth N.Algorithms + Data Structures = ProgramsM.S.I.PrenticeHall.1976.附录源代码#includestdlib.hstring.hlinklist* creatnull(linklist *l) while(p) =i& whi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1