数据结构课程设计报告
题目: 图书管理系统
学生姓名: 丁洋
学号: 1**********
指导教师: 薛京丽
目录
第一章设计要求 1
问题描述 1
需求分析 1
第二章概要设计 2
主界面设计 2
存储结构设计 2
系统功能设计 3
第三章模块设计 3
系统子程序及功能设计 3
系统功能图 4
4
第四章详细设计 4
数据类型定义 4
系统主要子程序详细设计 5
第五章 测试分析 8
第六章源程序清单 10
第七章工作总结 19
第八章参考文献 20
第一章设计要求
需求分析
本系统是基于哈希表的图书信息管理系统,实现了图书查找,删除,添加功能,并且可以借阅图书,归还图书,包括了还书日期超过时的罚款功能,还有将图书的信息导出,可以方便保存,基本实现了图书的管理功能,方便管理人员的管理工作。
本系统的主要功能(功能图,详细功能描述)
6. 归还图书
7. 保存图书信息到指定文件中
第二章概要设计
主界面设计
存储结构设计
typedef struct
{ int year;
int month;
int day;
}data;
typedef struct
{
char num[5]; //读者编号记录
data bro;
data back;
}ReaderNode;
typedef struct
{
char title[15];
char writer[15];
int current;
int total;
int key; //书的编号
ReaderNode reader[10]; //记录借读该书的读者记录
}BookNode;
typedef struct
{
BookNode *elem;
int count; //记录节点中的总数
}HashTable;
系统功能设计
1. 主菜单显示,显示主菜单的信息,以及用户可选的执行操作,用户在输入相应的执行代码后,跳转至相应功能模块。
2. 添加模块,实现图书信息的添加功能。当添加的编号出现相同时,系统会重新设定信息,更新输入新的编号为止。
3. 查看模块,可以查找指定图书的所有信息,查找支持编号查询。当输入的编号不对或者不存在时,给出用户相应的提示。
4. 删除模块,可以实现删除指定图书的信息,支持按编号删除。当输入的编号不对或者不存在时,给出用户相应的提示。
5. 显示模块,实现显示图书管理系统所包含的所有图书的详细信息。可以直接输出显示在电脑上,或把信息录入创建的文档中。
6. 保存模块,实现信息的保存记录。当根目录中不存在指定的文档时,会再自动创建新的文档并记录信息。
7. 借阅归还模块,实现图书的借阅归还功能,当超过了归还日期的时候,系统会提示罚款的信息。
第三章模块设计
系统子程序及功能设计
函数名
功能
int SearchHash(HashTable H,int K,int *p,int *c)
执行查找哈希表的信息
unsigned Hash(int K)
哈希函数,实现哈希存储地址
void collision(int *p,int d)
开放定址法处理冲突
int InsertHash(HashTable *H,BookNode e)
哈希表的数据插入函数
int DeleteHash(HashTable *H,BookNode e)
哈希表的删除操作函数
void ShowBook(HashTable H)
图书信息的显示函数
void menu(void)
图书信息显示菜单的操作函数
void SaveBook(HashTable H)
保存信息至指定文件中
main()
主函数,执行操作功能的选择
系统功能图
主菜单
添加模块
查看模块
删除模块
按编号
查
显示信息
按编号删
显示信息
借阅模块
归还模块
保存模块
第四章详细设计
数据类型定义
本图书管理系统中,数据类型:
typedef struct
{ int year;
int month;
int day;
}data;
typedef struct
{
char num[5]; //读者编号记录
data bro;
data ba
丁洋 数据结构 来自淘豆网m.daumloan.com转载请标明出处.