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

下载本文档

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

文档简介

课程设计说明书 No.431课程设计的目随着社会的飞速发展,人们越来越知道知识的重要性,越来越喜欢进入图书馆,查找或借阅自己喜欢的书籍。图书馆大量的图书不仅给工作人员带来了大量的工作量,同时还给人们带来了大量的麻烦,费神费力,迫切需要一个图书信息软件来解决这个问题,以便于对 图书的管理,于是尝试编写了一个小的图书信息管理程序,希望对人们有所帮助,可以参考使用。 该程序一共有四个选项,可以进行用户添加、借阅、换书、退出、等功能,能保存图书信息、借书、还书、修改,操作界面简洁,方便的进行操作。足可以给人们节约大量的时间。程序用了条件、循环、结构体1等知识点,可运用于小的管理软件。软件运用菜单实现交互式 管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足用户的需要。2设计方案论证21设计思路建立一个函数2,用来保存图书的名字,作者,编号,库存等信息,完成图书信息管理的功能。主函数可以调用四个子函数,分别完成添加,查找,退出,三个功能。在主函数中可以设置调用四个子函数的方法,例如按1,2,3,4,0数字键,则分别可以执行某个功能模块主要功能模块即如图1所示:图 书管 理查 找 注 册借 阅还 书注 销 图1 图书信息管理功能图2.2程序设计根据所构想的的功能及模块设计出与之相对应的算法并建立函数来实现功能。2.2.1数据结构体的定义 将图书信息作为一个结构体。struct BOOK int id,usr10,total,store,days10; char name31,author21; books100;2.2.2 main( )主函数主函数是函数的入口,采用模块化设计,主函数应该尽可能简捷,功能体现其中,首先含有一个菜单函数来说明各个数字所实现的功能,通过menu_ item来显示当前的状态,通过getch( )输入的数字来实现功能的选取,用switch和 break语句来实现不同功能的切换。2.2.3查找图书函数该函数通过判断输入的数字是否与已存在图书的编号相同,用if语句3进行判断,如果相同输出查找图书的信息(作者,书名,库存),用返回函数return来返回查找函数的编号,如果不相同则返回-1以下是查找图书流程图如图2所示开始图书信息=i输入错误或无效图书号作者,书名,库存结 束输入in=0n100Nn+Y图2 查找图书流程图2.2.4注册新书函数该函数通过判断输入的书的id数值是否为零,如果为零则用break4来跳出,如果不为零且小于100,则用scanf函数输入该书的作者,书名,库存等信息,用printf函数把这些信息显示在屏幕上。如图3所示是注册新书的流程图开 始n=0输出图书信息Yn100结束图书=0n+Nbreak图3 注册新书流程图2.2.5借阅函数该函数首先调用search()函数来判断通过判断输入图书的序号是否为-1和库存是否大与零来判断此书是否存在,如果条件成立,用scanf函数输入借书证号和所借天数,并且库存量减一,如果条件不成立则输出该图书已全部借出。以下是借书函数的流程图如图4所示 l开 始库存量减1结束查找图书不等于-1和库存量大于0l=0l10卡号等于s,借阅天数等于dl+此书已全部借 出NY输入s,d查找图书=0NzzzzY图4借阅图书函数流程图2.2.6归还函数该函数通过调用search( )函数来判断该书是否存在,如果存在,用scanff( )函数输入图书证序号,用if语句来判断图书信息是否正确,如果正确则所有借阅信息归零,且库存量增加1.并打印“全部入藏”如图5所示开始l10查找函数不等于-1和现有量小于库存量输出图书信息l=0输入s卡号等于s卡号等于0,所借天数=0NYYl+N库存量加1结束全部入藏卡号等于s图5 归还图书流程图2.2.7注销图书函数该函数通过调用search( )函数来判段要注销的书是否存在,如果存在则通过调用该函数则可提示该书已注销。2.3 源程序#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; 3 设计结果与分析 在visual C+ 6.0环境中输入源程序,在没有提示错误的情况下编译,生成.exe可执行文件。 双击文件,会看到如图6所示界面。该图是一个菜单函数,通过scanf( ) 函数输入数字来选择各个功能的选择和转换。根据用户的选择,分别调用其他自定义函数。 该界面同时也调用add( )函数,在输入数字3按回车后会提示输入序号,书名,作者,库存,用户可以把要增加的图书信息进行输入。如图6所示图6 菜单和注册新书界面该函数通过scanf( )函数来选择注册功能,同时提示输入图书信息,如输入序号:056 作者:曹雪芹 数量:5000 该界面是调用out( )函数,在输入数字1按回车后会提示输入所借图书的序号,之后会自动弹出该图书的所有已输入的信息,之后会提示输入借书证号和所借天数,如图7所示。图7 借阅图书界面如输入图书序号:056 界面会自动弹出与该图书有关的所有信息,再输入借书证序号:1002,所借天数:3 之后就完成了借阅图书的操作。 该界面是调用in( )函数界面,在输入数字2按回车后会提示输入图书序号,之后会自动弹出该图书的所有信息且库存量自动加一,并打印“全部入藏” 。如图8所示 图8 归还图书界面如输入图书序号:056 界面就会自动弹出该图书的所有信息及判断所借图书证号是否与系统保存的一致,并把此书归与保存图书函数中,即完成了图书的归还。该界面是调用del( )函数,在输入4后会提示输入图书序号,之后会显示该书的信息,并打印“该书已注销”。如图9所示 图9 注销图书界面如输入图书序号:056 系统自动弹出有关该书的信息,通过调用del()函数进而对该书进行注销。 按数字“0”会得到exit()函数从而退出运行程序。4 设计体会这次计算机C语言程序设计是一次综合性设计,它不仅检验了我这个学期C语言程序学的是否扎实,同时也使我在高级语言设计上有所提高,我从中得到了很深的体会原来计算机语言是如此的神奇。题目中设计到了很多本学期没有学透的内容,如:函数的调用和结构体的定义和使用,通过这次设计让我对这些内容有了进一步的了解,重要的是我能过使用这些东西编一个使用的程序。总而言之,这次高级语言课程设计给了我一次很大的锻炼机会,我相信我以后会很好的提高我的计

温馨提示

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

评论

0/150

提交评论