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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

图书馆管理系统实习报告.docx

1、图书馆管理系统实习报告 实习报告 题目:图书馆管理系统 班级:计科092 姓名:周利亚 学号:* 姓名:戚永华 学号:* 姓名:张计伟 学号:* 完成日期:2011.9.231.设计内容设计开发一个小型的图书管信息管理系统,要求具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息 、删除图书信息 以及通过学生学号实现图书借阅功能。2.需求分析1.该程序可用于图书馆对图书信息的管理2.该程序可对初始时对图书及借书证信息的储存以及以后对新买图书3.在应用时可对错误信息进行修改、对需要图书按具体内容经行查询、对库存量进行统计。3.基本要求 (1)通过提示菜单选择可以

2、进行的操作。(2)将图书的信息存入文件中。(3)将图书借阅情况信息存入文件中。(4)在本系统中可以进行管理系统包含的基本操作,其中包括:a)查看所有图书的信息。b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图

3、书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。(5)图书基本信息包括图书编号、书名、作者。4.概要设计 1储存模块:在主菜单按1进入储存模块,在提示中选1进入储存图书模块,按2进入储存借书证模块。按提示以此输入储存。 2删除模块:在主菜单按2进入删除模块,按提示进入删除图书或删除借书证模块,输入要删除的编号对其进行删除。 3修改模块:在主菜单按3进入修改模块,在提示中进入修改图书或修改借书证模块。在修改模块按对应的数字键并照提示输入修改后的数据按回车修改完成。4借书模块:进入借书模块后按提示以此输入要借的图书序号和借书证号完成借阅。5还书

4、模块:与借书模块类似。6查询模块:进入查询模块后按照提示进入图书查询或借书证查询模块。在图书查询中选择你要查询的种类,进入后输入要查询的内容精心查询。在借书证查询中输入借书证编号便会显示次借书证当前的信息。5.调试分析 1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。一周的时间,我们编了一个学生图书管理程序,这是一个应用程序相对于以前我们编写的程序,这个程序似乎稍微大了一些,运行的结果也不是很理想,程序的书写方面也不是很规范,还需要改进,在老师的指导及同学的互相商讨下,经过我一次一次的修改,最终基本达到了预期的效果,但还有不足的的地方。第一次独立完成这种规模的程序,由于时间短,有许

5、多原先构想的程序还未编辑,故有一些功能未能实现,现在已编辑的程序基本上能满足客户的需求,但还不是十分完善,若能添加更多的功能就能进一步满足需求了。2、在设计过程中的感受。 通过这次实习让我对C语言有了进一步的了解,以前只停留在编写十几行的小程序的基础上,对它只是略知皮毛,经过上学期的学习也只是停留在理论上,此次实习让我受益匪浅,这次提高了我们的动手动脑能力,大学生缺乏动手实践的能力,对于大学生来说书本知识固然重要,但是实践课绝对是其大学四年中不可或缺的一部分。所以我认为大学开实践课是非常有必要的!6.程序源代码 #include#include#include#includestruct bo

6、oks_list char author20; /*作者名*/ char bookname20; /*书名*/ char publisher20; /*出版单位*/ char pbtime15; /*出版时间*/ char loginnum10; /*登陆号*/ float price; /*价格*/ char classfy10; /*分类号*/ struct books_list * next; /*链表的指针域*/; struct books_list * Create_Books_Doc(); /*新建链表*/void InsertDoc(struct books_list * hea

7、d); /*插入*/void DeleteDoc(struct books_list * head , int num);/*删除*/void Print_Book_Doc(struct books_list * head);/*浏览*/void search_book(struct books_list * head); /*查询*/void info_change(struct books_list * head);/*修改*/void save(struct books_list * head);/*保存数据至文件*/*新建链表头节点*/struct books_list * Creat

8、e_Books_Doc() struct books_list * head; head=(struct books_list *)malloc(sizeof(struct books_list); /*分配头节点空间*/ head-next=NULL; /*头节点指针域初始化,定为空*/ return head; /*保存数据至文件*/void save(struct books_list * head) struct books_list *p; FILE *fp; p=head; fp=fopen(data.txt,w+); /*以写方式新建并打开 data.txt文件*/fprintf

9、(fp,登录号书 名作 者出版单位 出版时间 分类号 价格 n); /*指针从头节点开始移动,遍历至尾结点,依次输出图书信息*/ while(p-next!= NULL) p=p-next; fprintf(fp, %-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-6.6s%.2fn,p-loginnum,p-bookname,p-author,p-publisher,p-pbtime,p-classfy,p-price); fclose(fp); printf(已将图书数据保存到 data.txt 文件n);/*插入*/void InsertDoc(struct

10、 books_list *head) /*定义结构体指针变量 s指向开辟的新结点首地址 p为中间变量*/ struct books_list *s, *p; char flag=Y; /*定义flag,方便用户选择重复输入*/ p=head; /*遍历到尾结点,p指向尾结点*/ while(p-next!= NULL) p=p-next; /*开辟新空间,存入数据,添加进链表*/ while(flag=Y|flag=y) s=(struct books_list *)malloc(sizeof(struct books_list); printf(n请输入图书登陆号:); fflush(std

11、in); scanf(%s,s-loginnum); printf(n请输入图书书名:); fflush(stdin); scanf(%s,s-bookname); printf(n请输入图书作者名:); fflush(stdin); scanf(%s,s-author); printf(n请输入图书出版社:); fflush(stdin); scanf(%s,s-publisher); printf(n请输入图书出版时间:); fflush(stdin); scanf(%s,s-pbtime); printf(n请输入图书分类号:); fflush(stdin); scanf(%s,s-cl

12、assfy); printf(n 请输入图书价格:); fflush(stdin); scanf(%f,&s-price); printf(n); p-next=s; /*将新增加的节点添加进链表*/ p=s; /*p指向尾节点,向后移*/ s-next=NULL; printf(添加成功! ); printf(n 继续添加?(Y/N):); fflush(stdin); scanf(%c,&flag); printf(n); if(flag=N|flag=n) break; else if(flag=Y|flag=y) continue; save(head); /*保存数据至文件*/ re

13、turn;/*查询操作*/void search_book(struct books_list *head) struct books_list * p; char temp20; p=head; if(head=NULL | head-next=NULL) /*判断数据库是否为空*/ printf(图书库为空! n); else printf(请输入您要查找的书名: ); fflush(stdin); scanf(%s,temp); /*指针从头节点开始移动,遍历至尾结点,查找书目信息*/ while(p-next!= NULL) p=p-next; if(strcmp(p-bookname

14、,temp)=0) printf(n图书已找到!n); printf(n); printf(登录号: %stn,p-loginnum); printf(书名: %stn,p-bookname); printf(作者名: %stn,p-author); printf(出版单位: %stn,p-publisher); printf(出版时间: %stn,p-pbtime); printf(分类号: %stn,p-classfy); printf(价格: %.2ftn,p-price); if(p-next=NULL) printf(n查询完毕!n); return; /*浏览操作*/ void P

15、rint_Book_Doc(struct books_list * head) struct books_list * p; if(head=NULL | head-next=NULL) /*判断数据库是否为空*/ printf(n 没有图书记录! nn); return; p=head;printf(登录号书 名作 者出版单位 出版时间 分类号 价格 n); /*指针从头节点开始移动,遍历至尾结点,依次输出图书信息*/ while(p-next!= NULL) p=p-next; printf(%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-6.6s%.2f

16、n,p-loginnum,p-bookname,p-author,p-publisher,p-pbtime,p-classfy,p-price); /*循环输出表格*/ printf(n); /*修改操作*/void info_change(struct books_list * head) struct books_list * p; int panduan=0; /*此变量用于判断是否找到书目*/ char temp20; p=head; printf(请输入要修改的书名:); scanf(%s,temp); while(p-next!= NULL) p=p-next; if(strcmp

17、(p-bookname,temp)=0) printf(n请输入图书登陆卡号:); fflush(stdin); scanf(%s,p-loginnum); printf(n请输入图书书名:); fflush(stdin); scanf(%s,p-bookname); printf(n请输入图书作者名:); fflush(stdin); scanf(%s,p-author); printf(n请输入图书出版社:); fflush(stdin); scanf(%s,p-publisher); printf(n请输入图书出版时间:); fflush(stdin); scanf(%s,p-pbtim

18、e); printf(n请输入图书分类号:); fflush(stdin); scanf(%s,p-classfy); printf(n请输入图书价格:); fflush(stdin); scanf(%f,&p-price); printf(n); panduan=1; if(panduan=0) printf(n 没有图书记录! nn); return;/*删除操作*/void DeleteDoc(struct books_list * head) struct books_list *s,*p; /*s为中间变量,p为遍历时使用的指针*/ char temp20; int panduan;

19、 /*此变量用于判断是否找到了书目*/ panduan=0; p=s=head; printf( 请输入您要删除的书名:); scanf(%s,temp); /*遍历到尾结点*/ while(p!= NULL) if(strcmp(p-bookname,temp)=0) panduan+; break; p=p-next; if(panduan=1) for(;s-next!=p;) /*找到所需删除卡号结点的上一个结点*/ s=s-next; s-next=p-next; /*将后一节点地址赋值给前一节点的指针域*/ free(p); printf(n 删除成功! n); else /*未找

20、到相应书目*/ printf(您输入的书目不存在,请确认后输入!n); return;int main(void) struct books_list * head; char choice; head=NULL; for(;) /*实现反复输入选择*/ printf(图书管理系统n); printf( 1图书信息录入n); printf( 2图书信息浏览n); printf( 3图书信息查询n); printf( 4图书信息修改n); printf( 5图书信息删除n); printf( 6退出系统n); printf(请选择:); fflush(stdin); scanf(%c,&choi

21、ce); if(choice=1) if(head=NULL) head=Create_Books_Doc(); InsertDoc(head); else if(choice=2) Print_Book_Doc(head); else if(choice=3) search_book(head); else if(choice=4) info_change(head); else if(choice=5) DeleteDoc(head); else if(choice=6) printf(n); printf(感谢使用图书管理系统n); break; else printf(输入错误,请重新输入! ); break; return 0;

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

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