




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南城建学院 课程设计报告书 专 业 计算机信息管理与信息系统 课程设计名称 数据结构课程设计 题 目 图书借阅管理系统 班 级 信管二班 设 计 者 学 号 083215203 设 计 者 姓 名 耿晓业 同 组 人 员 刘利 指 导 老 师 张延红 完 成 时 间 2016年6月10日 摘摘 要要 随着信息技术的迅猛发展 信息化已经渗透到社会生活的各个领域和各个层面 并日益成为提高效率 消除差错 节约成本的有效途径 20世纪60年代以来 在 微电子技术和通信技术迅速发展的推动下 图书馆图书借阅管理也充分利用软件来 进行管理 其目标是借助先进的信息处理技术和计算机网络技术来提高图书管理的 效率和质量 将管理与办公活动纳入到自动化 现代化的轨道中 各大中小学图书馆中传统的图书借阅管理模式也越来越不能满足现代教育发展 的需要 对于一个有着成百上千的学生的学校来说 用手工管理数以千计图书的借 阅以及归还 是一项非常繁琐的工作 而相应的阶段性盘点图书 图书查询等 其 工作量都让人望而生畏 而且还极易出错 所以我们提出了开发图书馆图书借阅管 理系统 采取会员制的方式进行会员管理 包括增加会员 查询会员 删除会员 会员借书信息等 另外采取图书流通借还管理 对图书查询借阅 增加图书 删除 图书等功能进行统一管理 为各大中小学实现图书馆信息化管理提供有效工具 本 系统采用数据结构 C 程序设计语言 系统开发平台为Windows XP 使用Visual C 6 0进行程序设计开发 本系统是各大中小学实现图书馆信息化管理的有效工具 同时本系统中采用的新技术可作为其他信息系统构建时的参考 关键词关键词 数据结构 算法设计 C 程序设计语言 1 目录 目目 录录 1 第一章第一章开发环境和开发工具开发环境和开发工具 3 1 1C 简介 3 1 2 开发背景 3 1 3 开发环境 4 第二章第二章 算法思想算法思想 5 2 1 系统需求分析 5 2 1 1会员管理功能 5 2 1 2图书管理功能 6 2 2 系统总体设计 6 2 2 1 系统设计目标 6 2 2 2 开发设计思想 7 2 2 3 系统功能模块设计 7 2 3 算法思想描述 11 第三章第三章算法实现算法实现 12 3 1 数据结构 12 3 2 程序模块 13 3 3 各模块之间的调用关系 14 3 4 源程序代码 14 第四章第四章测试与分析测试与分析 32 4 1 测试数据选择 32 4 2 测试结果分析 32 总总 结结 36 心得体会心得体会 37 2 参参 考考 文文 献献 38 3 第一章开发环境和开发工具 1 1C 简介 C 是一种面向对象的开发语言 是一种使用非常广泛的计算机编程语言 他是在C语言的基础上开发的一种面向对象编程语言 应用广泛 C 支持静态 数据类型检查的 支持多重编程范式的通用程序设计语言 支持过程化程序设 计 数据抽象 面向对象程序设计 制作图标等等泛型程序设计等多种程序设 计风格 语言灵活 运算符的数据结构丰富 具有结构化控制语句 程序执行 效率高 而且同时具有高级语言与汇编语言的优点 与其它语言相比 可以直接访问物理地址 与汇编语言相比又具有良好的可读性和可移植性 其编程领域众广 常用于系统开发 引擎开发等应用领域 是至今为止最受广 大程序员受用的最强大编程语言之一 且支持封装 继承 多态等特性 1 2 开发背景 随着科学技术的不断发展 计算机科学日渐成熟 计算机知识的普及使更多用户懂 得利用计算机为自己的工作 生活提供方便 计算机其强大的功能已为人们所深刻 认识 它己进入人类社会的各个领域并发挥着越来越重要的作用 采用计算机进行 信息化管理已成为衡量高校图书管理科学化和现代化的重要标志 而图书馆图书借 阅管理的全面自动化 信息化则是其中重要的组成部分 本系统是以建立一个以通过计算机数据管理图书借阅系统为目的 以用户浏览 图书信息的网站系统 本系统具有灵活 方便 快捷 界面友好等优点 更加方便 的在线了解图书信息 以及借阅图书 本系统研究的课题主要意义是通过完成这个 图书管理系统 方便管理者的管理以及用户所需要查询的书籍 使大家在尽可能短 的时间内完成对所需要图书的借阅 大大的方便了用户的需求在很大程度上提升了 高校的教学水平 因此 本文所研究的图书馆借阅管理信息系统具有一定的使用价 值和现实意义 4 1 3 开发环境 软件平台是信息系统开发和运行所需的集成软件环境 设计和选择高效 实用 方便 功能齐全的软件平台 对信息系统的开发具有十分重要的意义 在结合实 际开 发的需要并充分考虑各种软件平台的性能及适用范围和对软件平台的使用能力 本 系统的软件平台选择如下 1 操作系统 操作系统是计算机系统中最重要的系统软件 目前在微机上使用的桌面操作系统有 Windows 95 98 2000 me xp 2003server等 可运行于前面所列举的各种操作系统 但建议使 用Windows 2000以上系统 本系统在Windows XP操作系统下进行开发 2 支撑软件 支撑软件是协助人们开发和维护软件的工具和环境软件 包括编辑程序 数据 库系统 集成开发环境等 本系统的支撑软件如下 系统运行环境 visual C 6 0 系统编程语言 C C 程序设计语言 5 第二章 算法思想 随着计算机技术的飞速发展 采用计算机进行信息化管理已成为衡量高校图书 管理科学化和现代化的重要标志 为了减少工作人员的工作量 提高各个环节的工 作效率 优化人师生的学习环境 我们需要研究一个高效快捷的图书借阅管理系统 本系统是以建立一个以通过计算机数据管理图书借阅系统为目的 以用户浏览 图书信息的系统 该系统的功能强大 其具有良好的界面 操作方便灵活 简洁高 效 具有良好的健壮性 以会员制为主要借还书手段 各种功能设置方便图书管图 书借阅管理 2 1 系统需求分析 2 1 1会员管理功能 1 添加会员 输入会员编号 会员姓名 进行会员添加 添加成功显示添加 完毕 此功能可连续添加 新用户经注册方可登录系统并使用读者服务功能 2 查询会员 输入查询的会员编号 如果存在该会员 则会显示该会员信息 包括会员编号 会员姓名 已借出的图书数为几本 如果查询的会员编号不存在 则显示没找到指定会员 3 删除会员 请输入要删除的会员的编号 如果输入的会员编号不存在 则 显示没有找到要删除的会员编号 系统会提示你还有会员要删除吗 输入Y 则可以 继续输入想要删除的会员编号 并进行删除 如果不想在进行删除的话 可以选择N 进行删除会员结束操作 退回主界面 4 载入数据 实现数据载入功能 5 保存功能 能将记录保存在任何自定义的文件中 6 退出程序 如果想要退出程序 系统会提示警告 程序结束后未存储的数据将消失确定要退出吗 Y N 选择y 则直接退出程序 6 2 1 2图书管理功能 1 增加图书 增加新的图书资料 同时需检查新书的图书编号是否已存在于 原图书资料中 若已存在则显示这类书已有库存 可输入图书的入库量进行添加图 书操作 如果该类图书为第一次进行添加 则应该输入该图书的图书编号 图书的 名称 以及图书的入库量 输入完毕则图书添加完毕 可继续选择是否继续添加 2 查询图书 查询图书时需要输入查询的图书编号 如果该图书存在则会显 示该图书的图书编号 图书名称 该图书的库存量以及图书的借出量 其中图书的 库存量以及图书的借出量均可以累加 如果该图书已经被借出 则查询结果显示图 书库存量以及图书的借出量 3 删除图书 通过图书编号查询该图书资料 若该编号存在 允许删除 否 则提示没有找到你所要的图书 删除对象包括该图书资料以及 图书状态 和 借 阅人 中与此书相关的所有记录 一旦进行删除成功 则所有该图书信息都将不存 在 4 借书处理 如果需要进行借书操作 则必须保证该借书者已经进行过会员 注册 借书操作需要输入要借出的书号 以及会员编号 如果会员编号输入错误 则显示会员编号输入错误 外借失败 如果输入要借出的书号进行借书操作 则系 统会显示该编号图书的现有库存量 如果没有查询到该图书的编号则显示没有找到 要借出的图书 如果借出成功 显示外借成功 5 还书处理 如果需要进行还书操作 则必须保证该借书者是会员 还书操作需要输入要借出的 书号 以及会员编号 如果会员编号输入错误 则显示会员编号输入错误 还书失 败 如果输入要借出的书号进行借书操作 则系统会显示该编号图书的现有库存量 如果没有查询到该图书的编号则显示没有找到要借出的图书 如果还书成功 而 显示归还成功 7 2 2 系统总体设计 2 2 1 系统设计目标 本文研究开发的图书借阅管理系统用于支持高校完成图书馆图书借阅工作 有如下 三个方面的目标 支持图书馆实现规范化的管理 支持图书馆高效率完成图书馆增加图书以及会员借还书管理的日常业务 包 括图书借阅管理系统的两大功能 1 图书管理 增加图书 查询图书 删除图书 图书借阅 还书 2 会员管理 增加会员 查询会员 删除会员 借书信息 支持图书馆实现无纸化办公 方便快捷 提高图书馆的管理效率 便利师生进入图书馆进行学 习 2 2 2 开发设计思想 基于以上系统设计目标 本文在图书馆图书借阅管理系统时遵循了以下开发设计思 想 采用现有的软硬件环境及先进的管理系统开发方案 从而达到充分利用现有资源 提高系统开发水平和应用效果的目的 尽量达到操作过程中的直观 方便 实用 安全等要求 系统采用模块化程序设计方法 既便于系统功能的各种组合和修改 又便于 未参与开发的技术维护人员补充 维护 系统应具备数据维护功能 及时根据用户需求进行数据的添加 删除 修改 备份等操作 8 2 2 3 系统功能模块设计 本系统开发的意图是借由网络化的管理减轻图书馆工作人员的工作量 全面提高 图书馆的管理效率及服务质量 实现两方面的功能 这两个方面分别是图书管理和 会员管理 1 图书管理 增加图书 查询图书 删除图书 图书借阅 还书 2 会员管理 增加会员 查询会员 删除会员 借书信息 图书借阅管理系统主要包括以下功能模块 如图所示 系统功能模块图 进入系统后需要先进行会员注册 才可以进行图书管理和会员管理 如图2 2 1 9 开始 会员注册 输入会员编 号姓名 进入系统 图 2 2 1 进行进入系统 显示功能列表 可选择任意系统 但在操作之前先要进行增加图书 如图2 2 2 添加图书信息 判断添加图书已有记录 在原有的纪录上加 上现有的图书数量 是 向系统中加入新纪 录 添加新书信息 否 图2 2 2 如果会员注册完毕 新书添加完毕 读者可以进行借书操作 如图2 2 3 10 输入会员编号 判断该会员是否存在 输入要借的图书编 号 是 该会员不存在 外 借失败 否 判断库存是否有该书 借出成功 库存数 量减少 并询问是 否继续借书 是 借出失败 询问是 否继续借书 否 是 图2 2 3 查询图书操作 如图2 2 4 输入图书编号 判断该图书是否存在 显示该图书的编 号 书名 库存量 以及借出量 是 该图书编号不存 在 显示没有找到 该图书 否 图2 2 4 11 删除会员操作 如图2 2 5 输入会员编号 判断该会员是否存在 删除会员并且 系统会提示你还有会 员要删除吗 输入Y 则可以继续输入想 要删除的会员编号 并进行删除 如果不 想在进行删除的话 可以选择N 进行删 除会员结束操作 退 回主界面 是 输入的会员编号不 存在 则显示没有 找到要删除的会员 编号 否 图2 2 5 2 3 算法思想描述 本项目的实质是完成对学生成绩信息的建立 查找 插入 修改 删除等功能 可以首先定义项目的数据结构 然后将每个功能写成一个函数来完成对数据的操 作 最后完成主函数以验证各个函数功能并得出运行结果 该程序的由多种函数实现 每个函数具有不同的功能 主要有主菜单函数 插 入功能子菜单函数 查找功能子菜单函数 会员信息录入函数 显示函数 排序函 数 插入函数以及查找函数 在每个区域中会调用不同的函数来实现主要的功能比 如 在新增功能里调用子菜单函数 在显示信息时调用排序函数先对需要输出的信 息进行排序 然后再输出 在查找功能里会调用查找函数来进行查找 而最主要的函数有添加图书 考虑到图书的信息较多 所以用结构体对其定义 又考虑到图书量大 所以添加后要保存到文件中去 图书查询 用所学过的顺序 查找法来写 删除图书 把保存到文件中的内容写到链表中去 用链表删除结点的 方法来删除图书 我们所学过的指针这时正好用上 最后把各函数同主函数相连 12 用主函数调用它们 主要函数如下 插入函数 它用插入排序来实现 查找函数 用顺序查找法 删除函数 用链表删除结点的方法 第三章 算法实现 3 1 数据结构 要完成这个题目 主要是建立解决图书和会员的信息的存储 解决的方法是建 立两个带头结点的单链表 分别用于存储图书和会员 解决了这个问题后就是如何 建立这两个链表的联系了 解决的方法是在图书结点中设一个借书人编号 在会员 结点中设一个数组用于存会员借的书 解决了这两个问题 剩下的工作就简单了 只需按链表的操作就可以了 以会员管理为例 本项目的数据是一组会员的借阅信息 每条学生的借阅信息 由会员编号 会员姓名和组成 这组会员的借阅信息具有相同特性 属于同一数据 13 对象 相邻数据元素之间存在序偶关系 由此可以看出 这些数据具有线性表中数 据元素的性质 所以该系统的数据采用线性表来存储 顺序表是线性表的顺序存储结构 是指用一组连续的内存单元依次存放线性表 的数据元素 在顺序存储结构下 逻辑关系相邻的两个元素在物理位置上也相邻 这是顺序表的特点 本项目可以采用顺序表的线性表顺序存储结构 若一个数据元素仅占一个存储单元 第i个数据元素的地址为Loc ai loc a1 i 1 假设线性表中每个元素占用k个存储单元 那么在顺序表中 线性表的第i个元 素的存储位置与第1个元素的存储位置的关系是 Loc ai loc a1 i 1 k 这里Loc ai 是第i个元素的存储位置 loc a1 是第1个元素的存储位置 也称 为线性表的基址 显然 顺序表便于进行随机访问 故线性表的顺序存储结构是一 种随机存储结构 顺序表适宜于做查找这样的静态操作 顺序存储的优点是存储密度大 存储空 间利用率高 缺点是插入或删除元素时不方便 由于C语言的数组类型也有随机存储的特点 一维数组的机内表示就是顺序结构 因 此 可用C语言的一维数组实现线性表的顺序存储 数组实现线性表的顺序存储的优 点是可以随机存取表中任一元素O 1 存储空间使用紧凑 缺点是在插入 删除某一元素时 需要移动大量元素O n 预先分配空间需按 最大空间分配 利用不充分 表容量难以扩充 用结构体类型定义每个会员数据 故该数组中的每个数据的结构可描述为 typedef struct MemberInfo 会员结构 long m Code 会员编号 char m Name 20 会员名字 int l Codes 6 已借书的编号 最多5 MemberInfo nextmember 下一会员 MemberInfo 14 3 2 程序模块 头文件及散列定义关键字 include include include define NULL 0 定义图书结构类型 typedef struct BookInfo 图书结构 int b Code 图书编号 char b Name 20 名称 int b Total 总数 int b Out 借出数 BookInfo nextbook 下一类图书 BookInfo 3 3 各模块之间的调用关系 模块内部的具体算法 包括输入 处理和输出 相当于c 语言的过程或函数设 计 整体算法描述 建立一个结构来存放学生信息 再将这个结构存放在文件中 按要求通过调用各个函数对文件内的数据进行操纵及处理 各个分函数算法描述 由主函数调用建立一个新的文件用于存储图书以及会员记录 15 3 4 源程序代码 include include include define NULL 0 typedef struct BookInfo 图书结构 int b Code 图书编号 char b Name 20 名称 int b Total 总数 int b Out 借出数 16 BookInfo nextbook 下一类图书 BookInfo typedef struct MemberInfo 会员结构 long m Code 会员编号 char m Name 20 会员名字 int l Codes 6 已借书的编号 最多5 MemberInfo nextmember 下一会员 MemberInfo typedef struct System 管理系统结构 BookInfo BI MemberInfo MI int BookTotal 图书类库存量 int MemberTota 会员数量 System System InitSystem 系统初始化 void AddBook System 增加图书 BookInfo SearchBook System int 查询图书信息 void DelBook System 删除图书 void BrrowBook System 借书处理 void TurnBackBook System 还书处理 void AddMember System 添加会员 void DelMember System 删除会员 MemberInfo SearchMember System int 查询会员信息 void StoreData System 定义一个空的数据存储 系统 void LoadData System 加载所有数据 void ExitSystem 退出程序 void main 17 System S InitSystem int sel do cout n t t t t图书借阅管理系统主界面 endl cout t t t endl cout t t t 1 增加图书 t endl cout t t t 2 查询图书 t endl cout t t t 3 删除图书 t endl cout t t t 4 借书处理 t endl cout t t t 5 还书处理 t endl cout t t t 6 添加会员 t endl cout t t t 7 删除会员 t endl cout t t t 8 查询会员 t endl cout t t t 9 载入数据 t endl cout t t t 10 保存数据 t endl cout t t t 11 退出程序 t endl cout t t t endl cout sel if sel 1 选择1到11 cout 选择错误 n重新输入 BI BookInfo malloc sizeof BookInfo 图书信息初始化 sizeof是C C 中的一个操作符 operator 简单的说其作用就是返回一个 对象或者类型所占的内存字节数 S BookTotal 0 图书数量初始为0 S BI nextbook NULL 下一类图书信息初始为空 S MI MemberInfo malloc sizeof MemberInfo 初始化会员信息 S MemberTota 0 图书总数初始为0 S MI nextmember NULL 下一个会员信息初始为空 return S 19 void AddBook System S 添加图书模块 int Tempcode 图书编号 char sel 查询该图书编号是否已存在 BookInfo p S BI p指向图书结构 BookInfo t 添加的图书库存没有 BookInfo m 添加的图书库存已有 int num 入库量 do cout Tempcode if m SearchBook S Tempcode 图书编号库存已有 cout 这类书已有库存 n输入图书的入库量 num m b Total num 图书数量累加 m b Total间接引用运算符 表达式m b Total引用了指针m指向的结构体的成员b Total else t BookInfo malloc sizeof BookInfo 在图书信息中定义一个t的内存空间 t b Code Tempcode 添加的图书编号与库存已有 间接引用运算符 表达式t b Code引用了指针t指向的结构体的成员b Code cout t b Name cout t b Total 20 t b Out 0 图书借出量为0 t nextbook p nextbook p nextbook t S BookTotal 图书总数 cout 添加完毕 endl cout sel if sel n sel N cout 结束添加 BI nextbook 下一本图书 int bookcode 图书编号 if code 1 cout bookcode 输入图书编号 else bookcode code while bi 判断输入图书编号于库存中的某个编号是否相等 if code 1 21 if bi 如果库存中没有此编号 cout 没找到你所要的图书 endl else 库存中有此编号 显示信息 cout 图书编号为 b Code endl cout 图书名称为 b Name endl cout 图书库存量为 b Total endl cout 图书借出量为 b Out BI 定义一个系统中指向图书管理的pl MemberInfo memi 会员结构中定义一个memi char sel int tempcode 输入的图书编号 int i do pl S BI 间接引用运算符 表达式S BI引用了指针s指向的结构体的成员BI bi pl nextbook 下一本图书 memi S MI nextmember 下一个会员 cout tempcode 输入要删除的图书编号 while bi 22 if bi b Code tempcode 图书存在直接删除 cout 删除图书成功 nextbook if bi 0 图书编号不存在 cout 没有找到要删除的图书 nextbook bi nextbook S BookTotal while memi for i 1 il Codes 0 i if memi l Codes i tempcode break if il Codes 0 for il Codes 0 i memi l Codes i memi l Codes i 1 memi l Codes 0 memi memi nextmember free bi cout sel 23 if sel N sel n cout 删除图书结束 BI nextbook BookInfo p char sel int memcode MemberInfo mp int tempcode do cout tempcode p SearchBook S tempcode if p cout 没有找到要借出的图书 endl else cout 此书的现存量为 b Total p b Out b Total p b Out cout 没有足够的书了 外借失败 endl 24 else cout memcode mp SearchMember S memcode if mp cout 会员编号输入错误 外借失败 l Codes 0 5 cout b Out mp l Codes mp l Codes 0 tempcode cout 外借成功 endl cout sel if sel N sel n cout 外借操作结束 BI nextbook BookInfo p MemberInfo mp int membercode int tempcode int i char sel do cout tempcode p SearchBook S tempcode if p cout 书号输入错误 endl else cout 此书的现存量为 b Total p b Out endl cout membercode if mp SearchMember S membercode cout 会员编号输入错误 归还失败 b Out 26 for i 1 il Codes 0 i if mp l Codes i tempcode break while il Codes 0 mp l Codes i mp l Codes i 1 i mp l Codes 0 cout 归还成功 endl cout sel if sel N sel n cout 归还结束 MI MemberInfo t do 27 cout Tempcode t MemberInfo malloc sizeof MemberInfo t m Code Tempcode cout t m Name t l Codes 0 0 t nextmember p nextmember p nextmember t S MemberTota cout 添加完毕 endl cout sel if sel n sel N cout 结束添加 MI nextmember int membercode int i if code 1 cout membercode else membercode code 28 while bi if code 1 if bi cout 没找到指定会员 endl else cout 会员编号为 m Code endl cout 名称为 m Name endl cout 已借的图书有 l Codes 0 本 endl for i 1 il Codes 0 i cout l Codes i cout MI nextmember pl S MI 29 cout tempcode while bi if bi m Code tempcode break pl bi bi bi nextmember if bi cout nextmember bi nextmember S MemberTota for i 1 il Codes 0 i if book SearchBook S bi l Codes i cout 删除会员出错 b Out book b Total free bi 30 cout sel if sel N sel n cout 删除会员结束 BI nextbook if fp fopen BookSys wb cout 打开文件BookSys失败 BookTotal sizeof int 1 fp while bi fwrite bi sizeof BookInfo 1 fp bi bi nextbook MemberInfo mi S MI nextmember fwrite while mi fwrite mi sizeof MemberInfo 1 fp 31 mi mi nextmember fclose fp void LoadData System S 载入数据 FILE fp if fp fopen BookSys rb cout 打开文件BookSys失败 BI BookInfo tempbi fread for int i 1 iBookTotal i tempbi BookInfo malloc sizeof BookInfo fread tempbi sizeof BookInfo 1 fp bi nextbook tempbi bi tempbi bi nextbook NULL MemberInfo mi S MI MemberInfo tempmi fread for i 1 iMemberTota i 32 tempmi MemberInfo malloc sizeof MemberInfo fread tempmi sizeof MemberInfo 1 fp mi nextmember tempmi mi tempmi mi nextmember NULL fclose fp void ExitSystem 退出程序 char select cout 警告 程序结束后未存储的数据将消失 endl cout select if select y select Y exit 0 退出 if select n select N return 33 第四章 测试与分析 4 1 测试数据选择 功能测试 1 增加图书 2 查询图书 3 删除图书 4 借书处理 5 还书处理 6 添加会员 7 删除会员 8 查询会员 9 载入数据 10 保存数据 11 退出程序 4 2 测试结果分析 图书管理系统主界面 包含该系统所有功能提示 如图4 2 1所示 图4 2 1 增加图书操作界面 如果该类图书为第一次进行添加 则应该输入该图书的图书编 号 图书的名称 以及图书的入库量为多少 输入完毕则图书添加完毕 若已存在 则显示这类书已有库存 可输入图书的入库量进行添加图书操作 如图4 2 2所示 34 图4 2 2 查询图书操作界面 查询图书时需要输入查询的图书编号 如果该图书存在则 会显示该图书的图书编号 图书名称 该图书的库存量以及图书的借出量 如图4 2 3所示 图4 2 3 借书操作界面 保证借书者是会员 并且所借图书有库存 借书时需要输入会 员编号和图书编号 如果没有查询到该图书的编号则显示没有找到要借出的图书 如果会员编号输入错误 则显示会员编号输入错误 外借失败 如图4 2 4及图4 2 5所示 35 图4 2 4 图4 2 5 还书操作界面 如果需要进行还书操作 则必须保证该借书者已经进行过会员注册 还书操作需要 输入要借出的书号 以及会员编号 如果会员编号输入错误 则显示会员编号输入 错误 还书失败 正确则显示还书成功并显示图书信息如图4 2 6所示 36 图4 2 6 查询图书操作界面 查询图书时需要输入查询的图书编号 如果该图书存在则 会显示该图书的图书编号 图书名称 该图书的库存量以及图书的借出量 其中图 书的库存量以及图书的借出量均可以累加 如果该图书已经被借出 则查询结果显 示图书库存量以及图书的借出量 如图4 2 7所示 图4 2 7 删除图书操作界面 通过图书编号查询该图书资料 若该编号存在 允许删除 否则提示没有找到你所要的图书 删除对象包括该图书资料以及 图书状态 和 借阅人 中与此书相关的所有记录 一旦进行删除成功 则所有该图书信息都将 不存在 如图4 2 8所示 37 图4 2 8 总 结 图书借阅系统的实现与设计 这个题目相对来说贴近生活 比较容易理解 但是设计 一个较为完整的程序却不是这么简单的 首先我分析了相关的题目内容 并由此而进行了相关资料和书籍的查询工作然后 才开始正式进行设计 一开始不知从何下手但后来分析了一下题目 并结合这学期 所学的知识 再加上相关提示我决定用指针 链表和文件的内容来编写程序 图书 管理主要就是有一些操作来完成 这些操作包括 新进图书基本信息的输入 图书 基本信息的查询 对撤消图书信息的删除 为借书人办理注册 办理借书手续 非 注册会员不能借书 办理还书手续等等 我想这正好用C 的知识来实现函数 在具体编写程序时考虑到图书的相关操作与会员基本相同 所以实际上只要编写 前三个函数 添加图书 考虑到图书的信息较多 所以用结构体对其定义 又考虑 到图书量大 所以添加后要保存到文件中去 图书查询 用所学过的顺序查找法来 38 写 删除图书 把保存到文件中的内容写到链表中去 用链表删除结点的方法来删 除图书 我们所学过的指针这时正好用上 最后把各函数同主函数相连 用主函数 调用它们 编写好好看的界面就可以了 同时通过这几天的程序及报告编写 我也发现了自己的很多不足 看到了自己的 实践
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养护安全培训照片墙课件
- 农业学安全培训课件
- 农业农村法律法规课件
- 化工企业安全培训脚本课件
- 农业农机安全培训会课件
- 银行展厅营销活动方案(3篇)
- 化学用品安全培训内容课件
- 创造宣言课件制作
- 内科消化性溃疡课件
- 先横后竖课件
- 职高课件模板
- 【生物】第四节 激素调节课件-2025-2026学年人教版生物八年级上册
- 卫生院安全生产培训课件
- 物流紧急事件应急预案方案
- 期中专题复习-词汇句型训练-2025-2026学年 译林版2024 英语八年级上册 原卷
- 2025年全国中小学校科普知识竞赛题库(+答案)
- 2.2创新永无止境教学课件 2025-2026学年度九年级上册 道德与法治 统编版
- 矿山爆破作业安全培训课件
- 2025-2026学年九年级英语上学期第一次月考 (四川成都专用) 2025-2026学年九年级英语上学期第一次月考 (四川成都专用)解析卷
- 高陡边坡稳定性控制技术及其工程实践
- 河南省委党校在职研究生入学考试真题及答案
评论
0/150
提交评论