北京师范大学珠海分校
C程序设计实践报告
题目: 图 学 院专 业学 生 姓 名 指导教师姓名指导教师单位书 管 理 系 统
信息技术学院 计算机科学与技术 龙海恩,郑少彬,张鑫,麦淑玲 肖红玉 信息技术学院
2013 年 4 月 11 日
1、 题目与要求
编写一个图书管理系统,除了书上的功能之外,还要能做到读者借书还书,查看书籍排行榜,看到书籍的借阅记录和分类状况。
2、 系统总体设计(要给出必要的文字说明及图示)
本报告中蓝色字体为我们小组新增的图书信息。
2.1功能需求分析(明确系统的功能需求) (1)用户登录 (2)系统主控平台 (3)新增图书信息处理 (4)浏览图书信息处理 (5)查询图书信息处理 (6)删除图书信息 (7)保存图书信息处理 (8)普通用户借书信息处理 (9)普通用户还书信息处理 (10)普通用户可查看已借书籍 (11)查看排行榜 (12)新增用户信息 (13)查找用户 (14)查看所有用户 (15)保存用户信息 (16)退出
2.2系统功能模块划分(要给出系统功能模块图) (1)登录系统 (2)增加图书信息 (3)浏览图书信息 (4)查找图书信息
((1))按书名查找 ((2))按作者查找 ((3))按出版社查找 ((4))按出版日期查找 ((5))按ISBN查找 ((6))按图书类型查找
(5)删除图书信息保存图书信息 (6)图书排行榜 (7)新增用户信息 (8)查找用户信息
(9)更新用户信息 (10)删除用户信息 (11)保存用户信息 (12)退出系统 ((1))管理员退出系统 ((2))普通用户退出系统
3、 详细设计
本系统包括图书信息管理和用户管理两大方面,程序有三大模块,有三个源程序文件(management.c、book.c、user.c)和三个头文件(management.h、book.h、user.h)。
其中book.c完成的是图书信息的管理,包括新增图书、浏览图书、查询图书、删除图书、保存图书功能。 user.c完成的是用户信息的管理,包括新增用户、用户查询、保存用户等功能。 management.c完成的是用户登录,用户退出等功能。Main函数也在这一源程序中。 book.h中的内容是图书信息的管理中涉及的常量、结构体的定义和相关函数的声明。 user.h中的内容是用户信息的管理中涉及的常量、结构体的定义和相关函数的声明。 management.h中的内容是菜单及退出函数的声明。
3.1重要数据的数据结构设计(即结构体的声明、变量的定义、文件)
一.头文件management.h 1.显示菜单函数声明
void show_admin_menu(); void show_search_book_menu(); void show_user_menu();
2.退出系统函数声明
void admin_exit(); void user_exit();
二.头文件book.h 1.常量定义
分别定义书名、出版社、出版日期、作者、ISBN、图书类型、借书读者、借阅图书的借阅量的最大长度。(蓝色字体为我们小组新增的图书信息。)
#define MAX_BOOK_NAME 20 #define MAX_PUBLISHER 20 #define MAX_DATE 10 #define MAX_AUTHOR 20 #define MAX_ISBN 20 #define MAX_SORT 10
#define MAX_BORROW_USER 20 #define MAX_BOOK_COUNT 10000 2.结构体类型定义
定义一个结构体类型_book_info,使用typedef 语句自定义一个新类型book_info,新类型中共11个成员,分别是书名、作者、出版社、出版日期、ISBN、页数、用于标记借书还书 、图书类型、借阅次数、借书读者、 用于标记排行榜 ,用来描述图书的基本信息。
typedef struct _book_info