




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古科技大学 本科生课程设计说明书 题 目 C 语言课程设计 图书信息管理系统 学生姓名 安 静 学 号 专 业 计算机科学与技术 班 级 三 班 指导教师 郝 斌 内蒙古科技大学课程设计论文 I 内蒙古科技大学课程设计任务书内蒙古科技大学课程设计任务书 课程名称C 语言课程设计 设计题目图书信息管理系统 指导教师郝斌时间2015 年 1 月 4 日 一 教学要求 1 巩固和加深学生对 C 语言课程的基本知识的理解和掌握 2 掌握 C 语言编程和程序调试的基本技能 3 利用 C 语言进行基本的软件设计 4 掌握书写程序设计说明文档的能力 5 提高运用 C 语言解决实际问题的能力 二 设计资料及参数 每个学生在教师提供的课程设计题目中任意选择一题 独立完成 题目选定后不可更换 图书信息管理系统包括 登录号 书名 作者名 分类号 出版单位 出版时间 价格等 试设计一图书信息 管理系统 使之能提供以下功能 图书信息录入功能 图书信息用文件保存 输入 图书信息浏览功能 输出 查询或排序功能 至少两种种查询方式 算法 按书名查询 按作者名查询 图书信息的删除与修改 图书的借出与归还 三 设计要求及成果 1 分析课程设计题目的功能需求 可选用数组或链表实现 可多人 最多 3 人 协作完成一个题目 2 写出详细设计说明 至少包括功能实现分析和模块流程图 3 编写程序代码 调试程序使其能正确运行 代码书写要规范 标示符要见名知意 要有必要的注释 每人至 少 3 个函数 每人至少 200 行代码 不包括注释和花括号 4 设计完成的软件要便于操作和使用 5 设计完成后提交课程设计报告 请严格按照模板进行排版 四 进度安排 第一天 选择课程设计题目 分析课题的要求 第二天 编程 第三天 编程及调试 第四天 写课程设计报告 第五天 提交课程设计报告 打印稿及电子稿 五 评分标准 1 根据平时上机考勤 表现和进度 教师将每天点名和检查 2 根据课程设计完成情况 必须有可运行的软件 3 根据课程设计报告的质量 如有雷同 则所有雷同的所有人均判为不及格 六 建议参考资料 1 C 语言程序设计 谭浩强 清华大学出版社 2 C 语言程序设计课程设计 刘振安 机械工业出版社 内蒙古科技大学课程设计论文 II 目录目录 内蒙古科技大学课程设计任务书 I 第一章 需求分析 3 1 1 引言 3 1 2 任务概述 4 1 3 数据描述 4 1 4 功能需求 4 1 5 性能需求 4 1 6 运行需求 5 1 7 任务计划 5 第二章 概要设计 7 2 1 总体设计 7 2 2 数据类型设计 或数据结构设计 7 2 3 接口设计 8 2 4 运行界面设计 8 第三章 详细设计 10 3 1 输入模块设计 10 3 2 查找模块设计 11 3 3 删除模块设计 12 3 4 借阅模块设计 14 3 5 还书模块设计 16 3 6 流程图 17 第四章 测试分析 18 4 1 测试程序执行情况 18 4 2 出现的问题和解决的方法 21 第五章 课程设计总结 22 附录 程序代码 23 参考文献 30 致谢 31 内蒙古科技大学课程设计论文 3 第一章第一章 需求分析需求分析 1 11 1 引言引言 随着计算机及网络技术的飞速发展 Internet Intranet 应用在全球范围内日益普及 当今社 会正快速向信息化社会前进 信息系统的作用也越来越大 图书馆在正常运营中总是面对 大量的读者信息 书籍信息以及由两者相互作用产生的借书信息 还书信息 随着图书的 大量增加 其管理难度也越来越大 如何优化图书馆的日常管理也就成为一个大众化的课 题 数据处理手工操作 工作量大 出错率高 出错后不易更改 当前图书馆采取手工方 式对图书借阅情况进行人工管理 由于信息比较多 图书借阅信息的管理工作混乱而又复 杂 一般借阅情况是记录在借书证上 图书的数目和内容记录在文件中 图书馆的工作人 员和管理员也只是当时对它比较清楚 时间一长 如再要进行查询 就得在众多的资料中 翻阅 查找了 造成查询费时 费力 如要对很长时间以前的图书进行更改就更加困难了 因此图书管理信息化是发展的必然趋势 用结构化系统分析与设计的方法 建立一套有效 的图书信息管理系统 可以减轻工作 将工作科学化 规范化 提高了图书馆信息管理的 工作质量因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的 建 立一个图书管理系统可以使图书管理工作规范化 系统化 程序化 避免图书管理的随意 性 提高信息处理的速度和准确性 能够及时 准确 有效的查询和修改图书信息 图书管理系统是一个对图书进行录入 删除 修改和查询的管理应用软件 管理员可以对 文件中存储的图书进行查询和管理 了解图书的基本信息 该系统充分利用计算机的功能 实现对书籍管理的自动化控制 将会使图书馆管理工作大大减轻 方便友好的图形用户界 面 简便的操作 完善的数据库管理 将会使图书馆信息管理系统极大限度地应用于现代 化图书管理 成为图书管理人员的得力助手 内蒙古科技大学课程设计论文 4 1 21 2 任务概述任务概述 每个学生在教师提供的课程设计题目中任意选择一题 独立完成 题目选定后不可更换 图书信息管理系统包括 登录号 书名 作者名 分类号 出版单位 出版时间 价格 等 试设计一图书信息管理系统 使之能提供以下功能 图书信息录入功能 图书信息用文件保存 输入 图书信息浏览功能 输出 查询或排序功能 至少两种种查询方式 算法 按书名查询 按作者名查询 1 31 3 数据描述数据描述 图 1 3 1 41 4 功能需求功能需求 图 1 4 1 51 5 性能需求性能需求 在运行本程序时只要按照正确的操作方法不会出现无法运行的情况 系统稳定 性好 安全 可靠 内蒙古科技大学课程设计论文 5 1 61 6 运行需求运行需求 1 输入图书信息时按照 图书编号 书名 作者 出版日期 图书价格 的顺序输入 2 以 0 1 形式判断时 只能用阿拉伯数字 3 进入排序功能后 要想见排序信息 到主菜单下浏览信息 1 71 7 任务计划任务计划 1 样例输出和输入 图 1 7 1 下面以上述据描述的数据为测试数据进行简单输入输出 内蒙古科技大学课程设计论文 6 图 1 7 2 查询界面 图 1 7 3 删除界面 内蒙古科技大学课程设计论文 7 第二章第二章 概要设计概要设计 2 12 1 总体设计总体设计 信息查询信息浏览信息删除信息修改退出系统 图 2 1 录入 可以添加图书信息 依次输入编号 书名 作者 出版时间 出版社后 会提示是 否继续添加 浏览 可以以表格形式输出所有图书信息 删除 输入欲删除图书后 会自动删除图书信息的记录内容 查询 可以选择用图书名字方式查询 修改 输入欲修改的书名后 再依次输入编号 书名 作者 出版时间 出版社即可完成 修改 2 22 2 数据类型设计 或数据结构设计 数据类型设计 或数据结构设计 struct books char tsmc 12 int tsbh float dj char zz 12 char czzt 12 char xm 12 char xb 12 int xh s M 以结构体数据类型输入数据 信息录入 图书管理系 统 内蒙古科技大学课程设计论文 8 2 32 3 接口设计接口设计 函数名函数格式 即函数首部函数功能 int main int 建立主界面 void srvoid 输入函数 void cxVoid 查询图书 void scVoid 删除图书 void jsvoid 借书图书 void hsVoid 还书图书 void tcvoid 退出 表 2 3 函数列表 2 42 4 运行界面设计运行界面设计 主函数 主菜单 int main int sele flag 0 sele 1 void sr void cx void sc void js void hs void tc void jsh system tsgl printf n n printf n printf 1 输入 2 查询 3 删除 n printf 4 借书 5 还书 0 退出 n printf n while 1 printf n n 请输入功能序号 内蒙古科技大学课程设计论文 9 scanf d if sele 0 break case 2 cx break case 3 sc break case 4 js break case 5 hs break case 0 jsh break if flag break printf n n printf n printf 1 输入 2 查询 3 删除 n printf 4 借书 5 还书 0 退出 n printf n else printf 输入错误请再次输入 n n printf n n printf n printf 1 输入 2 查询 3 删除 n printf 4 借书 5 还书 0 退出 n printf n printf n n 让任意键继续 n wr file 内蒙古科技大学课程设计论文 10 第三章第三章 详细设计详细设计 3 13 1 输入模块设计输入模块设计 void sr int n i N 0 printf 可输入的书本数 scanf d N n N printf 请输入相关信息 n for i 1 i n i printf 图书名称 scanf s s N n 1 i tsmc printf 图书编号 scanf d printf 单价 scanf f printf 作者 scanf s strcpy s N n 1 i czzt 未借出 strcpy s N n 1 i xm 无 内蒙古科技大学课程设计论文 11 3 23 2 查找模块设计查找模块设计 void cx int i j 100 1 d k t 0 char m 20 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s m for i 0 i N i if strcmp m s i tsmc 0 j t i t t 1 else if k 2 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh j t i t 内蒙古科技大学课程设计论文 12 if j 0 1 if j 0 1 for i 0 i t i printf t s t d t f t s t s t s t s t d s j i tsmc s j i tsbh s j i dj s j i zz s j i czzt s j i xm s j i xb s j i xh 3 33 3 删除模块设计删除模块设计 void sc int i d k t 0 char ms 20 int ja 1 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s ms 内蒙古科技大学课程设计论文 13 for i 0 i N i if strcmp ms s i tsmc 0 ja i break else if k 2 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh ja i break printf 确定删除该图书吗 1 表示 Yes 其他 No int p scanf d if p 1 printf Congratulations 删除成功 n if ja 1 for i ja i N i strcpy s i tsmc s i 1 tsmc 内蒙古科技大学课程设计论文 14 s i tsbh s i 1 tsbh s i dj s i 1 dj strcpy s i zz s i 1 zz strcpy s i czzt s i 1 czzt strcpy s i xm s i 1 xm strcpy s i xb s i 1 xb s i xh s i 1 xh else if ja 1 printf 没有找到 n 3 43 4 借阅模块设计借阅模块设计 void js int i j 100 1 d k t 0 char m 20 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s for i 0 i N i if strcmp m s i tsmc 0 内蒙古科技大学课程设计论文 15 j t i t t 1 else if k 2 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh j t i t if j 0 1 strcpy s j i czzt 已借出 printf 此书已借出 n if j 0 1 printf 1 确定借阅 2 退出 n scanf d switch k 内蒙古科技大学课程设计论文 16 case 1 printf 请输入学号 n scanf d printf 请输入姓名 n scanf s printf 请输入性别 n scanf s strcpy s j i czzt 已借出 printf 已借出 按任意键继续 n getch case 2 break 3 53 5 还书模块设计还书模块设计 void hs int i j 100 1 d k t 0 char m 20 printf 查询 printf 1 图书名称 2 图书编号 printf n n 请输入查询选项 scanf d if k 1 printf 请输入图书名称 scanf s for i 0 i N i if strcmp m s i tsmc 0 j t i t break else if k 2 内蒙古科技大学课程设计论文 17 printf 请输入图书编号 scanf d for i 0 i N i if d s i tsbh j t i t break if t 0 printf 没有找到 n else printf s f s s s s d n s j i tsmc s j i dj s j i zz s j i czzt s j i xm s j i xb s j i xh printf 1 确定归还 2 退出 n int p scanf d if p 1 strcpy s j i czzt 未借出 strcpy s j i xm 无 s j i xh 0 printf 已归还 按任意键继续 n getch 3 63 6 流程图流程图 主菜单 退出查询数据添加删除还书借书 图 3 7 内蒙古科技大学课程设计论文 18 第四章第四章 测试分析测试分析 4 14 1 测试程序执行情况测试程序执行情况 图 4 1 1 管理界面 图 4 1 2 添加图书 内蒙古科技大学课程设计论文 19 图 4 1 3 名称查询 图 4 1 4 编号查询 内蒙古科技大学课程设计论文 20 图 4 1 5 借书 图 4 1 6 还书 内蒙古科技大学课程设计论文 21 图 4 1 7删除信息 4 24 2 出现的问题和解决的方法出现的问题和解决的方法 内蒙古科技大学课程设计论文 22 第五章第五章 课程设计总结课程设计总结 通过两周的课程设计 使我清楚地认识到了实践的重要性 经过有针对性地上 机操作 不仅可以提高我对 C 语言的认识 更重要的是提高了自己的实践能力 在课程设计过程中 我学到了许多道理 也懂得无论做什么事情都应该先拟定 一个计划 有了计划 就有了奋斗目标 我们就会冲着目标奋进 通过这次学 习使我对指针 数组 结构体以及循环有了深刻的理解 可以学以致用 觉得 有了很大的收获 与此同时也使我学会了如何克服不良情绪 怎样调整自己的 心态 在这次学习中 我遇到了许多困难 但经过我的耐心研究 同学们的帮助 以及老师的谆谆教导 使我最终克服了困难 成功地完成了本次课程设计 这 让我懂得了 无论做什么事都不要轻言放弃 无论做什么事都要有耐心 信心 加恒心 只有这样 我们才会成功 在这次设计中 我的人生格言也在无时无 刻地帮助着我 鼓励这我 在我感到困惑疲惫时 在我被问题萦绕百般不解时 它都会激励我 它就是 在磨练中成长 苦中作乐 内蒙古科技大学课程设计论文 23 附录 程序代码附录 程序代码 include include include typedef struct char number 10 书号 char name 20 书名 char author 20 作者 char publish 50 出版社 char time 20 出版时间 float price mbook typedef struct int count 书的本数 mbook book 100 最大可有 100 本书 mlibrary mlibrary library void save 保存图书信息 FILE fp if fp fopen library doc w NULL printf n 不能保存图书信息 n return fwrite fwrite library book sizeof library book 0 library count fp void putin 定义录入函数 int y 1 system cls while y printf t 请输入您的书籍的书号 scanf s library book library count number printf t 请输入书名 scanf s library book library count name printf t 请输入作者名 内蒙古科技大学课程设计论文 24 scanf s library book library count author printf t 请输入出版社 scanf s library book library count publish printf t 请输入出版时间 scanf s library book library count time printf t 请输入该书的价格 fflush stdin scanf f library count printf 录入成功 恭喜您 printf n 是否继续录入 1 继续 0 退出录入 fflush stdin scanf d if y 1 y 0 break save void lookup system cls printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 t 图书价格 n for int i 0 i library count i printf s t s t s t s t s t 6 2f n library book i number library book i name library b ook i author library book i publish library book i time library book i price printf n 查询结果如上按 0 键返回主菜单 fflush stdin getchar void search by name 定义按书名查询 char s2 20 int flag 1 内蒙古科技大学课程设计论文 25 printf n 请输入要查询的书名 fflush stdin scanf s s2 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 t 图书价格 n for int i 0 i library count i if strcmp s2 library book i name 0 flag 0 printf s t s t s t s t s t 6 2f n library book i number library book i name library b ook i author library book i publish library book i time library book i price if flag printf 查询错误 按 0 键返回主菜单 fflush stdin getchar void search by author 定义按作者名查询 char s3 20 int flag 1 printf 请输入要查询的书的作者 fflush stdin scanf s s3 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 t 图书价格 n for int i 0 i library count i if strcmp s3 library book i author 0 flag 0 printf s t s t s t s t s t 6 2f n library book i number library book i name library b ook i author library book i publish library book i time library book i price if flag printf 查询出错 按 0 键返回主菜单 fflush stdin getchar 内蒙古科技大学课程设计论文 26 void search 定义查询函数 int a system cls 进行清屏 printf t t n printf 开始查询 n printf t t t1 按书名查询 n printf t t t2 按作者名查询 n printf t t t0 退出 n printf t t n printf t t 请选择你想要的查询方式 fflush stdin scanf d switch a case 1 search by name break case 2 search by author break case 0 return void del 定义删除函数 char number 10 system cls 清屏 printf n 请输入想要删除的书名 fflush stdin scanf s number int i for i 0 i library count i if strcmp number library book i number 0 break if i library count 内蒙古科技大学课程设计论文 27 for i library count 1 i strcpy library book i name library book i 1 name strcpy library book i number library book i 1 number strcpy library book i publish library book i 1 publish strcpy library book i author library book i 1 author strcpy library book i time library book i 1 time library book i price library book i 1 price library count else printf n cannot found n printf 删除成功按 0 键返回主菜单 save fflush stdin getchar void update 修改图书信息 char number 10 system cls 清屏 printf n 请输入你要更改的图书名 fflush stdin scanf s number int i for i 0 i library count i if strcmp number library book i number 0 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 t 图书价格 n printf s t s t s t s t s t 6 2f n library book i number library book i name library book i a uthor library book i publish library book i time library book i price break if i library count mbook book printf n t t 请输入修改后此图书的信息 n printf t 请输入图书号 scanf s book number printf t 请输入图书名 内蒙古科技大学课程设计论文 28 scanf s book name printf t 请输入作者名 scanf s book author printf t 请输入出版社 scanf s book publish printf t 请输入出版时间 scanf s book time printf t 请输入该书的价格 fflush stdin scanf f strcpy library book i name book name strcpy library book i number book number strcpy library book i publish book publish strcpy library book i author book
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北恩施州巴东县农业农村局公益性岗位招聘1人模拟试卷及答案详解1套
- 2025广东阳江阳西县政府发展研究中心就业见习岗位1人模拟试卷及答案详解(新)
- 2025第十三届贵州人才博览会贵阳贵安事业单位引进高层次及急需紧缺人才770人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025贵州黔西南州望谟县消防救援大队招聘政府专职消防文员1人模拟试卷及答案详解(网校专用)
- 2025广西来宾宾信投资集团有限公司招聘拟聘人员考前自测高频考点模拟试题及参考答案详解1套
- 2025年春季中国石油哈尔滨石化公司高校毕业生招聘模拟试卷及答案详解(典优)
- 2025年春季黑龙江大庆油田有限责任公司高校毕业生招聘50人考前自测高频考点模拟试题有答案详解
- 2025年威海职业学院公开招聘高层次人才(40人)考前自测高频考点模拟试题及答案详解(夺冠)
- 2025年上半年浙江永康市产业投资集团有限公司公开招聘合同制员工15人笔试题库历年考点版附带答案详解
- 2025广东深圳市优才人力资源有限公司招聘聘员(派遣至深圳市龙岗区审计局)1人考前自测高频考点模拟试题有答案详解
- 22G101三维彩色立体图集
- 人教版小学英语单词表(完整版)
- 自家停车位申请按照充电桩四方协议书
- 生产组织供应能力说明
- 足金点钻工艺培训
- JJG 162-2019饮用冷水水表
- 山西省煤矿安全生产管理人员培训考试题库(浓缩500题)
- 空调负荷计算-空调负荷的计算(空调工程)
- 计算机视觉之图像分类课件
- 输电线路工程安全风险识别、评估、预控措施
- 大学英语三级词汇表(新版)
评论
0/150
提交评论