当前位置: 首页 > news >正文

asp.net图书管理系统源码_[源码和文档分享]基于B树实现的图书管理系统

1 需求分析

1.1 数据结构分析

图书管理系统中图书管理模块包括图书类型定义:书号(int),现存量(int),总存量(int),出版时间(int),价格(float),书名,作者名为字符型,借阅指针为读者类型;

读者类型定义:ID号(int),姓名为字符型。

B树(2-3树)类型定义:关键字个数和关键字数组为整型,另外还有指向双亲的指针,指向子树的指针;

B树查找结果类型定义:结点指针,关键字序号和查找标志变量为整型。

1.2 输出的形式

输出界面以用户于计算机的交互方式进行,在输出窗口上显示“特定的提示信息”之后,由用户按提示在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在下面。由于时间和能力有限,该管理系统没有用文件存放数据,所有数据放在内存中存放(后来做了改进版就有了),但是选做的功能就还没有实现。其基本业务都是以书号为关键字进行,采用了(2-3树)对书号建立索引,以提高效率。

1.3 程序所能达到的功能

1.3.1 采编入库

  • 新书购入,将书号,书名,作者,册数,出版时间以及价格添加入图书管理系统中,如果这种书在系统中已存在,则只将总库存量增加,每增加一个书号则以凹入表的形式显示B树形状。

1.3.2 清除库存

  • 实现某本书的全部信息删除操作,每清除一个书号则以凹入表的形式显示B树形状。

1.3.3 图书借阅

  • 如果树的库存量大于零时则执行出借,登记借阅者的图书证号和姓名。

1.3.4 图书归还

  • 注销借阅者信息,并改变该书的现存量。

1.3.5 查看图书馆全部图书

  • 用表格输出所有图书的信息。

1.3.6 查看某图书信息

  • 查看指定某一本书的全部信息。

1.3.7 查看某本书的借阅者信息

  • 表格输出某本书的全部借阅者信息。

1.3.8 读取图书信息

  • 从文件中读取所有图书的信息以及所有借阅者的信息

1.4 测试数据

  • 入库书号:35, 16, 18, 70, 5, 50, 22, 60, 13, 17, 12 , 45, 25, 42, 15, 90, 30, 7
  • 然后清除:45, 90, 50, 22, 42
  • 其余数据自行设计。由空树开始,每插入删除一个关键字后就显示B树的状态。

6d41ab9cbaf475c0112aadbc67333937.png

58b2e1e8987f2f19f78220e7afcf77e5.png

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1492.html

相关文章:

  • SRA下载到分析
  • 多个子流程_协程工作流程的实现
  • Permission denied
  • wps交叉表_WPS文字小工具大用途—交叉引用的使用方法
  • 使用Trinity进行转录组组装
  • linux ssh连接交换机_【交换机】交换机如何配置ssh管理
  • python股票分析入门_学习用Python分析股票数据(入门)
  • Aspera 下载_SRA原始数据下载
  • keil5怎么配置程序风格_分享一个在Keil开发环境中配置代码格式化工具Astyle(美化代码风格)...
  • 01-rna-seq从头开始 卖萌哥
  • bc伐木机器人_BC教程之自动合成_我的世界BCmod教程 BCmod怎么玩__ 单机攻略_跑跑车单机游戏网...
  • FastQC或Trimmomatic去接头,低质量碱基
  • python中raise抛出异常_一文教你读懂Python中的异常信息
  • xargs 管道命令
  • android显示布局边界的边距_Android UI之布局
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 《剑指offer》分解让复杂问题更简单
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • CSS相对定位
  • Docker: 容器互访的三种方式
  • Java方法详解
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • scrapy学习之路4(itemloder的使用)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • tab.js分享及浏览器兼容性问题汇总
  • vue中实现单选
  • 阿里云应用高可用服务公测发布
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 目录与文件属性:编写ls
  • 前端知识点整理(待续)
  • 前嗅ForeSpider中数据浏览界面介绍
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 一道面试题引发的“血案”
  • 一天一个设计模式之JS实现——适配器模式
  • ionic异常记录
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (C)一些题4
  • (超详细)语音信号处理之特征提取
  • (分类)KNN算法- 参数调优
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (三)docker:Dockerfile构建容器运行jar包
  • (转)重识new
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET中的Exception处理(C#)
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [04]Web前端进阶—JS伪数组
  • [100天算法】-目标和(day 79)
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [acwing周赛复盘] 第 69 场周赛20220917