1、 课程课程报告报告任务书任务书 题题 目目 图书信息管理系统图书信息管理系统 主要主要 内容内容 开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、 出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量 等) 。使之能提供以下基本基本功能功能: (1)图书信息录入功能(图书信息用文件保存)输入 (2)图书信息浏览功能输出 (3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): 按书名查询 按作者名查询 按照价钱排序 按出版时间排序等等 (4)图书信息的删除与修改 扩扩展展功能功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理
2、(2)报表打 印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。 (4) 模糊查询 (5)综合查询 (6)统计功能 比如统计处某一类别的图书信息 或 筛 选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。 任务任务 要求要求 一、提交材料应包括: (1)系统源代码 (2)课程报告 二、整个设计过程具体要求 (1)需求分析需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善 各个模块的调用关系; (2)设计过程设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细节 (函数名、参数、返回值等) (3)实现过程实现过程 要求学生养成良
3、好的编码习惯、完成各个模块并进行测试,最终 完成系统整体测试; (4)总结阶段总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。 成绩成绩 评定评定 报告撰写情况(报告撰写情况(30 分)分) 系统系统完成完成情况 (情况 (30 分)分) 答辩情况(答辩情况(40 分)分) 总分总分 内容内容 2020 分分 规范程度规范程度 5 5 分分 程序测试程序测试 5 5 分分 基本功能基本功能 2020 分分 扩展功能扩展功能 1010 分分 自述情况自述情况 1010 分分 答辩情况答辩情况 3030 分分 成绩评定成绩评定教师:教师: 1 需求分析 经过大一上学期的理论学习,在基础
4、实验的基础上,本学期我们继续开设了 C 语言程序 设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系 统性质的规模较大的程序。 本次课程设计要求我们达到能独立完成一个图书管理系统,完成后要求实现的功能有对 图书信息的录入、删除、修改,浏览(即输出) , 按某种方式查询(要求至少一种查询方式) , 按某种方式排序(要求至少一种排序方式) 。当然,我们可以根据自己的能力对系统进行完善 性的拓展,例如自己加入简单的权限处理,统计功能,模糊查询等,甚至可以拓展为图书借 阅系统。 通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉 C 语言开发的全
5、过程,提高综合应用 C 语言的能力、编程和调试能力,为学习计算机和通信 专业的后续课程打好专业基础。 2 概要设计 (1) 图书信息及数据格式 图书信息: 图书信息包括图书编号、图书类别、图书书名、作者、出版社、出版时间、图 书价格。 数据格式: 本系统采用单向链表来对图书信息进行各项操作。其中图书的编号为整型数 据,价格为双精度浮点型,其余的类别、书名、作者、出版社与出版时间均为字符 串类型 struct tushu_node int num; char leibie20; char name30; char author20; char press20; char time20; doub
6、le price; struct tushu_node*next; ; 一个结点的示意图如下图所示: num leibie name author press time price next (2)程序的整体框架 (3)模块划分 1、int quanxian(); 核查权限的函数 2、int inputchioce(); 显示主菜单的函数 3、void save(); 保存链表为文件的函数 覆盖以前的信息 4、void save1(); 保存链表为文件的函数 不覆盖以前的信息 只在创建时调用 5、struct tushu_node* wjtolb();从文件中读取数据并建立图书信息的链表的函数 6、int luruxinxi(); 录入学生信息的函数 7、struct tushu_node * luruxinxi_chuangjian(); 创建图书信息的函数 8、struct tushu_node *