




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东工业大学华立学院 课 程 设 计(论文) 课程名称_c语言程序设计_ 题目名称_图书信息管理系统设计_ 学生学部(系)_机电与信息工程学部_ 专业班级_12网络1班_ 学号_112252821020133_ 学生姓名_张树南_ 指导教师_田小玲_ 2013 年 7 月 5日 一题目内容的描述进入大学以后,学校有了更加丰富的图书资源,我可以更多的去查找或借阅自己喜欢的书籍。图书馆大量的图书不仅给工作人员带来了大量的工作量,同时还给人们带来了大量的麻烦,费神费力,迫切需要一个图书信息软件来解决这个问题,以便于对 图书的管理,于是尝试编写了一个小的图书信息管理程序,希望对人们有所帮助,可以参考使用。 该程序一共有四个选项,可以进行用户添加、借阅、换书、退出、等功能,能保存图书信息、借书、还书、修改,操作界面简洁,方便的进行操作。足可以给人们节约大量的时间。程序用了条件、循环、结构体等知识点,可运用于小的管理软件。软件运用菜单实现交互式 管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足用户的需要。二应用程序功能的详细说明设计思路建立一个函数,用来保存图书的名字,作者,编号,库存等信息,完成图书信息管理的功能。主函数可以调用四个子函数,分别完成添加,查找,退出,三个功能。在主函数中可以设置调用四个子函数的方法,例如按1,2,3,4,0数字键,则分别可以执行某个功能模块主要功能模块即如图1所示:图 书管 理查 找 注 册借 阅还 书注 销 图1 图书信息管理功能图程序设计根据所构想的的功能及模块设计出与之相对应的算法并建立函数来实现功能。数据结构体的定义 将图书信息作为一个结构体。struct book int id,usr10,total,store,days10; char name31,author21; books100;main( )主函数主函数是函数的入口,采用模块化设计,主函数应该尽可能简捷,功能体现其中,首先含有一个菜单函数来说明各个数字所实现的功能,通过menu_ item来显示当前的状态,通过getch( )输入的数字来实现功能的选取,用switch和 break语句来实现不同功能的切换。查找图书函数该函数通过判断输入的数字是否与已存在图书的编号相同,用if语句3进行判断,如果相同输出查找图书的信息(作者,书名,库存),用返回函数return来返回查找函数的编号,如果不相同则返回-1以下是查找图书流程图如图2所示开始图书信息=i输入错误或无效图书号作者,书名,库存结 束输入in=0n100nn+y图2 查找图书流程图注册新书函数该函数通过判断输入的书的id数值是否为零,如果为零则用break4来跳出,如果不为零且小于100,则用scanf函数输入该书的作者,书名,库存等信息,用printf函数把这些信息显示在屏幕上。如图3所示是注册新书的流程图开 始n=0输出图书信息yn100结束图书=0n+nbreak图3 注册新书流程图借阅函数该函数首先调用search()函数来判断通过判断输入图书的序号是否为-1和库存是否大与零来判断此书是否存在,如果条件成立,用scanf函数输入借书证号和所借天数,并且库存量减一,如果条件不成立则输出该图书已全部借出。以下是借书函数的流程图如图4所示开 始库存量减1结束查找图书不等于-1和库存量大于0l=0l10卡号等于s,借阅天数等于dl+此书已全部借 出ny输入s,d查找图书=0nzzzzy图4借阅图书函数流程图归还函数该函数通过调用search( )函数来判断该书是否存在,如果存在,用scanff( )函数输入图书证序号,用if语句来判断图书信息是否正确,如果正确则所有借阅信息归零,且库存量增加1.并打印“全部入藏”如图5所示开始l10查找函数不等于-1和现有量小于库存量输出图书信息l=0输入s卡号等于s卡号等于0,所借天数=0nyyl+n库存量加1结束全部入藏卡号等于s图5 归还图书流程图注销图书函数该函数通过调用search( )函数来判段要注销的书是否存在,如果存在则通过调用该函数则可提示该书已注销。三程序源代码#include #include #include struct book int id,usr10,total,store,days10; char name31,author21; books100; /*上面是结构体的定义,用于存放书籍及借书的信息。*/ void page_title(char *menu_item) printf( 图 书 管 理 系 统 nn- %s -nn,menu_item); /*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/ void return_confirm(void) printf(n按任意键返回n); getch(); /*上面是返回前请求确认的函数,以便在返回前观察结果*/ int search_book(void) int n,i; printf(请输入图书序号:); scanf(%d,&i); for(n=0;n0) printf(请输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); /*上面是借书的函数,首先调用找书函数*/ void book_in(void) int n,s,l; page_title(归还图书); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l10;l+) if (booksn.usrl!=0) printf(%d - %d天n,booksn.usrl,booksn.daysl); printf(请输入借书证序号:); scanf(%d,&s); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&booksn.store=booksn.total) printf(全部入藏.n); return_confirm(); void book_add(void) int n; page_title(注册新书); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%d,&booksn.id); printf(书名:); scanf(%s,&); printf(作者:); scanf(%s,&booksn.author); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm(); void book_del(void) int n; page_title(注销旧书); if(n=search_book()!=-1) booksn.id=0; printf(该书已注销.n); return_confirm(); void main(void) menu: page_title(操作选单); printf(请用数字键选择操作nn); printf(1 借阅图书nprintf(“2 归还图书n); printf(3 注册新书n4 注销旧书nn); printf(0 退出n); switch(getch() case 1 : book_out();break; case 2 : book_in();break; case 3 : book_add();break; case 4 : book_del();break; case 0 : exit(0); goto menu; 4 结束语这次图书管理系统系统的设计是我第一次用c语言来设计程序,他检验了我这个学期的对c语言的学习成果,使我对c语言有了更深刻的认识,注意到许多以前没有注意的问题,对我的c语言程序设计能力有了很大的提高,也许这次的程序有不少的缺点,但我从中也学习到了很多东西,希望下次做出来的程序能够更加优秀。心得体会由于这个学期才开始接触sql数据库,在设计的过程中,我遇到了不少的问题,发现原来设计出一个规范的数据库模型是很有学问的。经过老师的指导、同学们的帮助和对之前学过的sql数据库模型知识的复习,才设计出一个比较合理的数据库模型。此外,我对v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年度会计硕士练习题附参考答案详解【培优】
- 美容化妆人员经典例题附答案详解【培优B卷】
- 应急出口培训课件
- 2025年收银审核员考前冲刺试卷含答案详解(培优B卷)
- 2025年高校教师资格证之《高等教育法规》考试题库及1套完整答案详解
- 防晒与皮肤癌预防
- 2024-2025学年度注册电气工程师试题附答案详解【综合卷】
- 旅行中传染病风险评估与防护护理指南
- 《就业指导与实训学习指导与练习》参考答案
- 2025年包头市东河区机关所属事业单位春季引进51名高层次和紧缺急需人才笔试高频难、易错点备考题库及参考答案详解1套
- 煤矿安全规程2025版解读
- 尿培养的采集
- 具有法律效应的还款协议书6篇
- 东航空乘英语考试题目及答案
- 2025绿植租赁协议(简易版)
- T-AOPA0062-2024电动航空器电推进系统动力电机控制器技术规范
- 《三级工学一体化师资培训》课件-第四课:教学活动策划
- 2025年全国企业员工全面质量管理知识竞赛题及参考答案
- 2025年秋季开学典礼诗歌朗诵稿:纪念抗战胜利八十周年
- 2025年广东省中考英语试卷深度评析及2026年备考策略
- 适老化家装设计
评论
0/150
提交评论