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

下载本文档

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

文档简介

1、五邑大学课程设计报告五邑大学课程设计报告课程名称:课程名称:c 语言程序设计课程设计课程编号:课程编号:0800090学学 时:时:16 学时学学 分:分:1 学分图书信息管理系统的设计与实现图书信息管理系统的设计与实现姓姓 名名: 学学 号号: 班班 级级: 140808 班 专专 业业: 电子信息工程(信息安全) 学学 院院: 计算机学院 指导教师指导教师: 课程设计递交时间:2014 年 4 月 18 日c 语言课程设计课程设计报告 学生成绩管理系统设计与实现i目目 录录1.课程设计目的课程设计目的.12.课程设计的内容课程设计的内容.13.课程设计的要求课程设计的要求.13.1.功能要

2、求:功能要求:.13.2.技术要求:技术要求:.14.概要设计概要设计.14.1.功能模块图功能模块图.14.2.功能能模块描述功能能模块描述.25.详细设计详细设计.25.1.各功能模块的具体实现算法各功能模块的具体实现算法流程图流程图.25.2.重点设计描述重点设计描述.26.系统测试与调试系统测试与调试.27.课程设计心得体会课程设计心得体会.2参考资料参考资料 .2c 语言课程设计课程设计报告 学生成绩管理系统设计与实现11.课程设计目的课程设计目的进一步加深、巩固所学专业课程c 语言程序设计的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握运用 c 语言独

3、立地编写、调试应用程序和进行其它相关设计的技能。2.课程设计的内容课程设计的内容设计并实现一个图书信息管理系统,要求具有以下功能模块:(1) 图书信息录入模块。(2) 图书信息浏览模块。(3) 图书信息查询模块。(4) 图书修改删除模块。(5) 图书借阅模块:(6) 图书归还模块:(7) 借阅查询模块:(8) 退出系统模块。3.课程设计的要求课程设计的要求3.1.系统功能要求:系统功能要求:1.图书信息录入模块:图书信息包括书名,编号,作者,价格,出版社,类别,原始库存,借出。数据的存储可以采用结构体数组或者链表。图书信息可以通过键盘逐个录入。图书信息可以通过文件导入。将最终数据存储在文件中2

4、.图书信息浏览模块:能够浏览图书的基本信息和借阅信息。将最终数据存储到文件3.图书信息查询模块:通过图书编号查询图书信息。通过图书书名查询图书信息。4.图书修改删除模块:通过图书查询选择要操作的图书。选择修改或删除操作。选择的图书已被借阅则不能继续操作,退出系统。将最终数据存储到文件5.图书借阅模块:通过学生学号和图书编号进行借阅。如果该学号是第一次借阅则需要输入姓名,并存入 student.txt。c 语言课程设计课程设计报告 学生成绩管理系统设计与实现2将最终数据存储到文件 6.图书归还模块:输入学生学号查询该学生已借阅的图书 ,再选择图书编号选择归还的图书。将最终数据存储到文件 7.借阅

5、查询模块:输入学生学号查询该学生已借阅的图书。可查询学生已借但未还的图书。 8.退出系统模块:每次操作结束都选择 system(“pause”);来退出从而进行下一个操作。用户可以根据提示退出系统。3.2.系统技术要求:系统技术要求:1. 用 c 语言实现系统。2. 系统以菜单方式工作。3. 有相应的代码说明(注释)4. 提供一个界面来调用各个功能。3.3.其他要求:其他要求:(1) 最终递交材料:课程报告一份,系统源代码一份。(2) 一人一题,单独完成。4.概要设计概要设计4.1.系统功能框架图系统功能框架图图书信息管理系统图书信息浏览模块图书信息查询模块图书修改删除模块键盘录入模块图书归还

6、模块图书借阅模块退 出系 统模块借阅查询模块图书信息录入模块文件导入模块记录删除模块记录修改模块编号查询模块书名查询模块记录修改模块编号查询模块按编号排序文件导入模块c 语言课程设计课程设计报告 学生成绩管理系统设计与实现3图 1 系统功能模块图4.2.功能模块描述功能模块描述(描述每个功能模块的具体功能)1.图书信息录入模块:按照系统的提示输入图书信息,书名,图书编号,作者,出版日期,图书价格,出版社,图书类别,图书入库数。这个模块我用了strcmp()来对比输入的图书编号是否与之前的编号重复,读出与写入都用fread()和fwrite()来实现,而整个代码都用了这两个函数。而录入的信息则存

7、储在c盘中的book . txt 文件。2.图书浏览模块:能实现把储存在文件里的图书信息输出到显示器上。3.查询图书模块:调用自定义函数dui()对比两个字符串的相关度,用于精确查询,查询有两种形式,按图书编号查询和按图书书名查询。4.删除修改图书模块:修改和删除储存在文件中的图书信息5.图书借阅模块:输入学生学号借阅图书6图书归还模块:输入学生学号和要归还的图书的编号,修改原本借阅图书的数据,再将修改后的数据覆盖原数据。7.借阅查询模块:输入学号,查询该学生所借阅图书的基本信息。8.退出模块:退出系统。c 语言课程设计课程设计报告 学生成绩管理系统设计与实现45.详细设计详细设计5.1.各功

8、能模块的具体实现算法各功能模块的具体实现算法流程图流程图5.1.1.主控 main 函数流程图 yes no no yes 图 2 主控 main 函数流程图 开始 系统初始化调用主控菜单函数 menu();并提示操作方法 while(1)输入【07】之间某一整数输入是否为 0判断键值,调用相应函数,完成相应功能是否已经对修改进行了存盘 结束用相关函数把数据写入文档c 语言课程设计课程设计报告 学生成绩管理系统设计与实现5 yes no图 3.录入图书模块流程图 调用主控菜单函数 menu();并提示操作方法 开始 系统初始化fread(&booq,sizeof(bo),1,fp) while

9、(1)输入是否为 1判断键值,调用相应函数,完成相应功能按提示输入图书基本信息,利用 strcmp 判断输入的图书编号是否重复利用 fread 和 fwrite 读入和输出信息到 book.text 文件中并保存 结束输入【07】之间某一整数c 语言课程设计课程设计报告 学生成绩管理系统设计与实现6yesno图 4.浏览图书模块流程图 开始 系统初始化fread(&booq,sizeof(bo),1,fp)调用主控菜单函数 menu();并提示操作方法 while(1)输入【07】之间某一整数输入是否为 2判断键值,调用相应函数,完成相应功能 结束利用 fread()读出储存在文件的图书信息c

10、 语言课程设计课程设计报告 学生成绩管理系统设计与实现7yesnonoyes 图 5.查询图书模块流程图 开始 系统初始化fread(&booq,sizeof(bo),1,fp)调用主控菜单函数 menu();并提示操作方法 while(1)输入【07】之间某一整数输入是否为 3判断键值,调用相应函数,完成相应功能 结束调用设计的自定义函数 dui()来对比两个字符串的相关度,用于查找是否选择按图书编号查询用 fread()读出信息按图书名查询c 语言课程设计课程设计报告 学生成绩管理系统设计与实现8yesnonononoyesyes图 6.修改删除图书模块流程图修改图书信息(利用文件指针修改

11、)删除图书 开始利用 strcmp()判断输入的编号是否与jieyue.text 中的编号一致 系统初始化fread(&booq,sizeof(bo),1,fp)调用主控菜单函数 menu();并提示操作方法 while(1)输入【07】之间某一整数输入是否为 4判断键值,调用相应函数,完成相应功能 结束是否删除图书将修改后的信息储存在文件c 语言课程设计课程设计报告 学生成绩管理系统设计与实现9 no yes noyes no yes no nono noyes nono yes no 图 7.借阅图书模块流程图 开始输入借阅图书的编号图书编号是否存在输入学号借阅图书编号是否与已借阅图书重复

12、该图书所余数量是否与库存数量一样是否为第一次借阅借阅图书,修改文件的数据该学生是否已借阅五本图书 结束记录学生姓名c 语言课程设计课程设计报告 学生成绩管理系统设计与实现10 no yes 图 9.查询图书模块流程图 图 8.归还图书模块流程图5.2 重点设计描述重点设计描述 修改和删除模块是我做程序设计最重点设计的模块,修改过后的数据储存刚开始我是不知道该怎么弄的,而现在我主要是用文件来储存信息。我用fread()修改原本的数据,用fclose()和fopen(),fseek()找到文件和转移数据。 6.系统测试与调试系统测试与调试 源代码敲完之后进行的调试其实是不行的,因为实在是太多错处了

13、。本来一堆英文,谁看得懂它们是什么?打算下个金山词霸来个全页翻译,但同学告诉我只要在那个下面提示错处的地方双击就会自动告诉你错处在哪个地方,感觉实在是太方便了!还有就是用文件储存信息的时候指针那里总是有问题,也 开始 结束输入学号是否有借书输入要还图书的编号改变文件里的数据 开始输入学号用 fread(),fwind()找到文件并显示出来 结束c 语言课程设计课程设计报告 学生成绩管理系统设计与实现11是请教了别人才会改,问大神和看书我才知道用 fseek(),rewind()解决了问题。还有就是查询的那里依然有点问题,只能够用精确查找,感觉不太方便;而学生的学号 10 位输入进去之后不能在借

14、阅查询找到借阅信息,而定义改了20 位也不可以所以,加了 rewind()也是不能显示,也不知道怎么办?调试程序时主要问题出现在文件指针的移动,图书和借阅信息的删除!因为我整个程序都是通过图书编号来完成操作,所以我必须保证图书编号不被重复,用户修改图书编号和 删除时我都要考虑这本书书是否被借阅。而删除图书,我先把不用的图书写到另一个文件里,然后再以新建的方式打开原文件,把图书信息又写回来。7.课程设计心得体会课程设计心得体会 通过本次课程设计,我重新认识了 c 语言,这是一门非常需要耐心和思考的课程。而在做课程设计的过程中刚开始我其实是不知道应该从哪里入手的,因为感觉不知道怎么开始。之后就去看教学平台上面的材料,因为开始看不懂所以又转战百度,反正就是找了很多资料才有头绪才开始写的。中途也有很多的问题,不过还好科技比较发达,可以上网找答案,还有.找班里的大神和师兄师姐帮忙,他们都好犀利,一

温馨提示

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

评论

0/150

提交评论