C语言图书管理系统程序设计报告_第1页
C语言图书管理系统程序设计报告_第2页
C语言图书管理系统程序设计报告_第3页
C语言图书管理系统程序设计报告_第4页
C语言图书管理系统程序设计报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目目 录录 一 设计任务书一 设计任务书 3 二 本组课题及本人任务二 本组课题及本人任务 3 3 三 程序功能简介三 程序功能简介 4 4 四 主体内容四 主体内容 4 4 1 1 设计分 设计分 析析 4 4 2 2 程序结 程序结 构构 5 5 3 3 各模块的功能及程序说 各模块的功能及程序说 明明 5 5 4 4 源源程程序序 6 6 5 5 操作方 操作方 法法 17 17 6 6 试验结果 试验结果 1818 7 7 设计体会 设计体会 2222 五 附五 附录录 2323 1 1 流程图流程图 23 23 2 2 过程列表过程列表 26 26 2 一 设计任务书一 设计任务书 1 1 目的目的 1 复习 巩固 C 语言的基础知识 进一步加深对 C 语言的理解和 掌握 2 课程设计为学生提供了一个既动手又动脑 独立实践的机会 将课本上的理论知识和实际有机的结合起来 锻炼学生的分析解 决实际问题的能力 提高学生适应实际 实践编程的能力 3 培养学生在项目开发中团队合作精神 创新意识及能力 2 2 要求 要求 1 对系统进行功能模块分析 控制模块分析正确 符合课题要求 实现相应功能 可以加以其他功能或修饰 使程序更加完善 合理 2 系统设计要实用 编程简练 可用 功能全面 3 说明书 流程图要清楚 4 记录设计情况 备查 也为编写设计说明书作好准备 5 要求采用模块化程序设计方法 及锯齿型书写格式 要求上机 调试通过和按设计报告格式 6 设计上交内容 设计报告一份 按格式书写 源程序一份 能编译成可执行文件并能正常运行 3 二 本组课题及本人任务二 本组课题及本人任务 课题 图书信息管理系统设计 图书信息包括 登录号 书名 作者名 分类号 出版单位 出版 时间 价格等 试设计一图书信息管理系统 使之能提供以下功能 1 系统以菜单方式工作 2 图书信息录入功能 图书信息用文件保存 输入 3 图书信息浏览功能 输出 4 查询和排序功能 至少一种查询方式 算法 a 按书名查 b 按作者名查询 本人任务 负责设计和编写图书信息管理系统的修改图书信息部分 三 程序功能简介三 程序功能简介 本系统是以 visual C 6 0 环境下用 C 语言开发的一个图书管理 系统 本系统具有图书信息录入 浏览 删除 修改 查找 包括 按书名 作者查找 功能 其中图书信息包括登录号 书名 作者 名 分类号 出版单位 出版时间 价格 并且对信息以文件形式 储存 另外本系统具备实用性的同时代码逻辑谨慎清晰易懂 且界 面美观 四 主体内容四 主体内容 1 1 设计分析设计分析 4 本系统共分为一个主页面模块 主函数部分 五个功能模块 功能函数 分别为图书信息录入 图书信息浏览 图书信息查 询 图书信息删除 图书信息修改 设计时应该先写好主函数 定义好全局变量和功能函数 再对五个功能函数进行设计 在每 个功能函数和主函数应中加入控制条件使用户可以随时退出系统 并在用户输入指令错误的时候给予提醒和退出选项 小组中的五 个人分别承担一个功能模块进行设计 并在每个人设计完成后通 过主函数进行链接调试正确后方为完成 2 2 程序结构 流程图 程序结构 流程图 5 系统运行 选择功能 1 信息录入键入信息 2 信息浏览 返回主菜单 返回主菜单 3 信息查询 按书名查找 按作者查找 返回主菜单 输入书名 输入作者 信息存在 是否 输出信息 返回主菜 单 4 信息删除输入删出信息代号输出删除后的信息返回主菜单 5 信息修改输入修改信息代号 修改信息存在 是 信息修改 否 返回主菜单 输出修改后的信息 6 退出系统 3 3 各模块的功能及程序说明各模块的功能及程序说明 A 录入模块 本模块主要执行信息录入功能 B 浏览模块 本模块主要是执行把已有信息输出浏览功能 C 查询模块 本模块主要是执行按书名和按作者名查找图书信 息的功能 D 删除模块 本模块主要执行删除图书信息的功能 6 E 修改模块 本人设计模块 本模块主要执行图书信息修改 功能 在用户选择该功能后 首先 系统会弹出已存在信息 列表并让用户选择所要修改的信息项目 然后 当用户选定 要修改的信息后会弹出信息目录 用户需按顺序依次修改信 息内容 最好当所有信息项目都修改完成之后 按回车键会 在窗口上输出修改后的内容 4 4 源程序源程序 include include include include define MAX 100 struct Student int num 登录号 char name 100 书名 char author 100 作者名 char fn 100 分类号 char place 100 出版单位 char day 100 出版时间 float money 价格 stu MAX main 主函数 void Input 输入 void Display 输出 void Find 查找 void Modify 删除 7 void Change 修改 int n for printf n printf n printf n printf 欢迎来到图书信息管理系统 n printf n printf n printf 主菜单 n printf n printf 1 图书信息录入 n printf n printf 2 图书信息浏览 n printf n printf 3 图书信息查询 n printf n printf 4 图书信息删除 n 8 printf n printf 5 图书信息修改 n printf n printf 6 退出系统 n printf n printf n n printf 请输入选择项 1 6 scanf d printf n n n n if n 0break case 2 Display break case 3 Find break case 4 Modify break case 5 Change break case 6 printf n printf n printf 谢谢使用 n printf 再见 n printf 9 n printf n exit 0 else printf n printf n printf 输入错误 n printf 请退出 n printf n printf n break void Find 查找 FILE fp int i int choose t char ans 100 do 10 printf 1 按书名查找 n printf 2 按作者名查找 n printf 返回主菜单 其他数字 n scanf d if choose 1 printf 输入所查书名 n scanf s ans t 1 if choose 1 for i 0 i MAX i if strcmp ans stu i name 0 t i fp fopen student rb for i 0 fread i printf d s s s s s f n stu t num stu t name stu t author stu t fn stu t place s tu t day stu t money if t 1 printf 不存在该信息 n else if choose 2 printf 输入所查作者名 n scanf s ans t 1 if choose 2 for i 0 i MAX i if strcmp ans stu i author 0 t i 11 fp fopen student rb for i 0 fread i printf d s s s s s f n stu t num stu t name stu t author stu t fn stu t place s tu t day stu t money if t 1 printf 不存在该信息 n else return while 1 void Display 输出 FILE fp int i fp fopen student rb printf n printf 图书列表 n printf n printf 登录号 书名 作者名 分类号 出版单位 出版时 间 价格 n printf n for i 0 fread i printf 6d 8s 8s 8s 8s 8s 8 2f n stu i num stu i name stu i author stu i fn stu i pl 12 ace stu i day stu i money fclose fp void Input 输入 FILE fp int n fp fopen student ab for n 0 n MAX n printf n d 输入序号 n 当输入 n 1 时 返回 n n scanf d if n 1 fclose fp return else printf 请输入登录号 书名 作者名 分类号 出版单位 出版 时间 价格 n scanf d s s s s s f fwrite fclose fp void Modify 删除 13 FILE fp int i flag n s j fp fopen student rb rewind fp printf 图书列表 n printf n printf 登录号 书名 作者名 分类号 出版单位 出版时 间 价格 n printf n for i 0 fread i printf 6d 8s 8s 8s 8s 8s 8 2f n stu i num stu i name stu i author stu i fn stu i pl ace stu i day stu i money printf n n i printf 输入待删除图书号 n scanf d for i 0 flag 1 flagi if s stu i num for j i j n 1 j stu j num stu j 1 num strcpy stu j name stu j 1 name strcpy stu j author stu j 1 author strcpy stu j fn stu j 1 fn strcpy stu j place stu j 1 place strcpy stu j day stu j 1 day stu j money stu j 1 money 14 flag 0 if flag n n 1 else printf 没有此号 n fp fopen student wb for i 0 i n i fwrite fclose fp fp fopen student r printf 图书列表 n printf n printf 登录号 书名 作者名 分类号 出版单位 出版时 间 价格 n printf n for i 0 i n i fread printf 6d 8s 8s 8s 8s 8s 8 2f n stu i num stu i name stu i author stu i fn stu i pl ace stu i day stu i money printf n fclose fp void Change 修改 FILE fp 15 int i num n int flag 0 fp fopen student rb printf n printf 图书列表 n printf n printf 登录号 书名 作者名 分类号 出版单位 出版时 间 价格 n printf n for i 0 fread i printf 6d 8s 8s 8s 8s 8s 8 2f n stu i num stu i name stu i author stu i fn stu i pl ace stu i day stu i money fclose fp printf 请输入要修改的图书号 scanf d for i 0 i MAX i if stu i num num printf 图书列表 n printf n printf 登录号 书名 作者名 分类号 出版单位 出 版时间 价格 n printf n printf 6d 8s 8s 8s 8s 8s 16 8 2f n stu i num stu i name stu i author stu i fn stu i pl ace stu i day stu i money printf n n n i flag 1 break if flag 0 printf n printf 输入错误 n printf 请返回 n printf n return printf n n n fp fopen student rb fseek fp n sizeof struct Student 0 printf 登录号 书名 作者名 分类号 出版单位 出版时 间 价格 n scanf d s s s s s f fwrite fclose fp fp fopen student rb printf 图书列表 n printf n 17 printf 登录号 书名 作者名 分类号 出版单位 出版时 间 价格 n printf n for i 0 fread i printf 6d 8s 8s 8s 8s 8s 8 2f n stu i num stu i name stu i author stu i fn stu i pl ace stu i day stu i money printf n n fclose fp 5 5 操作方法操作方法 流程流程 第一步 双击打包好的 exe 程序 打开程序 第二步 根据窗口提示内容作出选择 第三步 根据弹出的二级菜单作出选择 第四步 根据所选内容进行相应的操作 第五步 操作完毕 根据提示返回主菜单会直接退出该系统 6 6 试验结果 试验结果 A 图书信息录入 数据输入 18 数据输出 B 图书信息浏览 输入数据 数据输出 C 图书信息查询 输入数据 19 输出数据 D 图书信息删除 输入数据 输出数据 20 E 图书信息修改 输入数据 输出数据 F 系统退出 输入数据 数据输出 21 7 7 设计体会设计体会 在这一周的程序设计实习当中并不是一帆风顺的 刚开始到电 脑面前听完老师讲了一大堆 我根本就不知道要做什么 用什 么做 我并没有被眼前的一点小困难所击倒 我相信困难总是有办 法解决的 于是开始的两天我就在网上找各种相关的文章 视 频 刚开始我就只是看着网上的东西照猫画虎的做一些小程序 慢慢的通过这些模仿我也渐渐的懂了一些东西 通过两天的原 始知识积累后 我开始尝试着按照自己的想法做了一些小系统 起初会出现很多问题 不是这儿少了就是那错了 在这样那样 的错误中我明白编程是一件很严谨的事 容不得半点错误 一 步走错 全盘皆输 在出现错误时我通常是上网搜索相关的答 案 听听大家的想法 往往一个问题的解决方法是多种多样的 各自有其精妙之处 有的解决方法浅显易懂 但是易出现漏洞 有的复杂难懂 但是逻辑紧密 无丝毫破绽 编程是一门逻辑 的游戏 一但了解其游戏规则 便发现乐趣无穷 有时候自己 有很多的想法 但由于自己的水平有限不能很好地实现 每到 那时候我就有一种强烈的愿望想要把问题解决 做出自己想的 22 东西 一但解决了问题 那种快乐非亲身经历者不能感受 说实话 在网上虽然信息很多 但是会让人晕了头脑 做 起来也不是那么容易的 也许我的程序比起别人的来说可能会 有些许不足 但是那个个代码都是出自我手 每一寸屏幕都是 我自己的想法 都是我自己的 我觉得不成功没关系 重要的 是要有自己努力成功的心 而要成功光是抄袭别人的是不行的 得拿出自己的东西 自己的创新 要敢于尝试 王杰 2013 7 9 七 附录七 附录 1 流程图流程图 主页面 信息录入 23 信息浏览 信息查询 24 信息删除 信息修改 25 系统退出 2 2 主要过程列表主要过程列表 A 程序开头定义 include include 是编译预处理指令 就是在编译前将 26 stdio h 这个文件里的函数都添加到你写的 cpp 文件中 include 在编译前 C 语言里面关于字符数组的函数定义 的头文件 就是在编译前将 stdio h 这个文件里的函数都添加到你写 的 cpp 文件中 include 在编译前将 stdlib h 这个文件里的函数都添加到 你写的 cpp 文件中 include 在编译前将 conio h 这个文件里的函数都添加到 你写的 cpp 文件中 define MAX 100 define 就是在编译器编译之前对代码进行字符 串替换 即是把 MAX 换成 100 B struct Student 结构体 定义的结构体是整个程序的共用体 即是该结构体可在每 个模块中不从新定义就使用 C main 主函数模块主要变量 函数 void Input 自定义输入函数 void Display 自定义输出函数 void Find 自定义查找函数 void Modify 自定义删除函数 void Change 自定义修改函数 for 循环函数 27 switch 选择函数 判断用户输入的数字进行功能选择 exit 退出循环函数 D void Input 输入模块主要变量 函数 FILE fp 声明 fp 是指针 用来指向 FILE 类型的对象 fopen fopen 函数用来打开一个文件 printf 输出函数 以程序员规定数据类型把数据输出到窗口上 scanf 输入函数 以程序员规定的的数据类型输入数据 if else 条件判断函数 fclose 关闭文件的函数 功能为关闭打开的文件 以防止数 据丢失 fwrite 向文件写入一个数据块 sizeof 以字节形式给出了其操作数的存储大小 for 循环函数 E void Display 输出函数主要变量 函数 FILE fp 声明 fp 是指针 用来指向 FILE 类型的对象 fread 在文件中读出一个数据块赋值给某一个变量 fopen fopen 函数用来打开一个文件 fclose 关闭文件的函数 功能为关闭打开的文件 以防止数 据丢失 28 printf 输出函数 以程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论