1、 C 语言课程设计报告 20112012 学年第 2 学期 课课 程程:C 语言课程设计 课程设计名称课程设计名称:图书管理系统 20122012 年年 0505 月月 0404 日日 一、需求一、需求分析分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书 带来便利。使用 c 语言编写了图书此管理系统。本系统主要实现图书信息管理的 功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆 内管理的几乎所有功能,包括查询、添加、删除、修改图书信息,以及对图书信 息的存档、读取、排序。所设计的系统以菜单方式工作,为用户提供清晰的使用 提示,依据用户的选择来进行各
2、种处理,并且在此过程中能够尽可能的处理用户 使用过程中可能出现的异常情况。图书信息包括作者名、书名、出版社、出版时 间、图书编号、价格、借书人姓名、借书人性别、借书人学号。图书信息的录入 和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进 行浏览、查询、修改、删除等基本操作。整个程序实现链表操作,对图书信息的 操作逐个地进行。 二、二、算法设计算法设计: : 1 1设计思想:设计思想: 整个系统制造的而过程中, 涉及了较多 C 语言知识点, 对于不同的数据类型、 程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在 一定程度上做到了对所学知识融会贯通。进一
3、步加深、巩固了所学的专业的基本 理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序 的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2 2设计表示:设计表示: (1)整个系统除了主函数外,另外还有各种功能子函数,利用循环语句 do-while()和选择语句 switch()实现各个子函数的调用,系统根据输入的数字 选项来调用相应的函数,以实现相应的功能。主函数中首先从文件读取信息到链 表中,以用于后面其他函数的操作。总体主要实现了图书的录入、存储、查询、 添加、删除、修改、排序等功能。 (2)在主函数中选择管理员登录或者学生登录,并且输入正确密码后才可以
4、 进入系统,若连续 3 次输入密码错误将会被强制退出。 (3) Create_Books_Doc();这是一个指针函数,它主要实现了链表的创建, 它返回的时一个单向链表的头。其他函数调用时只需调用它返回的头即可。 Clear();此为清屏操作,在运行中可以随时将屏幕清空。 (4) Print_Book_Doc ();这个函数为链表的输出函数,把链表的头传给函数 后,可以表格的形式输出整个链表的所有信息。 、 (5)save();这个函数为保存信息到文件的函数,使用时将链表的头传给函 数,函数可将整个链表的所有信息存入到磁盘文件中。并覆盖掉源文件,以便以 后调用。Read()这个函数为读取文件的
5、函数,将文件中的数据读入链表中。 (7)search_book1();search_book2();search_book3();search_book4();se arch_book5();这五个函数为查询图书信息函数,它们分别按编号、书名、作者、 借书人姓名、借书人学号进行查询。查询到信息后返回信息所在节点,查询不到 则返回空指针。 (8)InsertDoc();Sorting_order1();Sorting_order2();DeleteDoc ();info_change ();这四个函数为功能函数,InsertDoc();添加图书信息、 Sorting_order1();将图书按编
6、号排序、Sorting_order2();将图书按价格排序、 DeleteDoc ();删除图书信息、info_change ();修改图书信息。调用时将链表头 指针传递给函数,函数返回经过功能操作后的头指针。 3 3结构体系设计:结构体系设计: 以下为部分流程图: 图书管理系统主界面流程图 管理员版图书管理系统流程图 图 书 信 息 查 图 书 信 息 新 建 图 书 信 息 添 加 图 书 信 息 删 除 图 书 信 息 浏 览 图 书 信 息 修 改 管理员版图书管理系 图 书 管 理 系 管 理 员 登 学 生 登 录 图 书 信 息 排 序 清 屏 操 作 退 出 系 统 登 录 图书查询系统主界面流程图 排序页面 5 5设计过程中的想法设计过程中的想法与程序中的不足:与程序中的不足: 按 照 图 书 号 查 询 按 照 图 书 名 查 询 按 照 图 书 作 者 查 询 按 照 借 书 人 姓 名 查 询 按 照 借 书 人 学 号 查 询 退 出 查 询 图书查询系统主界面 排序系统 按 照 图 书 价 格 排 序