实验四 图书管理系统 姓名:任子龙 学号:1120140167 班级:05111451 一
需求分析 (1)问题描述 有一个小型书库保管了大量图书,关于图书有大量信息需要处理,这些信息包括图书的分类、书名、作者名、购买日期、价格等
现要求编写一个程序以便于对图书的管理
(2)基本要求: a.建立图书信息
b.提供查找功能,按照多种关键字查找需要的书籍
例如按书名查找,输入书名后,将显示出该图书的所有信息,或显示指定信息
c.提供排序功能,按照多种关键字对所有的书籍进行排序,例如按出版日期进行排序
d.提供维护功能,可以对图书信息进行添加、修改、删除等功能
(3)数据结构与算法分析 将每一本书看作是一个基本单元
由于涉及添加、修改操作,这里使用了链表作为数据存储结构;同时,考虑到排序功能,尝试使用双向链表
其中,每本书作为一个结点,数据域包含 char型变量,指针域含有左右指针 left 和 right
概要设计 1
抽象数据类型的定义 为实现上述功能,程序中使用了双向链表,只需要定义一种数据类型: typedef struct book { char number[10]; char title[20]; char author[10]; char date[15]; char price[10]; struct book *right; struct book *left; }BK; 注意结点的指针域有left 和right 两个
本程序包含两个模块 (1)主程序模块 主函数只包含了 Menu_select()函数
目的是进入主菜单界面,进行功能选择;直到输入操作码0,退出系统; (2)双向链表单元模块——实现书籍信息的链式存储的抽象数据类型
各函数之间的调用关系: 三
详细设计 1
结点类型 typedef struct book { char