C语言课程设计报告-图书信息管理系统的设计与实现.doc_第1页
C语言课程设计报告-图书信息管理系统的设计与实现.doc_第2页
C语言课程设计报告-图书信息管理系统的设计与实现.doc_第3页
C语言课程设计报告-图书信息管理系统的设计与实现.doc_第4页
C语言课程设计报告-图书信息管理系统的设计与实现.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

五邑大学课程设计报告五邑大学课程设计报告 课程名称:课程名称:c 语言程序设计课程设计 课程编号:课程编号:0800090 学学 时:时:16 学时 学学 分:分:1 学分 图书信息管理系统的设计与实现图书信息管理系统的设计与实现 姓姓 名名: 学学 号号: 班班 级级: 140808 班 专专 业业: 电子信息工程(信息安全) 学学 院院: 计算机学院 指导教师指导教师: 课程设计递交时间:2014 年 4 月 18 日 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 i 目目 录录 1.课程设计目的课程设计目的.1 2.课程设计的内容课程设计的内容.1 3.课程设计的要求课程设计的要求.1 3.1.功能要求:功能要求:.1 3.2.技术要求:技术要求:.1 4.概要设计概要设计.1 4.1.功能模块图功能模块图.1 4.2.功能能模块描述功能能模块描述.2 5.详细设计详细设计.2 5.1.各功能模块的具体实现算法各功能模块的具体实现算法流程图流程图.2 5.2.重点设计描述重点设计描述.2 6.系统测试与调试系统测试与调试.2 7.课程设计心得体会课程设计心得体会.2 参考资料参考资料 .2 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 1 1.课程设计目的课程设计目的 进一步加深、巩固所学专业课程c 语言程序设计的基本理论知识,理论联系实 际,进一步培养自己综合分析问题和解决问题的能力。掌握运用 c 语言独立地编写、 调试应用程序和进行其它相关设计的技能。 2.课程设计的内容课程设计的内容 设计并实现一个图书信息管理系统,要求具有以下功能模块: (1) 图书信息录入模块。 (2) 图书信息浏览模块。 (3) 图书信息查询模块。 (4) 图书修改删除模块。 (5) 图书借阅模块: (6) 图书归还模块: (7) 借阅查询模块: (8) 退出系统模块。 3.课程设计的要求课程设计的要求 3.1.系统功能要求:系统功能要求: 1.图书信息录入模块: 图书信息包括书名,编号,作者,价格,出版社,类别,原始库存,借出。 数据的存储可以采用结构体数组或者链表。 图书信息可以通过键盘逐个录入。 图书信息可以通过文件导入。 将最终数据存储在文件中 2.图书信息浏览模块: 能够浏览图书的基本信息和借阅信息。 将最终数据存储到文件 3.图书信息查询模块: 通过图书编号查询图书信息。 通过图书书名查询图书信息。 4.图书修改删除模块: 通过图书查询选择要操作的图书。 选择修改或删除操作。 选择的图书已被借阅则不能继续操作,退出系统。 将最终数据存储到文件 5.图书借阅模块: 通过学生学号和图书编号进行借阅。 如果该学号是第一次借阅则需要输入姓名,并存入 student.txt。 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 2 将最终数据存储到文件 6.图书归还模块: 输入学生学号查询该学生已借阅的图书 ,再选择图书编号选择归 还的图书。 将最终数据存储到文件 7.借阅查询模块: 输入学生学号查询该学生已借阅的图书。 可查询学生已借但未还的图书。 8.退出系统模块: 每次操作结束都选择 system(“pause”);来退出从而进行下一个操作。 用户可以根据提示退出系统。 3.2.系统技术要求:系统技术要求: 1. 用 c 语言实现系统。 2. 系统以菜单方式工作。 3. 有相应的代码说明(注释) 4. 提供一个界面来调用各个功能。 3.3.其他要求:其他要求: (1) 最终递交材料:课程报告一份,系统源代码一份。 (2) 一人一题,单独完成。 4.概要设计概要设计 4.1.系统功能框架图系统功能框架图 图书信息管理系统 图书 信息 浏览 模块 图书 信息 查询 模块 图书 修改 删除 模块 键 盘 录 入 模 块 图书 归还 模块 图书 借阅 模块 退 出 系 统 模块 借阅 查询 模块 图书 信息 录入 模块 文 件 导 入 模 块 记 录 删 除 模 块 记 录 修 改 模 块 编 号 查 询 模 块 书 名 查 询 模 块 记 录 修 改 模 块 编 号 查 询 模 块 按 编 号 排 序 文 件 导 入 模 块 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 3 图 1 系统功能模块图 4.2.功能模块描述功能模块描述 (描述每个功能模块的具体功能) 1.图书信息录入模块:按照系统的提示输入图书信息,书名,图书编号, 作者,出版日期,图书价格,出版社,图书类别,图书入库数。这个模块我用 了strcmp()来对比输入的图书编号是否与之前的编号重复,读出与写入都用 fread()和fwrite()来实现,而整个代码都用了这两个函数。而录入的信息则存储 在c盘中的book . txt 文件。 2.图书浏览模块:能实现把储存在文件里的图书信息输出到显示器上。 3.查询图书模块:调用自定义函数dui()对比两个字符串的相关度,用于精 确查询,查询有两种形式,按图书编号查询和按图书书名查询。 4.删除修改图书模块:修改和删除储存在文件中的图书信息 5.图书借阅模块:输入学生学号借阅图书 6图书归还模块:输入学生学号和要归还的图书的编号,修改原本借阅图 书的数据,再将修改后的数据覆盖原数据。 7.借阅查询模块:输入学号,查询该学生所借阅图书的基本信息。 8.退出模块:退出系统。 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 4 5.详细设计详细设计 5.1.各功能模块的具体实现算法各功能模块的具体实现算法流程图流程图 5.1.1.主控 main 函数流程图 yes no no yes 图 2 主控 main 函数流程图 开始 系统初始化 调用主控菜单函数 menu();并 提示操作方法 while(1) 输入【07】之间某一整数 输入是否为 0 判断键值,调用相应 函数,完成相应功能 是否已经对修 改进行了存盘 结束 用相关函数把数据写入 文档 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 5 yes no 图 3.录入图书模块流程图 调用主控菜单函数 menu();并 提示操作方法 开始 系统初始化 fread(&booq,sizeo f(bo),1,fp) while(1) 输入是否为 1 判断键值,调用相应函 数,完成相应功能 按提示输入图书基本信息, 利用 strcmp 判断输入的图 书编号是否重复 利用 fread 和 fwrite 读入和输出 信息到 book.text 文件中并保存 结束 输入【07】之间某一整 数 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 6 yes no 图 4.浏览图书模块流程图 开始 系统初始化 fread(&booq,sizeo f(bo),1,fp) 调用主控菜单函数 menu();并 提示操作方法 while(1) 输入【07】之间某一整 数 输入是否为 2 判断键值,调用相应函 数,完成相应功能 结束 利用 fread()读出 储存在文件的图 书信息 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 7 yes no no yes 图 5.查询图书模块流程图 开始 系统初始化 fread(&booq,sizeo f(bo),1,fp) 调用主控菜单函数 menu();并 提示操作方法 while(1) 输入【07】之间某一整 数 输入是否为 3 判断键值,调用相应函 数,完成相应功能 结束 调用设计的自定义函数 dui()来对 比两个字符串的相关度,用于查 找 是否选择按图书 编号查询 用 fread()读出信息 按图书名查询 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 8 yes no no no no yes yes 图 6.修改删除图书模块流程图 修改图书信息(利用 文件指针修改) 删除图书 开始 利用 strcmp()判断输 入的编号是否与 jieyue.text 中的编号 一致 系统初始化 fread(&booq,sizeo f(bo),1,fp) 调用主控菜单函数 menu();并 提示操作方法 while(1) 输入【07】之间某一整 数 输入是否为 4 判断键值,调用相应函 数,完成相应功能 结束 是否删除图书 将修改后的信 息储存在文件 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 9 no yes no yes no yes no no no no yes no no yes no 图 7.借阅图书模块流程图 开始 输入借阅图 书的编号 图书编号是否存在 输入学号借阅 图书编号是否与 已借阅图书重复 该图书所余数量是 否与库存数量一样 是否为第一次 借阅 借阅图书,修 改文件的数据 该学生是否 已借阅五本 图书 结束 记录学生姓名 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 10 no yes 图 9.查询图书模块流程图 图 8.归还图书模块流程图 5.2 重点设计描述重点设计描述 修改和删除模块是我做程序设计最重点设计的模块,修改过后的数据储存刚开始我是 不知道该怎么弄的,而现在我主要是用文件来储存信息。我用fread()修改原本的数据,用 fclose()和fopen(),fseek()找到文件和转移数据。 6.系统测试与调试系统测试与调试 源代码敲完之后进行的调试其实是不行的,因为实在是太多错处了。本来 一堆英文,谁看得懂它们是什么?打算下个金山词霸来个全页翻译,但同学告 诉我只要在那个下面提示错处的地方双击就会自动告诉你错处在哪个地方,感 觉实在是太方便了!还有就是用文件储存信息的时候指针那里总是有问题,也 开始 结束 输入学号 是否有借书 输入要还图书的编号 改变文件里 的数据 开始 输入学号 用 fread(),fwind()找到文 件并显示出来 结束 c 语言课程设计课程设计报告 学生成绩管理系统设计与实现 11 是请教了别人才会改,问大神和看书我才知道用 fseek(),rewind()解决了问 题。还有就是查询的那里依然有点问题,只能够用精确查找,感觉不太方便; 而学生的学号 10 位输入进去之后不能在借阅查询找到借阅信息,而定义改了 20 位也不可以所以,加了 rewind()也是不能显示,也不知道怎么办?调试程 序时主要问题出现在文件指针的移动,图书和借阅信息的删除!因为我整 个程序都是通过图书编号来完成操作,所以我必须保证图书编号不被重复, 用户修改图书编号和 删除时我都要考虑这本书书是否被借阅。而删除图书, 我先把不用的图书写到另一个文件里,然后再以新建的方式打开原文件,把 图书信息又写回来。 7.课程设计心得体会课程设计心得体会 通过本次课程设计,我重新认识了 c 语言,这是一门非常需要耐心和思考的课程。 而在做课程设计的过程中刚开始我其实是不知道应该从哪里入手的,因为感觉不知道 怎么开始。之后就去看教学平台上面的材料,因为开始看不懂所以又转战百度,反正 就是找了很多资料才有头绪才开始写的。中途也有很多的问题,不过还好科技比较发 达,可以上网找答案,还有.找班里的大神和师兄师姐帮忙

温馨提示

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

评论

0/150

提交评论