号
是否存在
否
是
看是否还有此图书
输出此图书编号不存在!按任意键返回
是
看读者的借书数目是否满了
否
看读者是否借了相同的书
否
输出此书已借完,按任意键返回
是
输出借书数目已满不能借书,按任意键返回
f数据结构课程设计图书管理系统
6
否
输入归还图书的日期
是
输出同一读者不能借相同的两本书
图书现有数量减1
输出读者结束成功,按任意键返回
结束
图35借阅图书流程图
36归还图书
实现归还图书功能时,首先输入读者编号,并判断是否存在,若不存在就按任意键返回,;若存在输入归还的图书编号并判断是否存在,若归还图书编号不存在,则返回。存在后,将读者借阅该图书的信息清空,该图书的现有量加一。最后按任意键返回
输入要还书的读者编号
判断读者编号是否存在
是
输入读者还书编号
否
输出读者编号不存在按任意键返回
f数据结构课程设计图书管理系统
7
判断图书编号是否存在
是
此图书编号和还书日期等于0
否
输出此图书编号不存在按任意键返回
现有图书数量加1
输出读者还书完毕,按任意键返回
结束
图36归还图书流程图
37查询图书信息
查询图书信息时,输入图书的编号,判断是否存在。不存在则返回;存在则输出图书的编号,书名,作者,现有量,跟库存量。
判断图书信息是否为空
否
是
输出此图书编号不存在按任意键返回
f数据结构课程设计图书管理系统
8
输出图书信息:编号、名称、作者、现有和库存
结束
图37查询图书信息流程图
38查询读者信息
查询读者信息时,首先判断读者的编号是否存在,不存在就按任意键返回。若存在,则输出读者的证号,姓名,和借阅的图书编码及其还书日期。
判断读者信息是否为空
否
输出读者书证号、姓名、图书编码和还书日期
是
输出此读者编号不存在按任意键返回
输出读者信息打印完毕
结束
图38查询读者信息流程图
f数据结构课程设计图书管理系统
9
四、程序设计调试情况分析
在整个课程设计中,我们遇到了许多的问题。有些问题吧,我们在苦思冥想的时候,突然我们的编译器显示出了正确的结果,当我们欣喜若狂的在运行下一次的时候又会出现相同的问题,在借阅的过程中,在一个读者借阅了两本书以上的时候,上一本书的归还日期上还有下一本书上的编号,最后一本书输出的才是正确的结果。下图是借阅了两本书的截图:
图41
看到这里我们也知道是第一本书的还书日期的地址空间跟第二本书的编号连接在了一起导致输出的时候一直到第二本书编号的的字符串r