C语言程序设计-图书馆管理系统.doc_第1页
C语言程序设计-图书馆管理系统.doc_第2页
C语言程序设计-图书馆管理系统.doc_第3页
C语言程序设计-图书馆管理系统.doc_第4页
C语言程序设计-图书馆管理系统.doc_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

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

文档简介

实训报告 题 目 图书馆管理系统 院 系 信息科技学院 专 业 姓 名 学 号 指导教师 日 期 2015年7月15日 桂林电子科技大学信息科技学院 目 录 1 问题定义 1 2 系统设计 5 2 1 总体设计 5 2 2 详细设计 6 2 2 1 数据结构设计 6 2 2 2 主控流程 8 2 2 3 增加信息模块 7 2 2 4 查找信息模块 7 2 2 7 删除信息模块 7 2 2 8 修改信息模块 7 2 2 8 数据功能描述 7 3 系统实现 2 3 1 编码 8 3 1 1 程序预处理 9 3 1 2 主函数main 9 3 1 3 主菜单界面 11 3 1 7 增加图书信息 14 3 1 8 查询图书信息 14 3 1 9 删除图书信息 15 3 2 0 修改图书信息 15 3 2 测试与调试 13 3 2 1 概述 14 3 2 2 程序测试 14 5 归纳总结 3 5 1 开发经验 16 5 2 实训中遇到的问题及解决方法 16 5 3 设计中的不足之处 16 5 4 感想和心得体会 16 6 参考资料 16 前 言 课程设计环节是应用型本科院校非常重要的一个教学环节 是学完一门课后应用本课知识及以前的知识积累而进行的综合性 开放性的训练 通过课程设计 不仅能够使学生得到系统的技能训练 巩固和加强所学得专业理论知识 而且能够培养学生工程意识 创新能力 团队精神等综合素质 培养学生的设计能力和解决实际问题的能力 C语言由于其强大的功能 丰富的表达能力 高效的代码 良好的移植性和灵活性 自1972年问世以来 经久不衰 即使现在出现了面向对象的程序设计方法和开发工具 但它仍然是人们学习程序设计的首选语言 用它训练和提高编程技术 以及开发应用程序等 我们通过 C语言程序设计 这门课程的学习 已经能编写解决小问题的程序 对程序的开发也有了初步的认识 还掌握了C 语言的基本语法 这一过程确确实实令我们感到欣喜 有点计算机可以完成自我任务的成就感 但是 对于程序设计而言 学习C 的步伐不应该停留于此 我们最终的目的应该是掌握开发大型综合程序的方法 即遵循软件工程的开发步骤和结构化程序设计思想 用C 语言开发出解决复杂问题的大型综合程序 可是对于多数学生来说 学习了C语言后 除了应付各种考试之外 别无它用 对Turbo C语言丰富的函数知之甚少 加上DOS环境所限 因而对C语言兴趣不大 也感到C语言比较难以掌握 本实训就是为了让学生在学完C语言后进一步了解C语言的知识 掌握C语言在软件开发方面的使用方法 希望通过此次实训 不仅能提高学生学习C语言的兴趣 更为今后学习其它专业知识及开发程序打下坚实的基础 本指导书中有些内容借鉴了互联网上相关程序的设计思想 在此对相关者表示衷心的感谢 由于时间 经验及水平的原因 不当 不足之处 请大家提出宝贵意见 编者 图书馆管理系统 一 实训目的 1 巩固C语言的三种基本结构 数组 函数调用的基本知识 2 掌握利用C语言编写程序的基本方法 提高C语言编程技巧 培养分析问题 解决问题的能力 3 熟练掌握C语言的编译 调用方法 二 实验内容 退出图书管理 修改图书信息 删除图书信息 查找图书信息 增加图书信息 主菜单 1 问题定义 创建一个图书馆管理系统 假设系统中每本图书只包括图书名字 图书书号 图书出版社 图书作者等信息 程序的运行效果如图1 1所示 选择任意菜单中的数字 实现相应功能 图1 1 图书管理系统功能需求 在问题定义阶段要考虑题目的可行性和需求分析 接下来进入开发阶段 完成系统设计和系统实现的任务 2 系统设计 2 1 总体设计 采用模块化的程序设计方法 即将较大的任务按照一定的原则分为一个个较小的任务 然后分别设计各个小任务 需要注意的是划分出来的模块应该相对独立但又相关 且容易理解 可以用模块化层次结构图 即模块图 来分析其任务的划分 一般从上到下进行 最上面一层是主模块 下面各层是其上一层模块的逐步细化描述 本图书管理系统采用了数组来实现 如下图1 2所示 它由五大功能模块组成 增加图书信息模块 通过输入图书的书名 书号 出版社 作者来实现增加信息 查找图书信息模块 根据增加的图书的书名来查找图书的信息 删除图书信息模块 根据增加的图书信息记录通过查找定位找到信息进行删除 修改图书信息模块 根据增加的图书信息记录通过查找找到该书信息进行修改 2 2详细设计 2 2 1数据结构设计 l 图书馆信息结构体 结构体 struct book将用于储存图书的基本信息 它将作为文件的数据域 l Struct book 定义结构体 char Name 20 书名 char Number 20 书号 char publish 20 出版社 char author 10 作者 book 500 这样就定义了一个数组的结构 l 2 2 2 主控main 函数执行流程 2 2 3 增加信息模块 主要实现图书信息的增加功能 2 2 4 查找信息模块 主要实现图书查找书籍的功能 2 2 5 删除信息模块 主要实现图书删除图书记录的功能 2 2 6 修改信息模块 主要实现修改增加后的图书信息功能 2 2 7 函数功能述 add 函数原型 void add add 函数用于在增加图书信息的功能 chazhao 函数原型 chazhao chazhao 函数用于在查找图书信息的功能 del 函数原型 del del 函数用于在删除图书信息的功能 xiugai 原型函数 xiugai xiugai 函数用于在修改图书信息的功能 l 主函数main 整个成绩管理系统控制部分 void main 整个图书管理系统控制部分 int i do 控制返回菜单 Menu printf 请输入要实现的功能 scanf d if i 0 请输入0到4之间的数字 switch i case 1 add break case 2 chazhao break case 3 del break case 4 xiugai break case 0 exit 0 break else printf 对不起 请重新输入并按回车确定 n n while 1 注 图书馆信息管理系统的控制部分 3 系统实现 3 1 编码 3 1 1 程序预处理 包括定义结构体 常量和变量 声明部分 并对它们进行初始化工作 include 标准函数输入输出函数库 include 标准函数库 include 字符串函数库 TTT TTT TT TT TT T函数声明部分T TTT T TT TT TT TT T void add 增加 void chazhao 查找 void del 删除 void xiugai 修改 void exti 退出 void Menu 菜单 T TT TT TT TT T定义结构体部分T TTT TT TT TT TT TT T struct book 定义结构体 char Name 20 书名 char Number 20 书号 char publish 20 出版社 char author 10 作者 book 500 include 标准函数输入输出函数库 include 标准函数库 include 字符串函数库 TTT TTT TT TT TT T函数声明部分T TTT T TT TT TT TT T void add 增加 void chazhao 查找 void del 删除 void xiugai 修改 void exti 退出 void Menu 菜单 T TT TT TT TT T定义结构体部分T TTT TT TT TT TT TT T struct book 定义结构体 char Name 20 书名 char Number 20 书号 char publish 20 出版社 char author 10 作者 book 500 3 1 2 主函数main main 函数主要实现了对整个程序的运行控制 以及相关功能模块的调用 void main 整个图书管理系统控制部分 int i do 控制返回菜单 Menu printf 请输入要实现的功能 scanf d if i 0 请输入0到4之间的数字 switch i case 1 add break case 2 chazhao break case 3 del break case 4 xiugai break case 0 exit 0 break else printf 对不起 请重新输入并按回车确定 n n while 1 3 1 3 主菜单界面 printf 欢迎使用图书管理系统 n printf 菜单 n printf n printf 按 1 增加图书信息 n printf n printf n printf 按 2 查找图书信息 n printf n printf n printf 按 3 删除图书信息 n printf n printf n printf 按 4 修改图书信息 n printf n printf n printf 按 0 退出图书管理 n printf n printf 请 选 择 你 需 要 的 操 作 n printf n printf 电信工程专业 1051210206 n 3 14增加图书信息 用户进入系统后 输入要添加的书籍信息 void add 增加功能 int i j printf 请输入要增加图书的图书数量 按回车键结束 n scanf d for i 0 i j i printf 请输入要增加图书的图书名字 按回车键结束book name scanf s book i Name printf 请输入要增加图书的图书书号 按回车键结束book num scanf s book i Number printf 请输入要增加图书的图书出版社 按回车键结束book publish scanf s book i publish printf 请输入要增加图书的图书作者 按回车键结束author scanf s book i author 3 15查找图书信息 用户进入系统后 按信息记录进行查找该图书的书籍信息 void chazhao 查找功能 int j 0 char Name 20 printf 请输入书的name 请输入要查找图书的书名 scanf s Name for j 0 j 500 j 找到要查找图书的书名 if strcmp book j Name Name 0 printf n printf 书名 书号 出版社 作者 n printf n printf n printf s s s s n book j Name book j Number book j publish book j author break else printf 抱歉 未找到相应书籍 n break 如果查找到图书的信息就输出该图书信息 否则输出sorry 未找到相应书籍 3 16 删除图书信息 用户进入系统后 按条件输入要删除的图书信息 void del 删除功能 int j 0 char Name 20 printf 请输入图书的书名 name 按 scanf s Name for j 0 j 500 j if strcmp book j Name Name 0 将定位到你所要查找图书的位置 for book j Name 0 0 j book j book j 1 将查找到的图书的后一本图书的信息覆盖这本图书的信息 book j Name 0 0 给结构体最后一个图书加上结束符 3 17 修改图书信息 用户进入系统后 按条件输入要修改的图书信息 void xiugai 修改功能 int j 0 char Number 20 printf 请输入要修改图书的number 请输入要修改图书的书号 scanf s Number for j 0 j 500 j if strcmp book j Number Number 0 定位到你所要修改图书的位置 然后修改该书籍的相关信息 printf 请输入要修改图书的图书名字 按回车键结束book name scanf s book j Name printf 请输入要修改图书的图书书号 按回车键结束book num scanf s book j Number printf 请输入要修改图书的图书出版社 按回车键结束book publish scanf s book j publish printf 请输入要修改图书的图书作者 按回车键结束author scanf s book j author break 3 2 测试与调试 3 2 1 概述 一般情况下 为解决一个问题所编写的程序代码较长 可能包括几百条甚至成千上万条语句 在检查并排除所有语法错误后 还会有不易发现的逻辑错误 因此要对程序进行认真仔细的测试与调试 测试是通过运行程序发现错误的过程 常见的错误有数据溢出 数组越界 进入死循环 语句顺序颠倒 多加 或少加 等等 调试则是确定测试中找到的错误性质并改正错误的过程 测试与调试通常交替进行 即测试 调试 再测试 再调试 能检查出尚未发现的 各种不同类型错误的测试才是成功的测试 测试程序需要测试用例 测试用例可用如下公式表示 测试用例 测试数据 预期结果 好的测试用例应该是用尽可能少的测试数据发现尽可能多的错误 即发现错误的概率要大 要选择合适的测试数据 使系统在运行时尽量能执行到每条语句 以测试各指令是否正确 还应分别测试输入合法数据与非法数据时 程序的运行情况 对于合法数据 还要考虑数据的一般性与特殊性 如求最大值的问题 应测试最大值在最前面 最后面 中间某一位置的情况 测试程序时 用监视窗口可以随时查看变量或表达式的值 有时还可以将部分程序代码用注释符暂时括起来 缩短程序 以便压缩出错代码的范围 3 2 2 程序测试 l 在主菜单中选择1 当用户输入1并按回车键后 即可进入增加图书信息功能 其输入记录过程如图3 1所示 图3 1 增加图书信息 l 在主菜单中选择2 当用户输入2并按回车键后 即可进入查找图书信息界面 其查找过程如图3 2所示 这里按书名查找了一条书名为图书的记录 图3 2 查找图书信息 l 在主菜单中选择3 当用户输入

温馨提示

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

评论

0/150

提交评论