《程序设计实践》报告
学号;题目来源及序号难度等级
一、题目
说明:由教师给出
题目 13、 图书管理系统(查找应用)
[问题描述]
图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上
述业务活动借助于计算机系统完成。
[实现提示]
1、 每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。
2、 由于图书管理的基本业务活动都是通过书号(即关键字)进行的,所以要用对书号 索引,以获得高效率。
3、 系统应实现的基本功能有:
4
5
6
7
8
采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。如果这两种书在帐中已有,则只将
清除库存:某种书已无保留价值,将它从图书帐目中注销。
借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。
归还:注销对借阅者的登记,改变该书的现存量。
显示:以凹入表的形式显示 B 树。这个操作是为了调试和维护的目的而设置的。
总库存量增加。
二、问题分析及求解基本思路
说明:给出题目的分析及初步的解题思路。要求简洁、易懂
一、概要设计
主要实现系统的功能:
a.图书初始化: 输入图书的一些信息,编号、作者、书名、数量,有一定的库存。
b.新书入库: 新书采编入库,输入编号后有次数只需输入数量,没有则继续输入
c.添加读者信息: 读者信息初始化,输入读书证号和姓名后才能进行借书还书
d.借书模块: 读者输入读书证号,证号存在输入要借的图书编号,不能借同一本书,如果借书数量以达到最大也
不能借书。
e.还书模块: 归还已借的图书,要先输入读者书证号,书证号存在继续输入要还的图书编号,图书编号存在并且
借来此书,归还成功。
f.查询图书信息
g.查询读者信息: 可查询读者姓名书证号,借了几本书,都是什么书和还书日期, 还可以借几本书。
h.退出: 退出读书管理系统并保存读者和图书信息。
设计的的初步思路:
主要采取定义结构体,定义两个结构体分别为图书结构体和阅读者的结构体,将其数据存储到字符串中,然后逐个
构建单链表,将其数据存储到单链表结点的数据域中,然后进行图书文件的读取或者可以选择图书的初始化,输入
图书的编号,作者,书名,数量和一定的库存和现存量。新书入库创造新结点,定义指针,此处分两种情况,若图书
编号存在,则直接进库,只须输入书的数量,通过字符串的比较来判定,同理阅读者的添加是增加阅读者的单链表的
结点,同时一个读者规定只能借阅 5 本书存储到数据域的字符串中。分别定义还书和借书的函数,用字符串的比较
功能判断读者借书不能同一种书借两次,同时采编新书要求如果书号相同只需要直接输入采编的本数和如果没有书
时会返回等待新书到来,包括索书号以及读者的学号输入出现不存在会返回错误,还书函数也是通过字符串中存储
的库存量和现存量增加,同时读者借书数量 right 减少。最后将图书的单链表和阅读者的单链表读写到文件中。