C 语言程序设计基础课程设计手册_第1页
C 语言程序设计基础课程设计手册_第2页
C 语言程序设计基础课程设计手册_第3页
C 语言程序设计基础课程设计手册_第4页
C 语言程序设计基础课程设计手册_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

精品文档福建船政交通职业学院课程设计(综合实训)报告组长姓名:欧鹏程小组成员:周剑龙危佳辰郑丁榕郑坛木专业/班级:14计算机网络技术1课程名称:C语言程序设计课程设计指导导师:程 伍 端总评成绩:信息工程系2015.01 C 语言程序设计 课程设计评分表指导教师:程伍端执行时间:2015年1月组号姓 名学 号承担角色个 人 得 分 统 计小组得分设计报告源程序日志总结个人得分4欧鹏程144104138组 长周剑龙144104131组员1危佳辰144104113组员2郑丁榕144104115组员3郑坛木144104125组员4成绩考核说明:一、小组团队合作题目考核说明1、成绩分为:优、良、中、及格、不及格 五个档次。 2、组长个人起点基准成绩高一个等级,起点为 中 ;其余每个组员的起点基准成绩为 及格。 3、课题系统获得通过,小组成绩整体同步提升 一至二个档次。系统设计中重要模块承担者(组员)将优先考虑再给予提高一个档次的成绩。 4、课题系统不能如期获得通过,组员成绩将可能下降 一个 档次;组长成绩将必然下降 一至二 个档次。设计中重要模块承担者(组员),如果未能完成将责过一等。 5、少于5人的个别组,课题系统获得通过,成绩可以考虑提升一个档次。【教师点评】 C 语言程序设计 课程设计任务说明【整体说明】l 学分说明C 语言程序设计课程设计是一门独立的集中性实训课程,是学习了计算机编程语言C语言程序设计后,相关联的实训课程,所占学分:1学分。l 实训目的实训目的在于整体性的融合 C 语言程序设计 所学的理论基础知识,运用平时课堂实训学会的编程技巧和能力,通过进行一个整体性的系统化项目课题的编程练习,贯穿所学课程的主要知识要点,从而认识到C语言的学习目的和重要性,进一步提高自身的程序设计能力。l 设计课题题目:学院图书查询系统要求针对图书的属性(如:图书的编号、图书的书名、图书的作者、图书的库存),以及借阅者的属性(如:借书人、借书证号、借的图书名),进行编程,要求实现以下的功能:1、 添加信息2、 删除信息3、 查询信息4、 浏览信息该管理系统运行时是一个循环式的菜单选项,能依据选项选择各种功能。并能依据需求,将结果打印在屏幕【任务要求】应用C语言知识,依据以上题目,全部必须应用链表等有关知识点进行设计,要求系统具有智能性、适用于任何不同的规模情形,智能化地应用内存。小组团队合作题目的任务要求如下:1. 课程设计以小组为单位,每个小组5人为一个小组。自由组合,自选组长,自行分工协作,但要求每人每日填写总结日志,叙述该日你完成的任务。2. 要求以功能模块为单位分工,每个模块功能以程序函数实现,同时配置相应的主程序测试你所完成的功能函数。3. 设计结束时,每人提交一份个人设计报告(在每个人任务书上完成),总结你个人的工作。每个小组以小组为单位提交一份整体课程设计报告(要求打印)。所有内容按以下要求编制成册,进行提交,用以考核评分。课程设计报告中要有能够说明系统所实现功能运行过程的截屏,也可进一步提交运行录像。4. 可以在题目要求完成的主要功能基础上,设想实现其他功能,予以实现。5. 提交文档顺序说明: 封面 课程设计评分表 课程设计任务说明(题目部分仅保留你选择的题目) 小组课程设计报告 按组长和组员1、组员2 等顺序提交每个人的个人设计报告和每日工作日志。 整个系统原代码.精品文档 C 语言程序设计 课程设计实训报告实训题目:学院图书查询系统一、任务要求:要求针对图书的属性(如:图书的编号、图书的书名、图书的作者、图书的库存),以及借阅者的属性(如:借书人、借书证号、借的图书名),进行编程,要求实现以下的功能:1、添加信息1.1、 添加图书信息;1.2、添加借阅者信息。2、删除信息2.1、 按图书的编号进行信息删除。3、查询信息3.1、按借阅者进行信息查询;3.2、按图书编号进行信息查询;3.3、按图书名进行信息查询;3.4、按作者名进行信息查询。2、 浏览信息4.1、浏览图书信息;4.2、浏览借阅者信息。该管理系统运行时是一个循环式的菜单选项,能依据选项选择各种功能。并能依据需求,将结果打印在屏幕。二、小组成员与分工: 1、 组长(欧鹏程):完成链表的建立;完成查询功能中的按借阅者进行信息查询、按图书编号进行信息查询、按书名进行信息查询、按作者名进行信息查询的函数,完成删除功能中的按编号删除的函数。2、 组员1(周剑龙):完成结构体的建立;完成添加系统信息中的添加图书相关信息、添加借阅者相关信息的函数,完成浏览系统信息中的浏览图书相关信息、浏览借阅者相关信息的函数。3、 组员2(郑坛木):完成静态界面的设计,完成整个程序的流程图。4、 组员3(危佳辰):完成静态界面的美观与清屏。5、 组员4 (郑丁榕):针对各个函数功能实现的调试与整个程序的测试。三、实现的功能说明(一)、总体功能说明添加图书信息(书号、书名、作者、库存)添加系统信息void Add();void Insert();void setData()添加借阅者信息(借阅者、借书证号、借阅的书名)void menu_2()void Add_1();void Insert_1();void setData()按图书编号删除(输入编号)删除图书信息void Del();linklist Qur();void destroy()按借阅情况查询(输入借书证号)linklist Qur_1();void chaxun_1()主菜单按编号查询(输入书的编号)查询图书信息linklist Qur();void chaxun_2()按书名查询(输入书名)void menu_1()void menu();linklist Qur_2();void chaxun_3()char sl()按作者查询(输入作者)linklist Qur_3();void chaxun_4()浏览图书信息浏览系统信息void Disp();void printTitle();void show()浏览借阅者信息void menu_1()void Disp_1();void printTitle_1();void show_1()小组成员与分工情况开发团队(二)、各个模块的功能及实现各个函数及其如何实现功能如下:1、 int main();/*主函数*/:建立头节点,进入主菜单,再调用判断各个函数功能的函数。(图1)(图1)2、void menu();/*主菜单*/显示各个功能选项。3、void destroy();/*释放节点*/:将建立好的的节点释放掉。(图3)(图3)4、char sl();/*进行各个功能的判断*/:判断函数的功能选项,以便调用相应的函数。(图4)(图4)5、void menu_2();/*添加系统信息菜单*/:显示添加系统信息的菜单,并判断函数的功能选项,以便调用相应的函数。(图5)(图5)6、void Add();/*添加图书信息函数*/:先申请节点,再调用建立链表函数。(图6)7、void Insert(linklist p);/*只为录入新书信息建立链表*/:先调用录入信息函数,再建立链表。(图7) (图6)(图7)8、void setData(linklist p);/*录入新书信息*/:将已经建立好的节点传进函数,并录入信息。9、 void Insert_1(linklist p);/*只为录入借阅信息建立链表*/:先调用录入信息函数,再建立链表。10、void Add_1();/*添加借阅人信息函数*/:先申请节点,再调用建立链表函数。(图10) (图10)(图11)(图12)11、void setData_1(linklist p);/*录入借阅者信息*/:将已经建立好的节点传进函数,并录入信息。(图11)12、void Del();/*删除节点*/:先调用查询函数,找到对应的信息,后再释放节点(图12)13、void printTitle();/*打印图书信息界面*/14、void printTitle_1();/*打印借阅者信息界面*/15、void show(linklist p);/*打印图书信息*/:将建立好的节点传进函数,方便打印相关信息。16、void show_1(linklist p);/*打印借阅者信息*/:将建立好的节点传进函数,方便打印相关信息。17、void Disp();/*为打印图书信息做准备*/:先调用打印图书信息界面函数,再进行判断,以便调用打印函数。(图17)18、void Disp_1();/*为打印借阅者信息做准备*/:先调用打印借阅者信息界面函数,再进行判断,以便调用打印函数。(图18) (图17)(图18)19、void menu_1();/*查询菜单*/:显示查询菜单,并判断函数的功能选项,以便调用相应的函数。(图19)(图19)20、void chaxun_1();/*按借阅者进行查询打印*/:先调用查询函数,在对其查询结果进行打印。(图20)21、linklist Qur_1();/*按借阅情况进行查询*/:对输入的借书证号进行对比查询。(图21)22、linklist Qur();/*按图书的编号进行查询*/:对输入的图书编号进行对比查询。(图22) (图20)(图21)(图22)23、void chaxun_2();/*按编号进行查询打印*/:先调用查询函数,在对其查询结果进行打印。(图23)24、void menu_3();/*浏览菜单*/:显示浏览信息菜单,并判断各个函数的功能选项,以便调用相应的函数。(图24) (图23)(图24)25、linklist Qur_2();/*按书名进行查询*/:对输入的书名进行对比查询。(图25)26、linklist Qur_3();/*按作者进行查询*/:对输入的作者姓名进行对比查询。(图26) (图25)(图26)27、void chaxun_3();/*按书名进行查询打印*/:先调用查询函数,在对其查询结果进行打印。(图27)(图27)28、void chaxun_4();/*按作者进行查询打印*/:先调用查询函数,在对其查询结果进行打印。(图27)(图29)(三)、测试结果1、 主菜单:2、 按1进入添加系统信息,再按1进入添加图书信息或按2进入添加借阅者信息3、 按2进入删除图书信息,输入书的编号进行删除4、 按3进入查询图书信息,再按1进入按借阅者进行查询或按2进入按编号进行查询或按3进入按书名进行查询或按4进入按作者进行查询5、 按4进入浏览系统信息,再按1进入浏览图书信息或按2进入浏览借阅者信息6、 按5进入开发团队,显示小组分工简略情况,按任意键返回主菜单7、进入添加图书信息,按y/Y继续添加图书信息,按任意键结束添加信息 8、 进入添加借阅者信息,按y/Y继续添加图书信息,按任意键结束添加信息 9、进入浏览图书信息或浏览借阅者信息,按任意键返回主菜单 10、进入查询图书信息按借阅情况进行图书查询(输入借书证号) 按图书的编号进行图书查询(输入图书的编号) 按图书的书名进行图书查询(输入图书名) 按作者名进行图书查询(输入作者名) 11、进入删除图书信息(输入图书的编号) 精品文档学院图书查询系统组 长:欧鹏程学 号:144104138执行时间:2015年1月16日【任务要求】: 整体性地进行项目的策划,给组员分配任务,指挥协调各组员之间的协作,规划各组员之间的程序衔接,及时纠正各组员程序中严重的方向性错误。 完成链表的建立;完成查询功能中的按借阅者进行信息查询、按图书编号进行信息查询、按书名进行信息查询、按作者名进行信息查询的函数,完成删除功能中的按编号删除的函数。我这一组要完成的实训内容其实是图书管理系统中的一个部分(图书查询系统),我作为组长就要整体性地规划整个程序该实现哪些功能。我的规划是:该图书查询系统,先要有初始的图书相关信息和借阅者的相关信息(这就需要使用者先添加系统信息),才能对该系统信息进行删除、查询和浏览;在删除图书信息时是按图书的编号进行查询并删除;在查询系统信息时分为:按借阅者进行查询(输入借书证号)、按图书编号进行查询(输入图书编号)、按图书名进行查询(输入图书名)、按作者名进行(输入作者名);在浏览系统信息时分为:浏览图书的相关信息、浏览借阅者相关信息。此次的实训题目,相对于比较简单,在写程序的过程中,让我对链表知识的重新认识,也培养了我独自思考的能力,也提升了团队合作意识,更让我得知遇到问题,要及时问,及时解决,以防止下一次再出现类似的问题。本次的C语言课程设计,还让我及时发现自己身上不足的地方,去寻找问题的所在,并能够对该问题进行分析解决,更让我懂得了取他之长,补己之短的道理。.学院图书查询系统组 员 1:周剑龙学 号:144104131执行时间:2015年1月16日【任务要求】:接受组长的安排,承担完成结构体的建立;完成添加系统信息中的添加图书相关信息、添加借阅者相关信息的函数,完成浏览系统信息中的浏览图书相关信息、浏览借阅者相关信息的函数。我作为这一组的成员之一,就需要对该项目的一些的函数功能的实现负责。组长给我分配的主要任务是:承担完成结构体的建立;完成添加系统信息中的添加图书相关信息、添加借阅者相关信息的函数,完成浏览系统信息中的浏览图书相关信息、浏览借阅者相关信息的函数。在建立结构体时,需要对图书的属性和借阅者的属性进行分析,这一点我并不是做很好;在进行添加系统信息时,偶尔把变量混在一起,后来根据组长的解释,就去重新分析结构体的定义。此次的实训题目,要求要用到链表,对于链表这一块,我并不是很熟悉,但是自己有去尝试用数组写了该程序,最后还是没有写成功,只好认真的听组长给我的解释。本次实训让我知道了,上课认真听讲是前提,课前预习、课后复习是关键,多写程序才能帮到自己更快的理解与消化。为了让我的C语言更上一层楼,我必须课下自己去独自思考有关于C语言的题目。学院图书查询系统组 员 2:危佳辰学 号:144104113执行时间:2015年1月16日【任务要求】:接受组长的安排,承担完成静态界面的美观与清屏。我作为这一组的成员之一,我就要对该程序的的界面进行负责。组长给我分配的主要任务是:承担完成静态界面的美观与清屏。在我负责界面美观时,有很多东西不懂,自己美观的成果一直不理想,针对这个问题,我去问了其他组已经作完界面美观的成员,从他们那里得知自己的不足和缺陷。对于这些缺陷,我特意的问了组长该如何解决,也从组长那里得知了组长的本意是如何的,针对组长的本意,我一次又一次的修改自己的界面美观,一直修改到组长满意为止。在负责清屏时,时常搞不懂清屏函数是什么,该如何清屏,该在哪里清屏,经过组长的细细解释,我清屏这一块做的很快,也很符合组长的本意。此次的实训,让我懂得了遇到问题,要先自己自主思考问题的所在,实在解决不了,才去询问同学或组长得到帮助,更让我知道自己身上的不足之处,然后才能将自己的不足之处进行一一化解。学院图书查询系统组 员 3:郑丁榕学 号:144104115执行时间:2015年1月16日【任务要求】:接受组长的安排,承担针对各个函数功能实现的调试与整个程序的测试。我作为这一组的组员之一,我要承担的是该项目程序的调试。组长给我分配的主要任务是:承担针对各个函数功能实现的调试与整个程序的测试。我的每一次调试,自认为是成功的,但是组长查看我的调试时,发现我的调试结果其实都是错误的,后来组长发现是程序的某一些函数功能的书写错误,由于自己的能力不足,无法帮助组长修改程序的错误所在,只好让组长来修改。经过组长对程序的修改,我重新调试该函数,还特意让组长看我是如何调试的,以免又发生错误,自己无法帮助组长来修改程序。组长写完一整个程序时,我就要调试一整个程序的功能的实现,偶尔也会一些小错误,自知自己不能帮助组长,也只好让组长来解决这一些小错误。此次的实训题目,让我得知了自己身上的许多不足之处,虽然自己没办法解决,但是也会认真听组长给我的解释;也让我懂得了当遇到问题时,要及时从组长那得到帮助,将自己的不足之处进行一一化解。学院图书查询系统 组 员 4:郑坛木组 号:144104125执行时间:2015年1月16日【任务要求】:接受组长的安排,承担完成静态界面的设计,完成整个程序的流程图。 我作为这一组的成员之一,我就要对该程序的的界面进行负责。组长给我分配的主要任务是:承当完成静态界面的设计,完成整个程序的流程图。在设计界面时,组长要求我要先用Word中的表格画出界面,再将该界面用输出语句打印在屏幕上,我设计的比较漂亮,组长很喜欢,就采用我的设计界面,但是在用输出语句打印在屏幕上时,出现了一些小问题,我求教了组长,组长也耐心的教会我。组长还要我去画整个程序的流程图,但是我并不是很清楚流程图的走向,组长让我根据测试结果来画程序流程图,我认真的分析了测试结果,也向组长询问各个函数都是实现哪些功能,最后自主画出了让组长满意的程序流程图。此次的实训让我知道了,有问题应该主动去询问组长或者其他组已经完成该项目的同学;更让我得知了自己身上的不足之处,并认真听组长给我的解释,也让我对C语言有了新的认识。 精品文档姓名欧鹏程日期工作任务完成百分比遇到的问题、获得的帮助及解决方案2015年1月12日完成链表的建立,协助组员(周剑龙)完成结构体的建立。80%遇到的问题:链表建立不起来;在添加信息时会出现内存错误。解决:查看书上的链表建立,类比到自己的程序;问叶凌得知只要在每一次的输入之前填一个清空缓存区函数。2015年1月13日完成查询功能中的按借阅者进行信息查询、按图书编号进行信息查询、按书名进行信息查询、按作者名进行信息查询的函数。100%遇到的问题:在进行按图书的书名查询时,会出现内存错误。解决:找到该查询函数,发现定义的数组长度太小,后发现只要把数组长度加长就没有问题。2015年1月14日完成删除功能中的按编号删除的函数;解决前一天遗留的问题。90%遇到的问题:在删除节点时,不懂如何再去街接上下一个节点。解决:查看书上的删除节点的函数,然后重新分析是如何断开节点,再去接下一个节点,后来看了林淳的删除节点函数,再类比到自己的程序。2015年1月15日测试一下各个功能的实现,并对不足的地方进行重新分析和修改;解决前一天遗留的问题。100%遇到的问题:在添加信息时,把图书信息和借阅者信息混在一起;在浏览信息时会多输出一次乱码。解决:问老师得只要在录入信息时,分出另外一个菜单,其功能分为添加图书信息和添加借阅者信息,在浏览信息时也分出另外一个菜单,其功能分为浏览图书信息和浏览借阅者信息;只要不同时输入图书信息和借阅者信息就不会多输出一次乱码。2015年1月16日写C语言程序设计报实训报告,并对报告内容进行排版和不足的地方进行修改。100%姓名周剑龙日期工作任务完成百分比遇到的问题、获得的帮助及解决方案2015年1月12日协助组长(欧鹏程)完成链表的建立;自主完成结构体的建立。80%问题:不知道结构体该定义哪些内容。解决:上网查询图书和借阅者都有哪些属性,得知有图书的编号、图书的书名、图书的作者、图书的库存,借阅者有借阅者的姓名、借书证号、借阅的图书。2015年1月13日完成添加系统信息中的添加图书相关信息、添加借阅者相关信息的函数;解决前一天遗留的问题。90%问题:添加图书与借阅者相关的信息时,无法对其相关信息的打印。 解决:问组长(欧鹏程)得知,只要在打印函数时将头指针传进函数。 2015年1月14日完成浏览系统信息中的浏览图书相关信息、浏览借阅者相关信息的函数;解决前一天遗留的问题。90%问题:在打印时没有搞清楚变量的名称。解决:重新查看结构体的相关定义,在对其相应的变量进行分析得知,只要写输出的内容对应的变量名称。2015年1月15日协助组长(欧鹏程)进行修改程序。100%问题:在进行录入借阅者信息时不知道是否得再次建立一个关于借阅者的结构体。解决:通过组长(欧鹏程)问老师得知,如果再次建立结构体,就相当于重新写一次程序,由于时间关系,就只好在原先有的结构体里多定义关于借阅者信息。2015年1月16日写个人的实训报告,并协助组长(欧鹏程)进行实训报告内容的排版。100%姓名危佳辰日期工作任务完成百分比遇到的问题、获得的帮助及解决方案2015年1月12日与组员(郑坛木)一起用Word以表格形式画出主菜单和子菜单界面。90%问题:不知道主菜单和子菜单都有哪些内容。解决:问组长(欧鹏程)该程序都有哪些功能,得知应该有添加信息功能、删除信息功能、查询信息功能、浏览信息功能。2015年1月13日独自完成用输出语句输出表格,并将功能内容嵌入表格。100%问题:组长(欧鹏程)要求要能以表格形式打印在屏幕,但是不知道该如何用输出语句来输出表格。解决:上网搜索如何在输出语句中显示表格线。2015年1月14日与组员(郑坛木)一起完善主菜单和子菜单的功能内容以及完善界面的美观。90%问题:完善菜单内容时,组长(欧鹏程)要求要对其菜单美观,但是美观的结果不符合组长(欧鹏程)的本意。解决:询问清楚组长(欧鹏程)的本意是如何,然后根据组长(欧鹏程)的本意去上网搜索相关的内容,并对其进行修改。2015年1月15日完成对调用完函数进行屏幕清屏。90%问题:不知道清屏的函数是什么;在清屏时会出现编译错误。解决:问组长(欧鹏程)清屏的函数是什么;通过组长(欧鹏程)向老师询问得知,只要把清屏函数放在定义语句之后,便可以通过编译。2015年1月16日写个人的实训报告,并协助组长(欧鹏程)进行实训报告的排版。100%.姓名郑丁榕日期工作任务完成百分比遇到的问题、获得的帮助及解决方案2015年1月12日协助组员(郑坛木、危佳辰)用Word画出主菜单和子菜单。90%问题:不知道主菜单和子菜单都有哪些内容。解决:问组长(欧鹏程)该程序都有哪些功能,得知应该有添加信息功能、删除信息功能、查询信息功能、浏览信息功能。2015年1月13日协助组员(危佳辰)进行菜单的美化。90%问题:完美化菜单内容时,美观的结果不符合组长(欧鹏程)的本意。解决:询问清楚组长(欧鹏程)的本意是如何,然后根据组长(欧鹏程)的本意去上网搜索相关的内容,并对其进行修改。2015年1月14日协助组员(郑坛木)画程序的流程图。90%问题:没见过程序流程图是什么样的。解决:根据组长(欧鹏程)的描述,并结合自己的理解,配合组员(郑坛木)一起画出程序流程图。2015年1月15日完成对各个函数功能实现的调试与整个程序的测试。100%问题:在编译时偶尔会出现编译错误。解决:由于自己的能力不足,所以就将错误内容描述给组长(欧鹏程)听,并认真听组长(欧鹏程)的解释,然后再将组长(欧鹏程)改好的程序再次进行调试。2015年1月16日写个人的实训报告。100%姓名郑坛木日期工作任务完成百分比遇到的问题、获得的帮助及解决方案2015年1月12日与组员(危佳木)一起用Word以表格形式画出主菜单和子菜单界面。90%问题:不知道主菜单和子菜单都有哪些内容。解决:问组长(欧鹏程)该程序都有哪些功能,得知应该有添加信息功能、删除信息功能、查询信息功能、浏览信息功能。2015年1月13日完成主菜单与子菜单进行排版设计;完成一整个程序的界面的设计。90%问题:进行设计时,设计的结果不符合组长(欧鹏程)的本意。解决:询问清楚组长(欧鹏程)的本意是如何,然后根据组长(欧鹏程),并对自己已经写好的设计内容进行修改。2015年1月14日与组员(郑丁榕)一起画程序流程图,并能在程序流程图中显示该功能的相关函数。90%问题:没见过程序流程图是什么样的;不知道该程序都有哪些函数。解决:根据组长(欧鹏程)的描述,并结合自己的理解,与组员(郑丁榕)一起画出程序流程图;让组长(欧鹏程)列出所有的函数名,并根据组员(郑丁榕)的程序调试过程将各个函数列在该功能的下面。2015年1月15日配合组员(郑丁榕)一起完成对各个函数功能实现的调试与整个程序的测试。100%问题:在编译时偶尔会出现编译错误。解决:由于自己的能力不足,所以就将错误内容描述给组长(欧鹏程)听,并认真听组长(欧鹏程)的解释,然后再将组长(欧鹏程)改好的程序再次进行调试。2015年1月16日写个人的实训报告。100%精品文档源代码#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include typedef struct/结构体char booknum50;/书号char bookname50;/书名char bookzuozhe20;/作者char bookkucun20;/库存char bookjiechu10;/借书人char bookjieyue20;/借书证号books;/定义,衔接以下的结构体typedef struct node/指针books p;struct node *pre;struct node *next;node, *linklist;/定义linklist head, last;/头结点、尾节点void setData(linklist p);/*录入新书信息*/void setData_1(linklist p);/*录入借阅者信息*/void Insert();/*只为录入新书信息建立链表*/void Insert_1();/*只为录入借阅信息建立链表*/void Add();/*添加图书信息函数*/void Add_1();/*添加借阅人信息函数*/void Del();/*删除节点*/void printTitle();/*打印图书信息界面*/void printTitle_1();/*打印借阅者信息界面*/void show(linklist p);/*打印图书信息*/void show_1(linklist p);/*打印借阅者信息*/void Disp();/*为打印做准备*/void Disp_1();/*为打印借阅者信息做准备*/char sl();/*进行各个功能的判断*/void destroy();/*释放节点*/void menu();/*主菜单*/void menu_1();/*查询菜单*/void menu_2();/*添加系统信息菜单*/void menu_3();/*浏览菜单*/linklist Qur();/*按图书的编号进行查询*/linklist Qur_1();/*按借阅情况进行查询*/linklist Qur_2();/*按书名进行查询*/linklist Qur_3();/*按作者进行查询*/void chaxun_1();/*按借阅者进行查询打印*/void chaxun_2();/*按编号进行查询打印*/void chaxun_3();/*按书名进行查询打印*/void chaxun_4();/*按作者进行查询打印*/*录入新书信息*/void setData(linklist p)printf(nnn);printf(ttn);printf(tt 录入新书信息 n);printf(ttn);printf(nn);printf(请输入图书的编号:);fflush(stdin);/清空缓存区scanf(%s, &p-p.booknum);printf(请输入图书的书名:);fflush(stdin);/清空缓存区scanf(%s, &p-p.bookname);printf(请输入图书的作者:);fflush(stdin);/清空缓存区scanf(%s, &p-p.bookzuozhe);printf(请输入图书的库存:);fflush(stdin);/清空缓存区scanf(%s, &p-p.bookkucun);/*录入借阅者信息*/void setData_1(linklist p)printf(nnn);printf(ttn);printf(tt 录入借阅者信息 n);printf(ttn);printf(nn);printf(请输入借阅者:);fflush(stdin);/清空缓存区scanf(%s, &p-p.bookjiechu);printf(请输入借书证号:);fflush(stdin);/清空缓存区scanf(%s, &p-p.bookjieyue);printf(请输入要借书的书名:);fflush(stdin);/清空缓存区scanf(%s, &p-p.bookname);/*只为录入新书信息建立链表*/void Insert(linklist p)setData(p);p-next = last;last-pre-next = p;p-pre = last-pre;last-pre = p;/*只为录入借阅信息建立链表*/void Insert_1(linklist p)setData_1(p);p-next = last;last-pre-next = p;p-pre = last-pre;last-pre = p;/*添加的函数*/void Add()char ch;dolinklist p = (linklist)malloc(sizeof(node);/申请节点system(cls);/清屏Insert(p);/建立链表printf(n);printf(是否继续?n按Y继续,否则任意键退出!n);fflush(stdin);/清空缓存区ch = getchar(); while (ch = y | ch = Y);/*添加的函数*/void Add_1()char ch;dolinklist p = (linklist)malloc(sizeof(node);/申请节点system(cls);/清屏Insert_1(p);/建立链表printf(n);printf(是否继续?n按Y继续,否则任意键退出!n);fflush(stdin);/清空缓存区ch = getchar(); while (ch = y | ch = Y);/*按图书的编号进行查询*/linklist Qur()char num10;linklist p = head-next;printf(请输入图书的编号:);fflush(stdin);/清空缓存区scanf(%s, num);while (p != last)if (strcmp(num, p-p.booknum) = 0) break;p = p-next;if (p = last)printf(未找到n);system(pause);return p;/*按借阅者进行查询*/linklist Qur_1()char num_110;linklist p = head-next;printf(请输入借书证号:);fflush(stdin);/清空缓存区scanf(%s, num_1);while (p != last)if (strcmp(num_1, p-p.bookjieyue) = 0) break;p = p-next;if (p = last)printf(未找到n);system(pause);return p;/*按书名进行查询*/linklist Qur_2()char name50;linklist p = head-next;printf(请输入图书名:);fflush(stdin);/清空缓存区scanf(%s, name);while (p != last)if (strcmp(name, p-p.bookname) = 0) break;p = p-next;if (p = last)printf(未找到n);system(pause);return p;/*按作者进行查询*/linklist Qur_3()char name_110;linklist p = head-next;printf(请输入作者名:);fflush(stdin);/清空缓存区scanf(%s, name_1);while (p != last)if (strcmp(name_1, p-p.bookzuozhe) = 0) break;p = p-next;if (p = last)printf(未找到n);system(pause);return p;/*删除节点*/void Del()linklist p = Qur();if (p = last)return;p-pre-next = p-next;p-next-pre = p-pre;free(p);printf(删除成功n);system(pause);/*打印图书信息界面*/voi

温馨提示

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

评论

0/150

提交评论