c语言图书管理系统实践报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京师大学分校

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

{

char book_name[MAX_BOOK_NAME];

char author[MAX_AUTHOR];

char publisher[MAX_PUBLISHER];

char pub_date[MAX_DATE];

char ISBN[MAX_ISBN];

int pages;

char borrow_size;

char sort[MAX_SORT];

int borrow_time;

char borrow_user[MAX_BORROW_USER];

int book_load_time;

}book_info;

定义一个结构体类型_book,使用typedef 语句自定义一个新类型book,其中成员有一个结构体变量bi和指向下一本图书的指针变量。(此结构是存储图书信息的链表。)

typedef struct _book

{

book_info bi;

struct _book* next;

}book;

3.函数声明

(1)主要处理函数声明

void init_book(); //图书模块初始化

void load_books(); //从图书文件中加载图书信息

void add_book(); //新增图书

void view_book(); //浏览所有的图书

void delete_book(); //删除图书

void save_books(); //调用将图书信息保存到文件函数,给出提示信息

void clear_books(); //从存中清除图书链表信息

void books_charts(); //排行榜

void update_book(); //更新图书

(2)图书查询函数声明

void search_book_by_name(); //按书名查询图书

void search_book_by_author(); //按作者查询图书

void search_book_by_publisher(); //按出版社查询图书

void search_book_by_pubdate(); //按出版日期查询图书

void search_book_by_isbn(); //桉书ISBN查询图书

void search_book_by_sort(); //桉图书类型查询图书

相关文档
最新文档