1、四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语目 录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段4四、课设总结9五、参考文献10六、源程序10一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,每一个模块对应一个函数。他们的功能分别是:录入图书函数,借阅图书函数,归还图书函数和查询图书库存函数。这些函数的实现严格按照题目的要求。1. 录入图书函数 主要实现程序最初运行时图书数据的录入以及其后的运行中学图书数据的追加功能;2. 借阅图书函数 按照题目的具体要求实现的是学生可以借阅图书馆现存的图书的功能;3. 归还图书函数
2、实现的是图书的归还并在现有数量上得以保存的功能;4. 查询图书库存函数 实现的是图书归还后图书馆的现存图书的数量进行查询;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。在程序当中,将图书记录类型定义为结构体类型。图书都有编号、名称、作者、现有数量的相关信息。二、程序流程图1. 程序总体结构图真输入i=1? 假录入图书输入i=2?借阅图书输入i=3?归还图书输入i=4?图书查询输入i=5?退出图1程序总体结构图2. 具体功能框图(1)录入图书函数luru()图2 录入图书信息函数(2)借阅图书函数jieyue()图3借阅图书函数(
3、3)归还图书函数guihuan()图4 归还图书函数(4)查询图书现有库存函数chaxun()图5查询图书现有库存函数三、核心技术的实现说明及相应程序段本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,录入图书信息函数、借阅图书函数、归还图书函数和查询现存图书函数是程序中较为核心的部分,下面分别进行说明。1. 录入图书函数该函数是录入图书函数,录入图书信息包含录入图书的数量,图书编号,图书名称,图书作者,图书现存量。具体的程序段如下:void luru() int i。 printf(请输入要录入的图书数量,按回车键确认:)。
4、scanf(%d,&numb)。 for(i=0。inumb。i+) n请输入书的编号:%s,booki.num)。 if(booki.num0)return。n请输入书的名称:,booki.name)。n请输入书的作者:,booki.writer)。n请输入此书的数量:booki.n)。录入成功。n 。2. 借阅图书函数输入所要借阅的图书的编号,因为图书的编号唯一的。然后查阅书的现有库存情况,如果库存少于三本,该书将不予外借,并给予提示,如果库存大于等于三本时,提示借阅成功。显示图书的现有库存量减少一本.具体程序段如下:void jieshu() char bianhao10。请输入你要借阅
5、的书的编号n,bianhao)。 if(strcmp(booki.num,bianhao)=0) if(booki.n3) 不外借n return。 else printf(借书成功n booki.n-。%s %s %s %dn,booki.num,booki.name,booki.writer,booki.n)。 return。 3. 归还图书函数输入归还图书的编号,如果所输入的编号在已借阅的图书的编号中,显示归还图书成功,并使图书的现有库存量增加一本。具体的程序段如下:void huanshu()请输入你要归还书的编号n if(strcmp(booki.num,bianhao)=0) pr
6、intf(还书成功n booki.n+。 4查询图书现有库存信息 主要功能是了解图书现有库存情况。具体程序段如下:void chaxun()四、课设总结通过这次的课程设计训练,理论和具体实践相结合,才能使我们所学的知识有所用途。通过亲自动手动脑,学到了很多书本上学不到的知识,坚定了自己实践的决心。计算机的重要性也是不容忽视的,最重要的当属编程了。在编程的过程中,遇到的问题和困难,在老师的指导下,我通过努力,把最后难关突破。细节决定成败,真的应了这句话,所以不得有丝毫的马虎,才能保证程序的正常运行,激发了我的创造力。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程
7、序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#includestring.hmath.hstdlib.hstruct book char num20。 char name20。 char writer20。 int n。 struct book book100。int numb。void menu() *图书管理系统* n 制作者:李晶晶 指导教师:王晓岩 n 1录入图书信息n 2借阅图书信息n 3归还图书信息n 4查询现存图书总数n 5退出nvoid main()int n。 while(1) menu()。n 请输入您要选择的操作序号,按回车键确认:n)。 switch(n) case 1: luru()。break。 case 2: jieshu()。 case 3: huanshu()。 case 4: chaxun()。 case 5: exit(0)。 default:输入错误,请输入列表中存在的序号!n
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1