用书名书号作者查询的图书管理系统.doc

上传人:xin****828 文档编号:6680091 上传时间:2020-03-02 格式:DOC 页数:21 大小:172KB
返回 下载 相关 举报
用书名书号作者查询的图书管理系统.doc_第1页
第1页 / 共21页
用书名书号作者查询的图书管理系统.doc_第2页
第2页 / 共21页
用书名书号作者查询的图书管理系统.doc_第3页
第3页 / 共21页
点击查看更多>>
资源描述
C 程序设计 课程设计 设计说明书 课程名称 程序设计 课程设计 设计题目 图书管理程序 指导教师 班 级 学 号 学生姓名 同组人员 计算机科学与工程学院 2014 年 06 月 20 日 成 绩 评 语 目 录 第 1 章 概述 2 1 1 选题 2 1 2 选题的背景和意义 2 1 3 团队分工和个人贡献 3 第 2 章 系统分析 需求分析 3 2 1 系统的整体需求 3 2 2 系统的功能需求 3 2 3 系统主要模块流程图 3 第 3 章 系统设计 5 3 1 系统的整体设计 5 3 2 系统的主要模块设计 5 第 4 章 系统实现 6 第 5 章 结束语 12 参考文献 12 第 1 章 概述 1 1 选题 第十题 图书管理程序 图书信息的组成部分为 书号 书名 作者名 出版社 出版时间 价格 等 要求用类和对象实现 1 新书上架 添加图书信息 2 图书浏览 输出所有图书信息 3 图书查询 可按书号 书名或作者名查询 按书号查询时 因书号唯 一 结果仅为一条记录 按书名或作者名查询时 结果可能为多条记录 4 图书下架 删除指定图书信息 如按书号 1 2 选题的背景和意义 选题背景 图书馆是我们日常生活中必不可少的学习 阅读的场所 借阅图书则是我们进入图书馆进行阅读的首要行为 为了能够借阅到我们 想要借阅的图书 我们需要借助电脑查询需要借阅的图书的具体信息 然 后找出图书后再去借阅处刷卡登记 如今我们处于一个知识大爆炸的时代 图书种类数量剧增 工作人员每天不仅要登记借阅者借阅的图书 还要登 记新购进的图书 工作量繁重 而随着科学技术的进步 计算机日益进入 我们的生活工作之中 我们能否利用计算机技术 取代原来的手工登记 提高图书管理的效率呢 答案是肯定的 选题意义 借助计算机 C 中的知识 编写相应的图书管理程序就可 以实现这一功能 利用图书管理程序记录图书信息 不仅能节省我们大量 的工作时间 减轻巨大的工作量 提高工作效率 还能够减少工作失误 1 3 团队分工和个人贡献 第一章 概述 第四章 系统实现 源代码中 1 图书浏览功能 2 图书删除功能 第 2 章 系统分析 需求分析 2 1 系统的整体需求 该系统需要完成的内容 用类和对象实现新书上架 图书浏览 图书查询 图书下架 该系统需要完成的整体目标 系统能够正常运行 基本上实现添加 删除图书信息 显示所有信息 能够由相应条件查阅图书信息这四种功能 2 2 系统的功能需求 必须完成的模块 1 界面模块 当进入该管理系统时候 提示相应的说明 引导如何操作 2 新书上架模块 能够添加书号 书名 作者名 出版社 出版时间 价格这些图书信息 3 图书浏览模块 能够输出所有图书信息 4 图书查询模块 可按条件查询图书信息 当输入书号或书名或作者名 时候 相对应的图书信息便可自动搜索出来 5 图书下架模块 可按书号删除指定图书信息 创新模块 2 3 系统主要模块流程图 显示 主界面 y y y 操作 6 退出系统 显示所有 图书信息 1按书号 2按书名 3按作者 结束 结束 y y y y n n n 结束 n n 判断进行 1 6 中的哪项操 作 操作 1 操作 2 操作 3 输入 图书信息 按书号 删除图书 图书信息 图书 信息查询 操作 4 结束 注 数字代表相应操作下的子操作 第 3 章 系统设计 3 1 系统的整体设计 图书查询 调用所 有信息 调用 书号 调用书号 书名或作者 保存 图书信息录入 录入图书信息到 txt 删除信息 显示所有图书信息 显示操作信 息 退出系统 保存 保存 3 2 系统的主要模块设计 1 登陆界面模块 该模块显示管理程序的名称 提示相应的操作 2 信息录入模块 登陆界面 录入 ISBN 书名 书号 作者 出版社 出版时间 价格 保存到 txt 文件中 2 图书浏览模块 调用 txt 文件中所有图书信息 输入浏览所有图书信息指令 显示所有图书信息 3 图书查询模块 登陆界面 输入相应查询指令 图书查询界面 调用图书信息文件 显示图书信息 4 图书下架模块 登陆界面 输入删除指令 根据删除提示输 入要删除的图书号 提示删除内容 并删除 第 4 章 系统实现 1 登入界面 实现方式 调用主函数 利用 Book read 读入数据 同时定义功能选项按钮 char function 0 对 function 的真假进行判断 若 function 为真 即与初值相同 实现 while 循环内语句 界面主要程序语句 cout endl cout t n cout t t t t 欢迎使用图书管理系统 endl cout t t t t t 请选择操作 n endl cout t t t t1 创建新书信息 endl cout t t t t2 显示所有图书 endl cout t t t t3 按指定条件查询书目 endl cout t t t t4 按书号删除书目 endl cout t t t t5 退出系统并保存修改 endl cout t t t 查询可按书号 作者 书名查询 endl cout t n 调试运行代码后结果如下 2 创建图书信息 当选择按钮 1 执行 main 函数中 function 1 的条件语句 首先定义字符串 string a b c d e f 然后调用 include 根据提示输入相应的书本信心 建立对象 book newbook a b c d e f 利用添加函数 Book add newbook 把数据添加到新建对象里 然后调用 display 函数显示此次输入 的信息 输入数字 1 后按提示输入相应信息 结果如下 3 显示所有图书信息 当选择按钮 2 执行 function 2 的条件语句 Main 函数调用 include 利用如下语 句 cout 这是所有藏书 endl cout endl 输出相应的提示信息和图案 然后调用函数 display all 显示出所有信息 4 按条件查询 当选择按钮 3 执行 function 3 的条件语句 main 函数调用 include 输出相应选 择的提示 执行如下代码 cout 请选择查询方式 endl cout 1 按 ISBN 查询 endl cout 2 按书名查询 endl cout 3 按作者查询 endl 然后定义字符 j 和字符串 search 此时 j 是作为按钮使用 search 是为了输入你要查询的内容 子按 钮功能的实现再次调用 include 文件 当输入好相应的信息 执行如下语句 cout 以下是查询结果 endl cout endl 给出提示后执行搜索函数 search by isbn 同理利用 search by name search by writer 实现书名查找 按作者查找的功能 1 按书号查询 查询书号为 001 的图书 步骤一 在主界面选择 3 步骤二 回车后点击 1 然后输入 001 回车 2 按书名查询 查询书名为 考研英语 这本书 步骤一 在主界面选择 3 步骤二 回车后点击 2 然后输入 考研英语 回车 3 按作者名查询 步骤一 在主界面选择 3 步骤二 回车后点击 3 然后输入 宫东风 回车 5 按书号删除图书信息 当选择按钮 4 执行 function 4 的条件语句 首先定义字符串 a 然后 main 函数调用 include 输入相应的书号 接下来建立对象 del a 调用删除函数 delete by isbn 实现删除功能 例如删除 001 号图书 步骤一 在登陆界面输入 4 回车 步骤二 按提示输入要删除的书号 001 回车 6 退出图书管理系统 当选择按钮 5 执行 function 5 的条件语句 此时执行空操作 跳出 while 循环 执行 main 函数后续语句 利用 system CLS 清屏后由写函数 Book write 把操作后的数据读入到文件中 最后调用头文件 include 输出相应的提示信息后退出系统 在登录界面输入 5 回车 第 5 章 结束语 这次课程设计历时数个星期 通过课程设计 我发现了自己的很多不 足 知识上还存在很多漏洞 我看到了自己的实践经验还比较缺乏 理论 联系实际的能力还急需提高 为完成这次课程设计我确实付出很多 有苦有乐 这十几天的工作日 子 怎么形容呢 每次在实验室回来就会心情不好 感觉自己什么都没有 做成 慢慢的摸索着 开始入门 而且有了一点成就感 就这样每一次都 比前一次收获多 心情也慢慢好了 而且我的系统也一天比一天的完善 毕竟没有白费心血 以艰辛的付出最终还是获得不少回报 总之 计算机是一门实践性很强的学科 要想学好 就必须多练习 多总结 只有这样 才能够更加深入地了解 才能够学会如何去运用它 参考文献 1 郑莉 董渊 何江舟 C 程序设计 M 清华大学出版社 2010 2 谭浩强 C 程序设计 M 清华大学出版社 2007 3 李强 贾云霞 Visual C 项目开发实践 北京 中国铁道出版社 2004 4 李书贤 C Primer 中文版 M 人民邮电出版社 附录 源代码 include include include cstdio 是将 stdio h 的内容用 C 头文件的形式表示出来 using namespace std include class book private string isbn 书号 string name 书名 string writer 作者 string publisher 出版社 string time 出版时间 string price 图书价格 public book book string a string b string c string d string e string f isbn a name b writer c publisher d time e price f string get name return name string get isbn return isbn string get writer return writer void display 图书内容的显示 cout 书号 isbn endl 书名 name endl 作者 writer endl 出版社 publisher endl 出版时间 time endl 价格 price 元 endl endl class database public book 公有继承 public 的定义 class B public A private book shumu 100 int sum public database sum 0 void add book a if sum 100 cout 添加失败 内存已满 endl else shumu sum a sum cout 添加新书目成功 以下是本书信息 endl cout endl void delete by isbn book a int flag 0 if sum 0 cout 删除失败 已经没有存档了 endl else for int i 0 i sum i if shumu i get isbn a get isbn cout 删除书目成功 以下是删除的书信息 endl shumu i display for int j i j sum 1 j shumu j shumu j 1 flag 1 sum break if flag cout the book does t exist endl void search by name string names 按书名查找 int flag 0 for int i 0 i sum i if shumu i get name names shumu i display flag 1 if flag 0 cout the book does t exist endl void search by isbn string names 按书号查找 int flag 0 for int i 0 i sum i if shumu i get isbn names shumu i display flag 1 if flag 0 cout the book does t exist endl void search by writer string names 按作者查找 int flag 0 for int i 0 i sum i if shumu i get writer names shumu i display flag 1 if flag 0 cout the book does t exist endl void display all 显示全部信息 for int i 0 i sum i shumu i display void read FILE fp if fp fopen C Users fei Desktop 图书馆 txt rb NULL 注意路径 rb 读写打开一个二进制文件 只允许读写数据 cout 文件打开失败 n system PAUSE exit 0 fread 从一个文件中读数据 4 单个元素的大小 单位是字节 1 元素个数 每次读取个元素 fp 提供数据的文件指针 for int i 0 i sum i fread fclose fp void write FILE fp2 if fp2 fopen C Users fei Desktop 图书馆 txt wb NULL 注意路径 wb 只写打开或新建一个二进制文件 只允许写数据 cout 文件打开失败 n system PAUSE exit 0 exit 0 表示正常退出 fwrite for int i 0 i sum i fwrite sizeof 计算数据 包括数组 变量 类型 结构体等 所占内存空间 用字节数表示 fputc EOF fp2 将字符 ch 写到文件指针 fp 所指向的文件的当前写指针的位置 EOF 是 End Of File 的缩写 表示 文件结束 fclose fp2 主函数 int main database Book char function 0 Book read 界面 while function 5 cout endl cout t n cout t t t t 欢迎使用图书管理系统 endl cout t t t t t 请选择操作 n endl cout t t t t1 创建新书信息 endl cout t t t t2 显示所有图书 endl cout t t t t3 按指定条件查询书目 endl cout t t t t4 按书号删除书目 endl cout t t t t5 退出系统并保存修改 endl cout t t t 查询可按书号 作者 书名查询 endl cout function 图书书号 书名 作者 出版社 出版时间 价格信息的录入 换码符 t 表示水平制表位 horizeontal tab 它的作用是将 光标移到最接近8的倍数的位置 使得后面的输入从此开始 换句话说 让所有的数据都紧跟在制表符后面输出 换码符 t 表示水平制表位 它的作用是将光标移到最接近 8 的倍数的位置 使得 后面的输入从此开始 换句话说 让所有的数据都紧跟在制表符后面输出 if function 1 string a b c d e f 定义字符串 cout 请输入书的 isbn 编号 a cout 请输入书名 b cout 请输入书作者名 c cout 请输入书的出版社 d cout 请输入书的出版时间 e cout 请输入书的价格 f book newbook a b c d e f Book add newbook newbook display system PAUSE system CLS 显示所有图书信息 else if function 2 cout 这是所有藏书 endl cout endl Book display all system PAUSE system CLS 按条件查询图书 输入按书号查询 输入按书名查询 输入按作者查询 else if function 3 cout 请选择查询方式 endl cout 1 按 ISBN 查询 endl cout 2 按书名查询 endl cout 3 按作者查询 j if j 1 cout 请输入 ISBN 号 search cout 以下是查询结果 endl cout endl Book search by isbn search 按书号查询图书信息函数的调用 system PAUSE system CLS else if j 2 cout 请输入书名 search cout 以下是查询结果 endl cout endl Book search by name search 按书名查询图书信息函数的调用 system PAUSE system CLS else if j 3 按作者查询 cout 请输入作者名 search cout 以下是查询结果 endl cout endl Book search by writer search 按作者名查询图书信息函数的调用 system PAUSE system CLS else cout 输入错误 请重新操作 endl 错误提示 system PAUSE system CLS 按书名删除图书 else if function 4 string a cout 请输入要删除的书号 a book del a Book delete by isbn del 按书名删除函数的调用 system PAUSE system CLS 退出系统并保存修改 else if function 5 未按照主界面提示信息操作 提示错误 else cout 输入错误 请重新选择 endl system PAUSE system CLS 退出系统 system CLS Book write for int i 0 i 8 i cout endl for int i 0 i 55 i cout cout endl cout 您已退出本图书管理系统 您的修改已经保存 欢迎再次使用 endl for int i 0 i 55 i cout cout endl system PAUSE exit 0
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!