




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告 课程名称课程名称 C 语言程序设计语言程序设计 课题名称课题名称 图书信息管理系统图书信息管理系统 专专 业业 土木工程土木工程 班班 级级 1381 学学 号号 5 姓姓 名名 李晨希李晨希 指导教师指导教师 王颖王颖 2016 年年 1 月月 7 日日 前前 言言 C 语言程序设计 课程设计是对学生的一种全面综合训练 它包括问题分析 总体结 构设计 用户界面设计 程序设计基本技能和技巧 多人合作 以至一整套软件工作规范的 训练和科学作风的培养 是与课堂听讲 自学和练习相辅相成的必不可少的一个教学环节 通常 课程设计的课题比平时的习题复杂得多 也更接近实际 课程设计着眼于与应用的结 合点 使学生学会如何把书上学到的知识用于解决实际问题 培养软件工作所需要的动手能 力 另一方面 能使书上的知识变 活 使学生更好地深化理解和灵活掌握教学内容 为 了达到上述目的 本课程设计安排了八个设计课题 训练重点在于基本的程序设计方法和分 析问题的能力 而不强调面面俱到 学生可任选其中一题进行设计 设计完毕写出课程设计 报告 用 A4 纸打印成册 并将课程设计报告与源程序存盘 学习委员将课程设计报告与磁盘 收齐后交指导老师 一 目的一 目的 全面熟悉 掌握 C 语言基本知识 掌握 C 程序设计中的顺序 分支 循环三种结构及数组 函数和 C 语言基本图形编程等方法 把编程和实际结合起来 增强对不同的问题运用和灵活选择合 适的数据结构以及算法描述的本领 熟悉编制和调试程序的技巧 掌握分析结果的若干有效方法 进一步提高上机动手能力 培养使用计算机解决实际问题的能力 养成提供文档资料的习惯和规范 编程的思想 为以后在专业课程中应用计算机系统解决计算 分析 实验和设计等学习环节打下较 扎实的基础 二 设计要求二 设计要求 掌握结构化程序设计的主体思想 以自顶向下逐步求精的方法编制程序解决一些实际的问题 为将来编写软件积累一些典型的案例处理经验 1 设计正确 方案合理 2 界面友好 使用方便 3 程序精炼 结构清晰 4 设计报告 5000 字以上 含程序设计说明 用户使用说明 源程序清单及程序框图 5 上机演示 6 按学号顺序选课题号 并在规定的时间内独自完成相关课题的 C 源程序编写 调整和运 行 源程序及编译生成各文件均保存在软盘中 7 按本任务书的要求 按附录的要求编写 课程设计报告 Word 文档格式 并用 A4 的复印纸打印并装订 8 在 2014 年 6 月 30 日之前 请各班学习委员收齐课程设计报告和源程序交王颖老师 联系电话 三 进度安排三 进度安排 第一周 星期四 课题讲解 查阅资料 第二周 星期一 总体设计 详细设计 星期二 编程 上机调试 修改程序 星期三 上机调试 完善程序 星期四 上机调试 完善程序 星期五 答辩 星期六 星期天 撰写课程设计报告 课程设计报告规范课程设计报告规范 需求分析需求分析 1 程序的功能 2 输入输出的要求 概要设计概要设计 1 程序由哪些模块组成以及一个模块之间的层次结构 模块的调用关系 每个模块的功能 2 课题的总体数据结构和数据库结构 即要存储什么数据 这些数据是什么样的结构 它们 之间有什么关系等 详细设计详细设计 1 采用 C 语言定义相关的数据类型 2 写出各模块的类 C 码算法 3 画出函数的调用关系图 调试分析以及设计体会调试分析以及设计体会 1 测试数据 准备典型的测试数据和测试方案 包括正确的输入及输出结果和含有错误的输 入及输出结果 2 程序调试中遇到的问题以及解决问题的方法 3 课程设计过程经验教训 心得体会 使用说明使用说明 用户使用手册 说明如何使用你编写的程序 详细列出每一步的操作步骤 书写格式书写格式 1 设计报告要求用 A4 纸打印成册 2 标题和正文要求见附 1 3 封面格式如下页 附录附录 1 参考书目 2 源程序清单 带注释 湖南工程学院湖南工程学院 课课 程程 设设 计计 任任 务务 书书 课程名称课程名称 C 语言程序设计语言程序设计 课课 题题 图书信息管理系统图书信息管理系统 专业班级专业班级 土木工程土木工程 1381 学生姓名学生姓名 李晨希李晨希 学学 号号 5 指导老师指导老师 王颖王颖 审审 批批 王颖王颖 任务书下达日期任务书下达日期 2015 年年 12 月月 27 日日 任任务务完完成成日日期期 2016 年年 1 月月 7 日日 设计课题七设计课题七 图书信息管理系统 图书信息管理系统 1 问题描述 通过该系统实现对图书信息进行录入 显示 修改 删除 插入 排序 保存等操作 的管理 2 功能描述 试设计一图书信息管理系统 使之能提供以下功能 1 系统以菜单方式工作 2 图书信息录入功能 图书信息用文件保存 输入 3 图书信息浏览功能 输出 4 图书信息查询功能 查询方式 1 按书名查询 2 按作者名查询 5 图书信息的删除与修改 可选项 3 算法提示 1 数据结构 结构体类型数组 2 数据库结构 下表构成该系统的基本数据库 登录号书名作者名分类号出版单位出版时间价格 intcharcharcharcharcharFloat 4 测试数据 图书册数 N 10 目录目录 一 系统需求分析 1 1 1 系统设计的目的与意义 1 1 2 系统功能需求 1 二 总体设计 1 2 1 系统功能分析 1 2 2 系统功能模块划分与设计 1 2 3 系统功能模块图 1 三 概要设计 3 四 详细设计 3 4 1 头函数名 3 4 2 管理员登录系统模块 3 五 系统调试 10 六 结果分析 11 七 总结 感想与体会 11 八 附录 12 附件 1 12 附件 2 13 九 评分表 28 0 一 系统需求分析 1 1 系统设计的目的与意义 系统设计的目的与意义 图书系统在生活中运用相当广泛 为了满足图书管理的要求 通过计算机技术给 图书管理人员和读者借还书带来便利 使用 C 语言编写了图书信息管理系统 1 2 系统功能需求 系统功能需求 本系统主要实现图书信息管理的功能 通过此系统可对图书馆库存信息进行管理 和维护操作 实现了图书馆内管理的一般功能 包括查询 借书 还书 添加 删除 修改图书信息等 二 总体设计 2 1 系统功能分析 系统功能分析 图书信息包括编号 书名 作者 出版社 出版日期 价格 在库状态等 系统以菜单方式工作 通过调用函数来实现删除图书 读者信息 添加图书 读者信息等功能 choice 4 delete according name 函数用于删除图书信息 choice 1 input new 函数用于增加图书信息 choice 2 display all 显示全部图书信息 操作等等 主函数用来调用这些函数 2 2 系统功能模块划分与设计系统功能模块划分与设计 1 管理员登录系统模块 2 菜单选择模块 3 图书信息录入功能模块 4 图书信息浏览功能 5 图书信息查询功能 6 图书信息的删除和修改 2 3 系统功能模块图 系统功能模块图 1 三 概要设 计 1 系统 系统 主主菜单菜单 显示系统主菜 单 里面欧相应 的功能代码 根据选择各功 能代码进入不 同的界面 功 能主要包括 退出系统 查询图书 借书 还书 图 1 1 图 1 2 2 2 查询图书信息查询图书信息 进入此菜单功能模块 输入您要查询的图书的编号 名字 作者着 四 详细设计 4 1 头函数名头函数名 include include include include include 图书信息结构体 包括登录号 书名 作者名 分类号 出版单位 出版时间 价格等 int number 登录名 char bookname 书名 char authername 作者名 char publishcom 出版单位 char publishtime 出版时间 float price 价格 4 2 管理员登录系统模块管理员登录系统模块 1 图书信息管理页面 图书信息管理页面 void menu char input printf n n t t t n printf t t t 图书管理系统 n printf t t t n n n printf n 3 printf t n t input getchar 2 功能菜单页面 功能菜单页面 void menu printf n n n n n n n printf t t t 图书管理系统 n printf t t t1 新进图书基本信息的输入 n printf t t t2 显示全部记录 n printf t t t3 根据图书名称查询图书基本信息 n printf t t t4 根据图书名称对撤销的图书信息进行删除 n printf t t t5 按照图书名称从小大到排序 n printf t t t6 统计某价格以上的图书数量 n printf t t t7 列出所有未借出去的图书信息 n printf t t t8 退出 n 3 图书信息录入功能模块 图书信息录入功能模块 while 1 printf 请输入图书编号 gets newbook number printf 请输入图书名称 gets newbook name 4 printf 请输入图书单价 scanf f while getchar n printf 请输入图书的作者 gets newbook auther printf 请输入借书人姓名 gets newbook lendername printf 请输入借书人性别 gets newbook lendersex printf 请输入借书人学号 gets newbook lendernum printf 是否保存该条书目 Y N n choice getch while choice Y if choice Y choice y 4 图书信息浏览功能模块 图书信息浏览功能模块 if booknumber 0 printf 书库中没有任何信息 n n printf 按任意键回到主菜单 n n 5 getch break if 结束 else for n 0 n booknumber printf 没有查找该书的任何信息 n printf n n 是否继续查询 Y N n choice getch while choice Y if choice Y choice y continue else break else 结束 while 1 结束 6 5 图书信息删除功能模块 图书信息删除功能模块 if strcmp bookinfo n name search 0 break if n booknumber printf 没有查找该书的任何信息 n else printf 是否确认需要删除该条书目 Y N choice getch while choice Y if choice Y choice y for i n i booknumber 1 i bookinfo i bookinfo i 1 booknumber p fopen bookinfo data wb for n 0 n booknumber n fwrite fclose p printf 删除成功 n 7 else printf n n 该条书目没有被删除 printf n n 是否继续进行删除操作 Y N n choice getch while choice Y if choice Y choice y continue else break else 结束 while 1 结束 6 图书信息查询功能模块 图书信息查询功能模块 while 1 printf 输入要查询的书本名称 gets search if booknumber 0 printf 书库中没有任何信息 n n printf 按任意键回到主菜单 n n getch break if 结束 else 8 for n 0 n booknumber printf 没有查找该书的任何信息 n printf n n 是否继续查询 Y N n choice getch while choice Y if choice Y choice y continue else break else 结束 while 1 结束 9 五 系统调试 图 2 1 图 2 1 10 六 结果分析 本程序满足了课题对类的要求 在设计的过程中 建立了较为清晰的类层次 也 利用了面向对象的方法以及 C 语言的编程思想来完成系统的设计 做到了每个借阅者 建立一个账户 账户中存储借阅者的个人信息 借阅信息等要求 而且界面美观 容 易操作 但是程序太长 不够简练 导致出现错误很难发现和修改 七 感想和体会 通过这次的课程设计 让我充分的感觉到了要自己设计一个程序是多么的难 以 及学习好 C 语言是多么的重要 让我掌握了许多有用的知识 在这个程序的设计过程中 我清楚的意识到自己的水平有多么的薄弱 课程的知 识学得有多么的不扎实 看网上的例子好像觉得也没那么难 自己一上机实际操作就 出现了很多问题 调试的时候系统总是在报错 还有很多警告 每增加一个函数就要 调试好久 有时候应为少了一个大括号或是分号 导致要找很久很久 虽然系统可以 运行 也具有了一些基本的功能 但我意识到了自己有太多的不足 以后还会有很多的课程设计 一定要吸取这次的教训 把知识学懂学透学精 真 正的为我所用 这样走上社会我才能真正的发挥所长 八 附录 11 附附 1 课程设计报告装订顺序 封面 任务书 目录 正文 评分 附件 A4 大小的图纸及程序清 单 正文的格式 一级标题用 3 号黑体 二级标题用四号宋体加粗 正文用小四号宋体 行距为 22 正文的内容 一 课题的主要功能 二 课题的功能模块的划分 要求画出模块图 三 主 要功能的实现 至少要有一个主要模块的流程图 四 程序调试 五 总结 六 附件 所 有程序的原代码 要求对程序写出必要的注释 正文总字数要求在 5000 字以上 不含程序原代码 12 附附 2 源程序清单 源程序清单 include include include include include typedef int BOOL typedef struct bookinfo char number 15 产品编号 char name 30 产品名称 float price 单价 char auther 20 作者 BOOL isExit 存在状态 char lendername 20 借书人姓名 char lendersex 2 借书人性别 char lendernum 15 借书人学号 BOOKINFO void menu printf n n n n n n n printf t t t 图书管理系统 n printf t t t1 新进图书基本信息的输入 n printf t t t2 显示全部记录 n printf t t t3 根据图书名称查询图书基本信息 n printf t t t4 根据图书名称对撤销的图书信息进行删除 n printf t t t5 按照图书名称从小大到排序 n printf t t t6 统计某价格以上的图书数量 n printf t t t7 列出所有未借出去的图书信息 n 13 printf t t t8 退出 n void choice 1 input new 输入新进的图书信息 char choice FILE p BOOKINFO newbook system cls printf t t 新进图书基本信息的输入 n n n system pause while 1 printf 请输入图书编号 gets newbook number printf 请输入图书名称 gets newbook name printf 请输入图书单价 scanf f while getchar n printf 请输入图书的作者 gets newbook auther printf 请输入借书人姓名 gets newbook lendername printf 请输入借书人性别 gets newbook lendersex 14 printf 请输入借书人学号 gets newbook lendernum printf 是否保存该条书目 Y N n choice getch while choice Y if choice Y choice y newbook isExit 1 将图书状态设置成 1 表示没有借出 p fopen bookinfo data ab fwrite fclose p printf n 该条书目已添加到 bookinfo data 文件中 n else printf n 本条书目未保存 n printf n 是否继续添加书目 Y N n choice getch while choice Y if choice Y choice y continue else break 15 void choice 2 display all 显示全部图书信息 FILE p int n BOOKINFO bookinfo 100 int booknumber 0 system cls p fopen bookinfo data rb while feof p fread booknumber booknumber 使用 feof 函数会多读一行 因此需要 booknumber 自减一次 使 书目的数量正确 fclose p booknumber if booknumber 0 printf 没有任何图书信息 n n else n 0 printf 图书信息如下 n printf 图书信息 借书人信息 n printf 编号 名称 单价 作者 图书状态 姓名 性别 学号 n 16 while n booknumber printf 6s 12s 8 1f 8s 9d 12s 8s 8s n bookinfo n number bookinfo n name bookinfo n price bookinfo n auther bookinfo n isExit bookinfo n lendername bookinfo n lendersex bookinfo n lendernum n printf n n 按任意键回到主菜单 n getch void choice 3 search according name 根据图书名称显示图书的信息 char search 20 search 用来存放要查询的书名 int n FILE p char choice BOOKINFO bookinfo 100 int booknumber 0 system cls p fopen bookinfo data rb while feof p fread booknumber booknumber 使用 feof 函数会多读一行 因此需要 booknumber 自减一次 使 书目的数量正确 17 fclose p while 1 printf 输入要查询的书本名称 gets search if booknumber 0 printf 书库中没有任何信息 n n printf 按任意键回到主菜单 n n getch break if 结束 else for n 0 n booknumber printf 没有查找该书的任何信息 n printf n n 是否继续查询 Y N n 18 choice getch while choice Y if choice Y choice y continue else break else 结束 while 1 结束 void choice 4 delete according name 根据图书名称对图书信息进行删除 char search 20 search 用来存放要删除的书名 int n i FILE p char choice BOOKINFO bookinfo 100 int booknumber system cls while 1 printf 输入要删除的书本名称 gets search p fopen bookinfo data rb booknumber 0 while feof p fread booknumber 19 booknumber 使用 feof 函数会多读一行 因此需要 booknumber 自减一次 使书目的数量正确 fclose p if booknumber 0 printf 书库中没有任何信息 n n printf 按任意键回到主菜单 n n getch break if 结束 else for n 0 n booknumber printf 没有查找该书的任何信息 n else printf 是否确认需要删除该条书目 Y N choice getch while choice Y if choice Y choice y for i n i booknumber 1 i bookinfo i bookinfo i 1 booknumber 20 p fopen bookinfo data wb for n 0 n booknumber n fwrite fclose p printf 删除成功 n else printf n n 该条书目没有被删除 printf n n 是否继续进行删除操作 Y N n choice getch while choice Y if choice Y choice y continue else break else 结束 while 1 结束 void choice 5 sort according name 根据图书名称排序 FILE p int m n BOOKINFO temp BOOKINFO bookinfo 100 int booknumber p fopen bookinfo data rb booknumber 0 21 system cls while feof p fread booknumber booknumber 使用 feof 函数会多读一行 因此需要 booknumber 自减一次 使 书目的数量正确 fclose p if booknumber 0 printf 没有任何图书信息 n n else for m 0 m booknumber 1 m for n m 1 n0 temp bookinfo m bookinfo m bookinfo n bookinfo n temp p fopen bookinfo data wb for m 0 m booknumber m fwrite fclose p printf n n 完成排序 n n printf 按任意键回到主菜单 n getch 22 void choice 6 display high price 根据价格列出图书信息 float price FILE p int n int count 0 BOOKINFO bookinfo 100 int booknumber system cls printf 请输入价格 scanf f p fopen bookinfo data rb booknumber 0 while feof p fread booknumber booknumber 使用 feof 函数会多读一行 因此需要 booknumber 自减一次 使 书目的数量正确 fclose p if booknumber 0 printf 没有任何图书信息 n n else for n 0 n price count if count 0 printf 书库中没有比 1f 价格高的图书 price else printf 价格高于 1f 的图书信息如下 n price printf 图书信息 借书人 信息 n printf 编号 名称 单价 作者 图书状态 姓名 性 别 学号 n for n 0 n price printf 6s 12s 8 1f 8s 9d 12s 8s 8s n bookinfo n number bookinfo n name bookinfo n price bookinfo n auther bookinfo n isExit bookinfo n lendername bookinfo n lendersex bookinfo n lendernum printf n n 按任意键回到主菜单 n getch void choice 7 display according exitflag 根据存在状态列出图书信息 FILE p int n 24 int count 0 BOOKINFO bookinfo 100 int booknumber system cls booknumber 0 p fopen bookinfo data rb while feof p fread booknumber booknumber fclose p if booknumber 0 printf 书库中没有任何书目存在 n else for n 0 n booknumber n if bookinfo n isExit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年废弃矿井资源再利用技术探索与产业转型升级创新路径报告001
- 2025年工业互联网平台异构数据库融合技术发展趋势预测报告
- 四位数加减法竖式计算题专项练习300道及答案
- 深度解析2025年:智能车载语音交互在车载信息服务中的技术创新报告
- 美味快餐转让合同范本
- 济南公司备案合同范本
- 物联网提升药品质量追溯-洞察及研究
- 菜粕颗粒销售合同范本
- 民间藏品收购合同范本
- 网络销售平台合同范本
- 沔城高中生研学活动方案
- 手术室工人的工作职责
- 拥军活动策划方案
- 社区治理志愿服务课件
- 养老服务机构客户服务管理制度及流程体系
- 脑梗死的中医护理查房
- 认知行为疗法-第1篇-洞察及研究
- 护理事业十五五发展规划(2026-2030)
- 2025年学宪法、讲宪法知识竞赛题库及答案
- 医用物理学考试题及答案
- DB31/T 968.2-2016全过程信用管理要求第2部分:行为清单编制指南
评论
0/150
提交评论