沈航北方科技学院
课程设计说明书
课程名称c语言课程设计 教学部机械工程系
专业数控 班级B042111 学号B04211123
学生姓名田文
指导教师赵小磊_
2012年6月
链表实现图书信息操作
田文 目录
1绪论 .......................................................................................................................................... 2系统分析 ................................................................................................................................. 功能需求 ...................................................................................................................................... 数据需求 ...................................................................................................................................... 性能需求 ...................................................................................................................................... 3总体设计 .................................................................................................................................
功能模块设计 ............................................................................................................................. 系统设计方案 .......................................................................................................................... 6 4详细设计 .............................................................................................................................. 7 登录模块 ................................................................................................................................... 7 借书管理模块 .......................................................................................................................... 8 还书管理模块 .......................................................................................................................... 9 5调试与测试 ........................................................................................................................ 10 调试........................................................................................................................................... 10 测试........................................................................................................................................... 11 6结论 ..................................................................................................................................... 12 结束语 .................................................................................................................................... 12 参考文献 ............................................................................................................................... 12 附录1-用户手册(另起一页) ..................................................................................... 13 附录2-源程序(另起一页) ..............................................................................................
摘要
经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:图书信息输入函数input(),借阅图书函数(borrow),增加删除图书函数(adddelet),图书查询函数(search),以及归还图书信息函数(giveback)。在这些函数当中,这四个函数的实现严格按照题目的要求。 1、 图书信息输入函数主要功能是从键盘输入图书信息并将其写入文件中,作为图
书馆的书库,以便对下面的函数进行运行,此函数是基础.
2、 图书借阅函数主要借阅图书的功能和录入学生应该还书的时间;
3、 图书归还函数主要实现借阅图书后,归还图书的功能,并把应该还书的时间和实
际还书的时间进行比较过期时输出学生的信息,也是该程序的的一个重点 4、 增加删除图书函数实现的功能是实现对图书的删除;
5、
图书查询函数允许按照图书编号,书名,作者,出版社进行查询,并将查询信息输出;
6、 退出函数该函数主要实现退出运行界面的功能.
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
每一个图书记录都包含:图书编号,名称,出版社,作者,现有数量和总量在程序当中,将图书记录类型定义为结构体类型,并把它写入d:\\\\中,其他函数每次对图书记录的访问,其数据来源都是d:\\\\文件,这样做不但可以保证图书数据的一致性,而且可以对图书数据进行永久保存,保证每次运行程序都可以采用原来的数据。 1绪论
整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:图书信息输入函数input(),借阅图书函数(borrow),增加删除图书函数(adddelet),图书查询函数(search),以及归还图书信息函数(giveback)。在这些函数当中,这四个函数的实现严格按照题目的要求。 2系统分析 功能需求
设计一个通过链表实现对图书信息进行管理的程序,要求完成以下功能: 1. 建立一个链表,每个结点应包含以下信息:图书号、书名及出版社、价格、ISBN、作者、册数;
2. 将输入信息按图书号进行从小到大的排序; 3. 实现查询功能——输入书名,查询输出相关信息; 4. 实现插入功能——输入图书信息并插入有序链表中;
5. 实现删除功能——输入书名或书号,可将其信息从链表中删除; 6. 统计链表中图书总价值,并在屏幕上输出;
7. 统计该链表中价值超过某一数目的图书总数,并在屏幕上输出。 8.有界面友好易于使用的菜单。 数据需求
需要向系统输入图书号、书名及出版社、价格、ISBN、作者、册数 性能需求
在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。
3总体设计 功能模块设计
根据分析整个系统主要划分为4个功能模块,分别执行要求中的功能。该系统需要有添加,删除,查询,修改,累加,循环显示主菜单,保存信息功能,能将会员卡进行注销,利用显示函数将会员卡内所有信息显示。要求有循环显示菜单工能。功能模块图如图1所示。(1)输入读者
输入相关读者信息至内存中; (2)输入书籍
输入书籍号,对已存的书籍信息进行查询; (3)书籍管理模块
输入相应代码,对相关信息进行查询; (4)退出管理模块
主菜单中输入0退出系统登录;
图1图书管理系统流程图 图2管理员版图书管理系统流程图 图3图书查询主界面流程图
系统设计方案
设计一个总菜单,1登录信息,2查询管理,3书籍管理系统,4退出系统。基本功能的实现都将体现在这几个菜单选项中。 structreader*next; }RD;
BK*h_book; RD*h_reader;
voidLogin();/*登陆*/ intMenu();/*主菜单*/
voidMenu_select();/*主菜单选择函数*/ voidInit();/*初始化*/
voidInit_reader();/*初始化读者*/ voidInit_book();/*初始化图书*/
voidInsert_New_Book();/*新书入库*/ intFind();/*查找菜单*/
voidFind_Select();/*查找菜单选择函数*/ voidFind_Reader();/*查找读者信息*/ voidFind_Book();/*查找图书信息*/ voidPrint_reader();/*打印读者信息*/ voidPrint_book();/*打印图书信息*/ voidBorrow_Book();/*借书函数*/ voidReturn_Book();/*还书函数*/
voidSave();/*保存信息*/
voidSave_Reader();/*保存读者信息*/ voidSave_Book();/*保存图书信息*/ voidLoad();/*加载信息*/
voidLoad_Reader();/*加载读者信息*/ voidLoad_Book();/*加载图书信息*/ voidLogin()/*登陆*/ {
system(\
printf(\欢迎登陆本系统\\n\
printf(\系统版权所有\\n\\n\\n\\n\\n\\n\\n\printf(\按任意键进入系统...\getchar();system(\}
intMenu()/*主菜单*/ {intsn;
printf(\图书管理系统主菜单\\n\
printf(\printf(\退出系统*\\n\printf(\新书入库*\\n\printf(\查询*\\n\printf(\借书登记*\\n\printf(\还书管理*\\n\
printf(\printf(\请选择相应代码:\4详细设计 登录模块
图4:输入读者信息 图5:输入书籍信息
借书管理模块
主菜单中输入读者和书籍信息后,对已存的书籍进行借阅,程序流程如图4所示。
图6借书模块流程图
还书管理模块
对于已还书籍进行管理,程序流程如图4所示。
图7还书模块流程图
c语言图书管理系统课程设计报告



