图书管理系统实验报告

上传人:新** 文档编号:554944125 上传时间:2022-10-05 格式:DOC 页数:48 大小:81KB
返回 下载 相关 举报
图书管理系统实验报告_第1页
第1页 / 共48页
图书管理系统实验报告_第2页
第2页 / 共48页
图书管理系统实验报告_第3页
第3页 / 共48页
图书管理系统实验报告_第4页
第4页 / 共48页
图书管理系统实验报告_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《图书管理系统实验报告》由会员分享,可在线阅读,更多相关《图书管理系统实验报告(48页珍藏版)》请在金锄头文库上搜索。

1、图书管理系统实验报告一、问题描述 有一个小型书库保管了大量图书,关于图书有大量信息需要处理,这些信息包括图书的分类、书名、作者名、购置日期、价格等。现要求编写一个程序以便于对图书的管理。根本要求:a建立图书信息。b提供想找功能,按照多种关键字查找需要的书籍。例如按书名查找,输入书名后,将显示出该图书的所有信息,或显示指定信息。c提供排序功能,按照多种关键字对所有的书籍进展排序,例如按出版日期进展排序。d提供维护功能,可以对图书信息进展添加、修改、删除等功能。数据构造与算法分析数据存储构造可根据需要自选。如:顺序表、单链表、双链表、栈等。算法主要要求用到对数据的查询与排序算法。二、概要设计有四个

2、模块1) 图书初始化输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。2) 新书入库新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。3) 查询图书信息4) 退出退出读书管理系统并保存图书信息。图书管理系统借阅操作模块图书管理模块理查询操作模块借书系统还书系统读者信息查询图书信息查询采编入库初始化图书信息三、算法设计进入系统后首先进展图书初始化,输入图书的信息。开场输入图书编号、名称、作者和图书数量进入系统1)采编入库录入图书信息判断是否有此图书是在原有的纪录上加上现有的图书数量否向系统中参加新纪录2)查询图书信息判断图书信息是否为空否输出图书信息:编号

3、、名称、作者、现有和库存完毕四、运行结果和调试分析图书信息初始化同一本新书入库的运行结果图不同的新书采编入库采编入库后查询图书信息的运行结果图借书借书后查询图书信息的运行结果图借同一本书的运行结果图退出五、总结体会虽然这次的程序是通过上网查出来的,但是通过这次的实验使我知道了图书管理系统的流程,知道了一些以前不知道的知识,在运行程序时也遇到了一些问题,借书时只能借一本书,再借书就不能显示是借了还是不能借,把最多能借书的数量改了一下还是不行,最后在每一个判断输出之后都加了goto END借书,就能正常借书了。程序有点长,本来一个函数就能完成一个功能,他用了两个函数就我把自己能改成一个的改了。借书

4、系统比拟复杂,不容易懂,和同学交流了一下自己看了看才明白。这次的实验还让我复习了数据构造的一些知识,如数组,while语句,switch语句,链表,还知道了如何使用system(cls)清屏,还知道了strcmp是用来比拟字符串s1和s2大小的,strcpy使用来把字符串s2的值赋给s1的。这次的实验增加了我们自己动手动脑的能力,希望多做一些这样的实验,很有意义,和现实生活结合的程序增加了我的兴趣。源代码*include*include *include *include*define Ma* 4 typedef struct bookchar book_num10;char book_nam

5、e20;char book_writer10;int book_*y;int book_kc;struct book *ne*t;BK;typedef struct borrowchar borrow_book_num10;char limit_date8;BO;typedef struct readerchar reader_num10;char reader_name10;int right;BO borrowMa*;struct reader *ne*t;RD;BK *h_book;RD *h_reader;void Login(); int Menu(); void Init(); v

6、oid Init_book(); void Menu_select(); void Insert_New_Book(); void Find_Book(); void add_reader();void Print_reader(); void Print_book(); void Borrow_Book(); void Return_Book(); void Save(); void Save_Book(); void Save_Reader(); void Load();void Load_Reader(); void Load_Book(); void Login()system(cls

7、);printf(nnntt*n);printf(nnnttt欢送使用图书管理系统n);printf(nnntt*n);printf(nntt本程序制作人 王 *:nnnnnnn);printf(nnntt 按任意键进入系统.);getch(); system(cls);int Menu() /*主菜单*/ int dm;printf(ntt图书管理系统主菜单n);printf(=n);printf(*t0-退出系统 n);printf(*t1-采编入库 n);printf(*t2-登记读者 n); printf(*t3-借阅登记 n);printf(*t4-还书管理 n);printf(*t

8、5-查询图书信息 n);printf(*t6-查询读者信息 n);printf(=n);printf(请选择相应的代码:); for(;) scanf(%d,&dm); /dm输入的数字 if(dm6) printf(n错误!请重新输入:); else break;return dm; void Menu_select()/*主菜单项选择择函数*/for(;) switch(Menu() /*功能选择*/ case 0: system(cls); Save();printf(nnt文件保存成功!n); printf(nnt欢送下次使用本系统!n); getch(); e*it(0); case

9、 1:Insert_New_Book();break; case 2:add_reader();break; case 3:Borrow_Book();break; case 4:Return_Book();break; case 5:Print_book();break; case 6:Print_reader();break; default:printf(n错误!); e*it(0);void Init() /*初始化*/BK *p0;printf(n图书初始化开场,请输入图书信息.n包括编号.书名.数量.n);p0=(BK*)malloc(sizeof(BK);h_book=p0; p

10、rintf(n请输入图书信息:n); printf(图书编号:); /*输入图书编号(唯一)*/ scanf(%s,p0-book_num); printf(图书名称:); /*输入图书名称*/ scanf(%s,p0-book_name);printf(图书作者:); /*输入图书作者*/ scanf(%s,p0-book_writer); printf(图书数量:); /*输入图书数量*/ scanf(%d,&p0-book_kc); p0-book_*y=p0-book_kc; /*开场时图书现有量和库存量相等*/ p0-ne*t=NULL; printf(n图书信息初始化完毕!按任意键

11、继续下一步操作.n); getch(); system(cls);void Insert_New_Book()/*新书入库*/BK *p,*p0,*p1; p=p1=h_book;printf(n新书入库模块.n);printf(n请输入新书信息.n包括书号.书名.数量.n);p0=(BK *)malloc(sizeof(BK); printf(图书编号:); scanf(%s,p0-book_num); while(strcmp(p0-book_num,p1-book_num)!=0&p1-ne*t!=NULL) p1=p1-ne*t; if(strcmp(p0-book_num,p1-bo

12、ok_num)=0) /*此处分两种情况,假设图书编号存在,则直接进库,只须输入书的数量*/ printf(n此编号图书已存在!直接入库!n); printf(图书数量:); scanf(%d,&p0-book_kc); p1-book_kc+=p0-book_kc; p1-book_*y+=p0-book_kc; else/*假设不存在,则需要输入其他的信息,然后在进展插入操作*/ printf(图书名称:); scanf(%s,p0-book_name);printf(图书作者:); scanf(%s,p0-book_writer); printf(图书数量:); scanf(%d,&p0-book_kc);/库存数量while(p-ne*t) p=p-ne*t; if(h_book=NULL) h_book=p0; /*此处分两种情况,链表中没有数据,head直接指向p0处*/ else p-ne*t=p0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号