欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C语言程序设计课程设计图书管理系统设计报告.doc

    • 资源ID:2384718       资源大小:61KB        全文页数:12页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计课程设计图书管理系统设计报告.doc

    广东工业大学华立学院 课 程 设 计(论文) 课程名称_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=0n<100Nn+Y图2 查找图书流程图注册新书函数该函数通过判断输入的书的id数值是否为零,如果为零则用break4来跳出,如果不为零且小于100,则用scanf函数输入该书的作者,书名,库存等信息,用printf函数把这些信息显示在屏幕上。如图3所示是注册新书的流程图开 始n=0输出图书信息Yn<100结束图书=0n+Nbreak图3 注册新书流程图借阅函数该函数首先调用search()函数来判断通过判断输入图书的序号是否为-1和库存是否大与零来判断此书是否存在,如果条件成立,用scanf函数输入借书证号和所借天数,并且库存量减一,如果条件不成立则输出该图书已全部借出。以下是借书函数的流程图如图4所示开 始库存量减1结束查找图书不等于-1和库存量大于0l=0l<10卡号等于s,借阅天数等于dl+此书已全部借 出NY输入s,d查找图书=0NzzzzY图4借阅图书函数流程图归还函数该函数通过调用search( )函数来判断该书是否存在,如果存在,用scanff( )函数输入图书证序号,用if语句来判断图书信息是否正确,如果正确则所有借阅信息归零,且库存量增加1.并打印“全部入藏”如图5所示开始l<10查找函数不等于-1和现有量小于库存量输出图书信息l=0输入s卡号等于s卡号等于0,所借天数=0NYYl+N库存量加1结束全部入藏卡号等于s图5 归还图书流程图注销图书函数该函数通过调用search( )函数来判段要注销的书是否存在,如果存在则通过调用该函数则可提示该书已注销。三程序源代码#include <stdio.h> #include <stdlib.h> #include <conio.h> 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;n<100;n+) if(booksn.id=i) printf("书名:%sn",booksn.name); printf("作者:%sn",booksn.author); printf("存数:%d of ",booksn.store); printf("%dn",booksn.total); return n; printf("n输入错误或无效图书序号.n"); return -1; /*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返回数组下标,如果找不到相应记录则提示错误并返回-1。*/ void book_out(void) int n,s,l,d; page_title("借阅图书"); if(n=search_book()!=-1&&booksn.store>0) printf("请输入借书证序号:"); scanf("%d",&s); printf("请输入可借天数:"); scanf("%d",&d); for(l=0;l<10;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.store<booksn.total) printf("借阅者图书证列表:n"); for(l=0;l<10;l+) if (booksn.usrl!=0) printf("%d - %d天n",booksn.usrl,booksn.daysl); printf("请输入借书证序号:"); scanf("%d",&s); for(l=0;l<10;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;n<100;n+) if(booksn.id=0) break; printf("序号:"); scanf("%d",&booksn.id); printf("书名:"); scanf("%s",&booksn.name); 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; 四 结束语这次图书管理系统系统的设计是我第一次用C语言来设计程序,他检验了我这个学期的对C语言的学习成果,使我对C语言有了更深刻的认识,注意到许多以前没有注意的问题,对我的C语言程序设计能力有了很大的提高,也许这次的程序有不少的缺点,但我从中也学习到了很多东西,希望下次做出来的程序能够更加优秀。心得体会由于这个学期才开始接触SQL数据库,在设计的过程中,我遇到了不少的问题,发现原来设计出一个规范的数据库模型是很有学问的。经过老师的指导、同学们的帮助和对之前学过的SQL数据库模型知识的复习,才设计出一个比较合理的数据库模型。此外,我对VC+数据库开发有了更深的体会,掌握了不少ADO数据库开发技术的运用方式和技巧,并成功的解决了问题。通过这次课程设计,我学到了很多,得到了很多,不仅充分的将在书本中学到的知识运用到解决实际问题上,而且加强了自己的动手能力。我会总结出这次课程设计的所有的成功以及失败的经验和心得,并希望老师能够批评指出存在的错误之处,期待有更多的机会让我实践理论知识。教师评语 年 月 日成绩及签名 年 月 日

    注意事项

    本文(C语言程序设计课程设计图书管理系统设计报告.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开