




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计大作业设计报告设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。模块说明及代码分析 1.主函数: 源代码:void main()int a;printf(n);printf(n);printf( ( _ ) WELCOME!n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(t-BJTU图书管理系统-);printf(n);printf(n);printf(n);printf(n);printf(n);pr
2、intf(n);printf(n);do printf(1.借书 2.还书 3.新书录入 4.查询 0.退出);printf(n);printf(n);printf(n);printf(n);printf(请选择序号:);scanf(%d,&a);switch(a)case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf(请选择正确的序号!n);printf(n);while(a!=0);printf(谢谢使用图书管理系
3、统!n);主函数提供人机交互界面,让操作者选择所需的操作工程,并有退出选项。2.新书录入模块源代码:void xinshu()int i;FILE *fp;if(fp=fopen(library.txt,w)=NULL)printf(翻开文件失败!n);exit(0);printf(请输入要录入的新书的编号:);scanf(%d,&scount.number);for(i=0;icount;i+)if(si.number=scount.number)printf(编号已存在,请重新输入:);scanf(%d,&scount.number);printf(请输入图书名称:);scanf(%s,&
4、);printf(请输入图书 );scanf(%s,&scount.author);printf(请输入图书数量:);scanf(%d,&scount.shuliang);count+;fclose(fp); printf(录入成功!n); printf(n);printf(n);printf(n);新书录入模块实现了新书的编号、书名、作者、数量的录入,并设计有输入错误时的提示。3.借书模块源代码:void jieshu()int b,i,shu;printf(请输入要借书的编号:);scanf(%d,&b);for(i=0;i=0)printf(借书成功!);si.sh
5、uliang=si.shuliang-shu;elseprintf(抱歉,图书数量不够 请重新输入:);scanf(%d,&shu);printf(n);printf(n);printf(n);借书模块实现了对指定图书的借出,并在借出时程序将图书数量自行减去借出数量,在所借图书数量超过现有数量时给出提示。4.还书模块源代码:void huanshu()int i,d,e;printf(请输入要还书的编号:);scanf(%d,&d);for(i=0;icount)printf(此图书不存在);printf(n);printf(n);printf(n);还书模块实现简便的还书过程,并用count
6、的变化来调整图书数量。5.查询模块源代码:void chaxun()int i,f;printf(请输入要查找图书的编号:);scanf(%d,&f);for(i=0;icount)printf(此图书不存在n);printf(n);printf(n);printf(n);该模块实现对图书的查询功能,通过对图书编号的检索,给出该图书的对应信息,包括图书名称、作者、剩余数量。数据文件名数据文件名为library.txt,用于新书录入的数据存储。系统运行测试结果分析交互界面:新书录入:借书:当所借数量小于等于所存数量时,即显示结束成功。当所借书数量超过图书总量,那么给出提示,重新输入。查询:从借书
7、后的查询结果与新书录入时的数量相比拟,可以看出已经减去所借出的图书数量。还书:还回借出的两本书里的一本后,经查询可得数量得到相对应的减少。退出:收获与体会: 经过一学期的C语言程序设计的学习后,对于C语言有了初步的认识,并能开始写简单的程序,但是对于这个大作业还是烦恼了一阵子,由于程序会写的很长,调试过程也会比拟困难,所以我们决定组队一起完成这个大程序,xxx负责主函数以及借书、新书模块以及函数的调试过程等,xxxx负责查询、还书模块以及设计报告的封面等,这个大程序占用了我们很多时间,调试过程中遇到了很多疑惑,也找过大神求助过,最后好不容易可以运行了,也是出现了好多小问题,就这样反反复复,最后
8、的最后,得到成功的时候,我们都欢呼雀跃了,感觉到程序设计的神奇,看到自己写的程序可以实现这样的小功能就觉得非常自豪,当然,过程中也显示了我们的知识不扎实,才会如此辛苦,看来,学好C语言并不是一件容易的事,但是我们相信,只要有一次成功,就会有更多的成功。我想,这就是我们学到的吧。设计人员:xxx:设计报告封面,查询还书模块xxx:主函数,借书新书模块,程序运行调试全代码:#include#include#includestruct BOOKchar name20;char author20;int number,shuliang; s10000;int count=0;void jieshu()
9、;void huanshu();void xujie();void xinshu();void chaxun();void main()int a;printf(n);printf(n);printf( ( _ ) WELCOME!n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(t-BJTU图书管理系统-);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);do printf(1.借书 2.还书 3.新书录入 4.查询 0.退出);p
10、rintf(n);printf(n);printf(n);printf(n);printf(请选择序号:);scanf(%d,&a);switch(a)case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf(请选择正确的序号!n);printf(n);while(a!=0);printf(谢谢使用图书管理系统!n);void xinshu()int i;FILE *fp;if(fp=fopen(library.txt,
11、w)=NULL)printf(翻开文件失败!n);exit(0);printf(请输入要录入的新书的编号:);scanf(%d,&scount.number);for(i=0;icount;i+)if(si.number=scount.number)printf(编号已存在,请重新输入:);scanf(%d,&scount.number);printf(请输入图书名称:);scanf(%s,&);printf(请输入图书 );scanf(%s,&scount.author);printf(请输入图书数量:);scanf(%d,&scount.shuliang);count+;fclose(fp); printf(录入成功!n); printf(n);printf(n);printf(n);void huanshu()int i,d,e;printf(请输入要还书的编号:);scanf(%d,&d);for(i=0;icount)printf(此图书不存在);printf(n);printf(n);printf(n);void chaxun()int i,f;printf(请输入要查找图书的编号:);scanf(%d,&f);for(i=0;icount)printf(此图书不存在n);printf(n);printf(n);printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑节能性能优化-深度研究
- 网络社交对人际关系质量的影响-第1篇-深度研究
- 评价方法创新研究-深度研究
- 江苏卫生健康职业学院《二维动画创作》2023-2024学年第二学期期末试卷
- 上海中侨职业技术大学《会计论文与业务报告写作》2023-2024学年第二学期期末试卷
- 炎黄职业技术学院《微生物三》2023-2024学年第二学期期末试卷
- 广东外语外贸大学南国商学院《热化学》2023-2024学年第二学期期末试卷
- 新疆铁道职业技术学院《大学美育》2023-2024学年第二学期期末试卷
- 成都体育学院《交通程导论》2023-2024学年第二学期期末试卷
- 简易工程建设项目合同范本
- 毛概课说课课件
- 冷库热氟融霜操作
- 考生个人简历及自述表
- 风电机组偏航误差产生机理及调整策略研究
- 人教版三年级下册《道德与法治》电子教案
- GB/T 18684-2002锌铬涂层技术条件
- 第九讲:信息与大数据伦理问题-工程伦理
- 四年级美术素养附答案
- 2021年全国中学生天文奥林匹克竞赛预赛试题及答案
- 四年级下册音乐教案-2.2我们美丽的祖国 |接力版
- Quantum软件培训手册
评论
0/150
提交评论