c语言图书管理系统课程设计_第1页
c语言图书管理系统课程设计_第2页
c语言图书管理系统课程设计_第3页
c语言图书管理系统课程设计_第4页
c语言图书管理系统课程设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

目录1实习目的12需求分析121主要功能需求描述如下1211用户登录1212系统主控制平台2213添加图书信息处理2214删除图书信息处理2215图书排序信息处理2216图书列表信息处理2217查询图书信息处理2218修改图书信息处理3219录入数据信息处理33概要设计44详细设计45调试与测试结果分析66总结11参考文献11附录12学生信息管理系统的设计与实现1实习目的1通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2通过课程设计,进一步掌握C有并重要的数据结构。掌握并熟练运用指针、链表、结构体、文件等数据结构。3通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。4通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个中小型系统。5通过课程设计,加强了自己的程序分析能力6通过本课程设计巩固C语言程序设计课程教学成果,深入理解结构体、指针、链表、动态分配内存和文件操作等C程序设计中的中高级技术,熟练掌握C语言的调试方法,初步培养良好的编程习惯和编程风格,初步学习程序文档的撰写方法。2需求分析图书管理系统采用的开发工具是VISUALC,主要用于对大量的图书信息,包括图书编号、书名、类型、作者名、出版日期、等进行增加、查询、排序、修改等操作。同时也包括对用户的管理。为保存信息,系统将图书信息存储在文件中,每次启动系统时,先将数据从文件中读到单链表中,进行增、删、改、查等操作,在系统推出前,再将单链表中的数据保存到文件中,有效地将数据进行保存。系统为用户提供了简单的人机界面,使用户可以提供提示,输入操作项,调用系统提供的管理功能。21主要功能需求描述如下211用户登录首先提示用户输入用户名和密码。调用文件中存储的用户信息进行校验,只有用户名和密码都匹配时才允许用户使用该系统。用户可以完成所有操作,可以进行图书的管理,修改,排序等。212系统主控制平台用户登录以及退出系统两大功能模块。用户登录中包括添加图书信息、删除图书信息、查询图书信息、图书列表、对图书进行排序、修改图书、录入数据和保存图书信息等。213添加图书信息处理用户根据提示输入图书的书名、作者、出版社、出版日期、类别、编号、等添加数据。输入完一条图书信息后,可根据提示继续输入下一条图书信息或继续其他操作,允许输入多条图书信息记录。输入完图书信息后,以单链表的形式暂时保存在单链表中,等待下一步操作。系统退出之前,将单链表中的全部图书信息保存到文件中。214删除图书信息处理首先提示用户输入要修改的图书的编号、类型、书名、作者名、出版时间,用户根据输入的信息在单链表中查找。如果该图书存在,则首先显示图书的基本信息,并提示用户是否进行删除操作,用户确认删除后,直接删除;如果没找到,系统会给出提示信息。215图书排序信息处理在选择了图书排序信息后,将图书信息按类型选择排序,然后从内存中调出来显示,最后提示是否显示排序结果。如果没有查询都任何信息,系统会给出提示信息。216图书列表信息处理在选择了图书列表信息后,将图书信息从内存中调出来显示,最后提示是否查看图书信息。如果没有查询到任何信息,系统会给出提示信息。217查询图书信息处理首先提示用户输入要查找的编号,根据用户输入的编号从单链表中对图书信息进行查询。查询成功后,显示该图书信息,并提示是否对根据用户输入的信息可以完成对图书的查询。如果没有查询到任何信息,系统会给出提示信息。218修改图书信息处理首先要提示用户输入要修改的图书编号,根据用户输入的编号从单链表对图书信息进行查询。根据菜单输入要修改的图书信息的编号。然后将内存中输入的信息进行修改。219录入数据信息处理用户根据提示输入图书的书名、作者、出版社、出版日期、类别、编号、等数据。输入完一条图书信息后,可根据提示继续输入下一条图书信息或继续其他操作,允许输入多条图书信息记录。输入完图书信息后,以单链表的形式暂时保存在单链表中,等待下一步操作。系统退出之前,将单链表中的全部图书信息保存到文件中。3概要设计图14详细设计图书管理设置用户登录,用户的身份登录可以对系统中的所有功能模块进行操作。整个系统的功能模块的是图书信息管理。系统启动时,主函数中调用对用户模块进行开始输入用户名和密码管理员用户名和密码是否正确主菜单界面退出系统结束添加图书删除图书修改图书录入数据退出系统图书列表图书排序查询图书初始化的操作,即设定最初的管理员的用户名(为“ADMIN”)和密码(为“1234”),并对文件进行初始设置,即用户文件不存在,则创建用户文件。用函数SYSTEM“COLOR03“来控制整个程序的颜色。录入数据主要完成图书文件的初始设置,即图书文件不存在,则创建图书文件。下面对模块的功能做简单介绍。1登录系统系统用选择结构(SWITCH)语句来完成登录操作。首先提示用户输入用户名和密码,接着判断密码是否正确。如果密码错误,给出密码输入错误的提示信息;如果密码都正确则进入主程序。在主程序中完成程序的判断。2添加图书信息系统调用STRUCTBOOKADDBOOKSTRUCTBOOKHEAD函数以增加图书信息,将用户输入的信息添加到图书单链表中,输入完成后提示用户是否继续增加图书信息的操作,如果用户输入“Y”或“Y”,则再次调用该函数,实现继续增加图书信息的操作;如果用户输入“N”或“N”,则返回主菜单界面。3删除图书信息系统调用VOIDDELETEBOOKSTRUCTBOOKHEAD完成图书信息的操作。首先提示用户输入图书的编号,在单链表中查询该图书信息是否存在,如果图书不存在,给出图书不存在的提示信息。如果图书存在,系统提示是否确认删除,如果用户输入“Y”或“Y”,则删除该图书信息,否则返回主菜单界面。4图书列表信息系统调出VOIDPRINT_BOOKSTRUCTBOOKHEAD函数来输出图书列表信息,将图书链表中的图书信息按指定的格式显示出来,显示完成后,提示用户是否再次浏览,如果用户输入“Y”或“Y”,则再次显示单链表中的图书信息;否则,返回主菜单界面。5图书排序信息系统调出VOIDSORT_BOOKSTRUCTBOOKHEAD函数来对图书信息进行排序,选择子菜单,可以分别按编号、出版时间、价格、书名、作者名进行排序。将图书链表中的图书信息按指定的排序格式显示出来。(1)按图书编号排序调用VOIDNUM_SORTSTRUCTBOOKHEAD函数按图书编号进行排序。(2)按出版时间排序调用VOIDTIME_SORTSTRUCTBOOKHEAD函数,按出版时间对图书信息进行排序。(3)按图书价格排序调用VOIDPRICE_SORTSTRUCTBOOKHEAD函数,按出版时间对图书信息进行排序。(4)按图书名排序调用VOIDBNAME_SORTSTRUCTBOOKHEAD函数,按图书名对图书信息进行排序。(5)按作者名排序调用VOIDWNAME_SORTSTRUCTBOOKHEAD函数,按作者名对图书信息进行排序。6查询图书信息系统调出VOIDSEARCHSTRUCTBOOKHEAD函数来对图书信息进行查询,选择子菜单,可以分别按编号、出版时间、价格、书名、作者名进行查询。将图书链表中的图书信息按指定的查询格式显示出来(1)按图书编号查找调用VOIDNUM_SEARCHSTRUCTBOOKHEAD函数按图书编号进行查找。(2)按出版时间查找调用VOIDTIME_SEARCHSTRUCTBOOKHEAD函数,按出版时间对图书信息进行查找。(3)按图书名查找调用VOIDBNAME_SEARCHSTRUCTBOOKHEAD函数,按图书名对图书信息进行查找。(4)按作者名查找调用VOIDWNAME_SEARCHSTRUCTBOOKHEAD函数,按作者名对图书信息进行查找。(5)按类别查找调用VOIDCLASS_SEARCHSTRUCTBOOKHEAD函数,按类别对图书信息进行查找。7修改图书信息系统调用VOIDREVISESTRUCTBOOKHEAD函数来修改图书信息,可以根据编号对图书进行修改,包括全部修改和放弃修改。8退出系统退出系统时,首先提示用户是否确定退出,如果用户输入“Y”或“Y”,将用户链表中的数据保存到用户文件,用户输入“N”或“N”,则不退出。5调试与测试结果分析1登录系统系统运行后提示用户输入编号,选择要用户登录还是退出系统。选择用户登录,系统首次运行时的用户名为“ADMIN”,密码是“1234”,以用户的身份登录系统,进入主菜单界面,登录界面如图2所示,主菜单界面如图3所示。图2图32添加图书在主菜单界面中,输入数字1进入输入添加图书界面,用户可以根据提示信息输入图书的基本信息,输入”Y”保存图书信息按回车键返回主菜单界面,输入信息情况如图4。图43删除图书信息在主菜单界面中,输入数字2进入输入删除图书界面,用户可以根据提示信息输入图书的编号信息,输入”Y”确定删除图书信息按回车键返回主菜单界面,输入信息情况如图5。图54图书列表在主菜单界面中,输入数字3进入图书列表界面,系统会显示图书的基本信息,按回车键返回主菜单界面,图书列表信息情况如图6。图65查询图书在主菜单界面中,输入数字5进入查询图书界面,用户可以根据提示信息输入图书的基本信息,来查询图书信息,并查看查找的图书。按回车键返回主菜单界面,查找图书信息情况如图7图76修改图书在主菜单界面中,输入数字6进入修改图书界面,用户可以根据提示信息修改图书的基本信息,输入”Y”保存修改后的图书信息按回车键返回主菜单界面,输入信息情况如图8图87录入数据在主菜单界面中,输入数字7进入录入图书信息界面,用户可以根据提示信息输入图书的基本信息,输入”Y”保存图书信息按回车键返回主菜单界面,输入信息情况如图9图96总结(1)程序设计思路一定要清晰,主函数尽量简洁,这样在调试过程中若出现错误,只要沿着主函数的思路逐个排查即可。一个条理清楚的框架结构有利于编译过程中查找并解决问题。(2)编译、调试时最好分模块进行。我第一次调试时是在整个程序编辑完后一次性编译,一下子出现了很多处错误。分模块调试,检查错误是最快的方法。(3)细节处一定要注意,我刚刚编程时很容易丢落“;”“”等符号,而这会对程序的编译造成极大的不便。一个优秀的程序员应时刻注意细节,养成细心的良好品质。(4)本次C语言课程设计我是通过程序设计课本加上别的参考文献来完成的,其中虽然还存在比较多的瑕疵,但我都是一饱满的热情、认真的态度去对待本次课程设计的。通过这次课程设计我对完全靠现有的知识,是很难编写出来的。所以要有读除课本以外的参考书的习惯,可以学习更多的知识。参考文献1谢延红,王付山C语言程序设计教程M北京国防工业出版社,20101521712梁旭,谷晓琳C语言课程设计3版北京电子工业出版社,201383张福祥C语言程序设计M辽宁大学出版社,200814张福祥,王萌C语言程序设计习题解答与实验实沈阳辽宁大学出版社,20085牛莉,刘远军等计算机等级考试辅导教程M北京中国铁道出版社,20086石柱,何新贵优序法在软件评价中的应用J计算机工程与设计,2002,23(2)4546附录INCLUDEINCLUDEINCLUDESTRUCTBOOKINTNUMCHARBNAME50CHARWNAME20CHARPRESS50CHARSORT50INTTIMEFLOATPRICESTRUCTBOOKNEXTSTRUCTBOOKCREATBOOK/创建链表STRUCTBOOKADDBOOKSTRUCTBOOKHEAD/添加图书INTIS_EXISTSTRUCTBOOKHEAD,INTM/验证新添加的图书编码是否已存在VOIDDELETEBOOKSTRUCTBOOKHEAD/删除图书VOIDFPRINTSTRUCTBOOKHEAD/将链表写入文件STRUCTBOOKLOAD/从文件中读取信息并建成链表VOIDPRINT_BOOKSTRUCTBOOKHEAD/将链表信息输出VOIDSEARCHSTRUCTBOOKHEAD/查询图书信息VOIDNUM_SEARCHSTRUCTBOOKHEAD/按图书编号查询图书VOIDWNAME_SEARCHSTRUCTBOOKHEAD/按作者名查询图书VOIDCLASS_SEARCHSTRUCTBOOKHEAD/按类别查询图书VOIDTIME_SEARCHSTRUCTBOOKHEAD/按出版时间查询图书VOIDBNAME_SEARCHSTRUCTBOOKHEAD/按图书名查询图书VOIDREVISESTRUCTBOOKHEAD/修改图书信息VOIDSORT_BOOKSTRUCTBOOKHEAD/对图书进行排序VOIDNUM_SORTSTRUCTBOOKHEAD/按图书编号排序VOIDTIME_SORTSTRUCTBOOKHEAD/按图书出版时间排序VOIDPRICE_SORTSTRUCTBOOKHEAD/按图书价格排序VOIDBNAME_SORTSTRUCTBOOKHEAD/按图书名排序VOIDWNAME_SORTSTRUCTBOOKHEAD/按作者名排序INTMAINSYSTEM“COLOR03“/控制颜色INTCHOICE,N,X,Y1,C,C11234CHARA,D,B10,B110“YCL“STRUCTBOOKHEADNULLWHILEYSYSTEM“CLS“/清屏PRINTF“NNNNNNN“PUTS“欢迎光临N“PRINTF“图书信息管理系统NNN“PRINTF“NN“PRINTF“1用户登录N“PRINTF“0退出系统N“PRINTF“请输入您的选择“SCANF“D“,PRINTF“N“GETCHARSWITCHNCASE0Y0BREAKCASE1PRINTF“请输入您的用户名“GETSBPRINTF“N“PRINTF“请输入您的密码“SCANF“D“,PRINTF“N“IFSTRCMPB,B10|CC1PRINTF“验证失败,请重新输入N“SCANF“C“,GETCHARSYSTEM“CLS“ELSEPRINTF“验证通过请按ENTER键进入N“SCANF“C“,GETCHARX1WHILEXSYSTEM“CLS“PRINTF“N“PRINTF“图书信息管理系统N“PRINTF“NN“PRINTF“NN“PRINTF“NN“PRINTF“|1添加图书2删除图书|NN“PRINTF“|3图书列表4图书排序|NN“PRINTF“|5查询图书6修改图书|NN“PRINTF“|7录入数据0退出系统|NN“PRINTF“NN“PRINTF“NN“PRINTF“请输入所选择的序号“SCANF“D“,GETCHARSYSTEM“CLS“SWITCHCHOICECASE0X0BREAKCASE1HEADLOADIFHEADNULLPRINTF“文件为空,请先录入数据N“GETCHARBREAKELSEHEADADDBOOKHEADPRINTF“添加成功N“PRINTF“是否将新信息保存到文件Y/NN“SCANF“C“,GETCHARSWITCHACASENBREAKCASEYFPRINTHEADPRINTF“保存成功N“GETCHARBREAKBREAKCASE2HEADLOADIFHEADNULLPRINTF“文件为空,请先录入数据N“GETCHARBREAKELSEDELETEBOOKHEADGETCHARBREAKBREAKCASE3HEADLOADIFHEADNULLPRINTF“文件为空,请先录入数据N“GETCHARBREAKELSEPRINT_BOOKHEADGETCHARBREAKCASE4HEADLOADIFHEADNULLPRINTF“文件为空,请先录入数据N“GETCHARBREAKELSESORT_BOOKHEADGETCHARBREAKCASE5HEADLOADIFHEADNULLPRINTF“文件为空,请先录入数据N“GETCHARBREAKELSESEARCHHEADGETCHARBREAKCASE6HEADLOADIFHEADNULLPRINTF“文件为空,请先录入数据N“GETCHARBREAKELSEREVISEHEADGETCHARBREAKBREAKCASE7PRINTF“注意输入图书编码为0时结束N“HEADCREATBOOKPRINTF“是否将输入的信息保存到文件以覆盖文件中已存在的信息Y/NN“GETCHARSCANF“C“,GETCHARSWITCHACASENBREAKCASEYFPRINTHEADPRINTF“保存成功N“GETCHARBREAKBREAKDEFAULTPRINTF“您的输入有误,请重新输入N“GETCHARBREAKBREAKDEFAULTPRINTF“您的输入有误请重新输入N“GETCHARBREAK/录入数据并形成链表STRUCTBOOKCREATBOOKSTRUCTBOOKHEAD,TAIL,PINTNUM,TIME,NCHARBNAME50,WNAME20,PRESS50,SORT50FLOATPRICEINTSIZESIZEOFSTRUCTBOOKHEADTAILNULLPRINTF“请输入图书编号“SCANF“D“,PRINTF“请输入图书名“SCANF“S“,BNAMEGETCHARPRINTF“请输入作者名“SCANF“S“,WNAMEGETCHARPRINTF“请输入出版社“SCANF“S“,PRESSGETCHARPRINTF“请输入类别“SCANF“S“,SORTGETCHARPRINTF“请输入出版时间“SCANF“D“,GETCHARPRINTF“请输入价格“SCANF“F“,GETCHARWHILE1PSTRUCTBOOKMALLOCSIZEPNUMNUMSTRCPYPBNAME,BNAMESTRCPYPWNAME,WNAMESTRCPYPPRESS,PRESSSTRCPYPSORT,SORTPTIMETIMEPPRICEPRICEPNEXTNULLIFHEADNULLHEADPELSETAILNEXTPTAILPDOPRINTF“请输入图书编号“SCANF“D“,NIS_EXISTHEAD,NUMIFN0BREAKELSEPRINTF“您输入的编号已存在,请重新输入N“WHILE1IFNUM0BREAKELSEPRINTF“请输入图书名“SCANF“S“,BNAMEGETCHARPRINTF“请输入作者名“SCANF“S“,WNAMEGETCHARPRINTF“请输入出版社“SCANF“S“,PRESSGETCHARPRINTF“请输入类别“SCANF“S“,SORTGETCHARPRINTF“请输入出版时间“SCANF“D“,GETCHARPRINTF“请输入价格“SCANF“F“,GETCHARRETURNHEAD/插入结点,并且插入后仍按一定顺序STRUCTBOOKADDBOOKSTRUCTBOOKHEADSTRUCTBOOKPTR,P1,P2,PCHARBNAME50,WNAME20,PRESS50,SORT50INTSIZESIZEOFSTRUCTBOOKINTNUM,TIME,N1FLOATPRICEDOPRINTF“请输入图书编号“SCANF“D“,NIS_EXISTHEAD,NUMIFN0BREAKELSEPRINTF“您输入的编号已存在,请重新输入N“WHILE1PRINTF“请输入图书名“SCANF“S“,BNAMEGETCHARPRINTF“请输入作者名“SCANF“S“,WNAMEGETCHARPRINTF“请输入出版社“SCANF“S“,PRESSGETCHARPRINTF“请输入类别“SCANF“S“,SORTGETCHARPRINTF“请输入出版时间“SCANF“D“,GETCHARPRINTF“请输入价格“SCANF“F“,GETCHARPSTRUCTBOOKMALLOCSIZEPNUMNUMSTRCPYPBNAME,BNAMESTRCPYPWNAME,WNAMESTRCPYPPRESS,PRESSSTRCPYPSORT,SORTPTIMETIMEPPRICEPRICEP2HEADPTRPWHILEPTRNUMP2NUMP2P2NEXTIFPTRNUMNUMIFHEADP2HEADPTRELSEP1NEXTPTRPNEXTP2ELSEP2NEXTPTRPNEXTNULLRETURNHEAD/验证添加的图书编号是否已存在INTIS_EXISTSTRUCTBOOKHEAD,INTMSTRUCTBOOKPPHEADWHILEPNULLIFPNUMMBREAKPPNEXTIFPNULLRETURN0ELSERETURN1/将新链表写入文件中VOIDFPRINTSTRUCTBOOKHEADFILEFPCHARCH1STRUCTBOOKP1IFFPFOPEN“F1TXT“,“W“NULLPRINTF“FILEOPENERRORN“EXIT0FPUTCCH,FPFORP1HEADP1P1P1NEXTFPRINTFFP,“DSSSSDFN“,P1NUM,P1BNAME,P1WNAME,P1PRESS,P1SORT,P1TIME,P1PRICEFCLOSEFP/从文件中读取图书信息STRUCTBOOKLOADFILEFPCHARCHSTRUCTBOOKHEAD,TAIL,P1HEADTAILNULLIFFPFOPEN“F1TXT“,“R“NULLPRINTF“FILEOPENERRORN“EXIT0CHFGETCFPIFCH1WHILEFEOFFPP1STRUCTBOOKMALLOCSIZEOFSTRUCTBOOKFSCANFFP,“DSSSSDFN“,IFHEADNULLHEADP1ELSETAILNEXTP1TAILP1TAILNEXTNULLFCLOSEFPRETURNHEADELSERETURNNULL/将整个链表的信息输出VOIDPRINT_BOOKSTRUCTBOOKHEADSTRUCTBOOKPTRIFHEADNULLPRINTF“N没有信息N“RETURNPRINTF“图书信息列表如下N“PRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格NN“FORPTRHEADPTRPTRPTRNEXTPRINTF“DSSSSD2FNN“,PTRNUM,PTRBNAME,PTRWNAME,PTRPRESS,PTRSORT,PTRTIME,PTRPRICEPRINTF“N“/删除图书信息VOIDDELETEBOOKSTRUCTBOOKHEADINTACHARB,CH1STRUCTBOOKP1,P2FILEFPPRINTF“请输入要删除的图书编号“SCANF“D“,P1HEADIFP1NUMAGETCHARSCANF“C“,GETCHARSWITCHBCASENBREAKCASEYIFFPFOPEN“F1TXT“,“W“NULLPRINTF“FILEOPENERRORN“EXIT0FCLOSEFPPRINTF“文件已清空N“ELSEWHILEP1NUMAP1P1NEXTIFP1NEXTNULLIFP1NUMAP2NEXTNULLPRINTF“是否确定从文件中彻底删除该图书Y/NN“GETCHARSCANF“C“,SWITCHBCASENBREAKCASEYFPRINTHEADPRINTF“删除成功N“GETCHARBREAKELSEPRINTF“没有找到要删除的数据N“GETCHARELSEIFP1HEADHEADP1NEXTPRINTF“是否确定从文件中彻底删除该图书Y/NN“GETCHARSCANF“C“,SWITCHBCASENBREAKCASEYFPRINTHEADPRINTF“删除成功N“GETCHARBREAKELSEP2NEXTP1NEXTPRINTF“是否确定从文件中彻底删除该图书Y/NN“GETCHARSCANF“C“,SWITCHBCASENBREAKCASEYFPRINTHEADPRINTF“删除成功N“GETCHARBREAK/图书查询VOIDSEARCHSTRUCTBOOKHEADINTAPRINTF“N“PRINTF“1按图书编号查询2按图书名查询N“PRINTF“3按图书类别查询4按作者名查询N“PRINTF“5按出版时间查询0退出查询N“PRINTF“N“PRINTF“请输入所选择的编号“SCANF“D“,GETCHARSWITCHACASE0BREAKCASE1NUM_SEARCHHEADBREAKCASE2BNAME_SEARCHHEADBREAKCASE3CLASS_SEARCHHEADBREAKCASE4WNAME_SEARCHHEADBREAKCASE5TIME_SEARCHHEADBREAKDEFAULTPRINTF“您的输入有误N“BREAK/按编号查询图书信息VOIDNUM_SEARCHSTRUCTBOOKHEADINTASTRUCTBOOKPPRINTF“请选择您要查询的图书编号“SCANF“D“,GETCHARPHEADWHILEPNULLIFPNUMABREAKPPNEXTIFPNULLPRINTF“没有找到该编号的图书N“ELSEPRINTF“你所查询的图书信息如下N“PRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格N“PRINTF“DSSSSD2FNN“,PNUM,PBNAME,PWNAME,PPRESS,PSORT,PTIME,PPRICEPRINTF“N“/按图书名查询图书信息VOIDBNAME_SEARCHSTRUCTBOOKHEADCHARA50INTFLAG0STRUCTBOOKPPRINTF“请选择您要查询的图书名“GETSAPHEADWHILEPNULLIFSTRCMPPBNAME,A0FLAG1BREAKPPNEXTIFFLAG0PRINTF“没有找到该图书名的图书N“ELSEPRINTF“你所查询的图书信息如下N“PRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格N“WHILEPNULLIFSTRCMPPBNAME,A0PRINTF“DSSSSD2FNN“,PNUM,PBNAME,PWNAME,PPRESS,PSORT,PTIME,PPRICEPPNEXTPRINTF“N“/按作者名查询图书信息VOIDWNAME_SEARCHSTRUCTBOOKHEADCHARA50INTFLAG0STRUCTBOOKPPRINTF“请选择您要查询的图书作者名“GETSAPHEADWHILEPNULLIFSTRCMPPWNAME,A0FLAG1BREAKPPNEXTIFFLAG0PRINTF“没有找到该图书名的图书N“ELSEPRINTF“你所查询的图书信息如下N“PRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格N“WHILEPNULLIFSTRCMPPWNAME,A0PRINTF“DSSSSD2FNN“,PNUM,PBNAME,PWNAME,PPRESS,PSORT,PTIME,PPRICEFLAG1PPNEXTPRINTF“N“/按图书类别查询图书信息VOIDCLASS_SEARCHSTRUCTBOOKHEADCHARA50INTFLAG0STRUCTBOOKPPRINTF“请选择您要查询的图书类别“GETSAPHEADWHILEPNULLIFSTRCMPPSORT,A0FLAG1BREAKPPNEXTIFFLAG0PRINTF“没有找到该图书名的图书N“ELSEPRINTF“你所查询的图书信息如下N“PRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格N“WHILEPNULLIFSTRCMPPSORT,A0PRINTF“DSSSSD2FNN“,PNUM,PBNAME,PWNAME,PPRESS,PSORT,PTIME,PPRICEFLAG1PPNEXTPRINTF“N“/按图书出版时间查询图书信息VOIDTIME_SEARCHSTRUCTBOOKHEADINTA,FLAG0STRUCTBOOKPPRINTF“请选择您要查询的图书出版时间“SCANF“D“,GETCHARPHEADWHILEPNULLIFPTIMEAFLAG1BREAKPPNEXTIFFLAG0PRINTF“没有找到该图书名的图书N“ELSEPRINTF“你所查询的图书信息如下N“PRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格N“WHILEPNULLIFPTIMEAPRINTF“DSSSSD2FNN“,PNUM,PBNAME,PWNAME,PPRESS,PSORT,PTIME,PPRICEFLAG1PPNEXTPRINTF“N“/修改图书信息VOIDREVISESTRUCTBOOKHEADINTA,BCHARCSTRUCTBOOKPPRINTF“请输入要修改的图书编号“SCANF“D“,PHEADWHILEPNULLIFPNUMABREAKPPNEXTIFPNULLPRINTF“没有找到该编号的图书N“GETCHARELSEPRINTF“N“PRINTF“1编号2图书名3作者名N“PRINTF“4出版社5类别6出版时间N“PRINTF“7价格8修改全部0放弃修改N“PRINTF“N“PRINTF“请选择你要修改的信息编号“SCANF“D“,GETCHARSWITCHBCASE1PRINTF“请输入新编号“SCANF“D“,PRINTF“修改成功N“GETCHARBREAKCASE2PRINTF“请输入新图书名“GETSPBNAMEPRINTF“修改成功N“BREAKCASE3PRINTF“请输入新作者名“GETSPWNAMEPRINTF“修改成功N“BREAKCASE4PRINTF“请输入新出版社“GETSPPRESSPRINTF“修改成功N“BREAKCASE5PRINTF“请输入新类别“GETSPSORTPRINTF“修改成功N“BREAKCASE6PRINTF“请输入新出版时间“SCANF“D“,PRINTF“修改成功N“GETCHARBREAKCASE7PRINTF“请输入新价格“SCANF“F“,PRINTF“修改成功N“GETCHARBREAKCASE8PRINTF“请输入新图书编号“SCANF“D“,PRINTF“请输入新图书名“SCANF“S“,PBNAMEGETCHARPRINTF“请输入新作者名“SCANF“S“,PWNAMEGETCHARPRINTF“请输入新出版社“SCANF“S“,PPRESSGETCHARPRINTF“请输入新类别“SCANF“S“,PSORTGETCHARPRINTF“请输入新出版时间“SCANF“D“,GETCHARPRINTF“请输入新价格“SCANF“F“,GETCHARPRINTF“修改成功N“GETCHARBREAKCASE0BREAKDEFAULTPRINTF“您的输入有误N“BREAKPRINTF“是否将修改后的信息保存到文件中Y/NN“SCANF“C“,GETCHARSWITCHCCASENBREAKCASEYFPRINTHEADPRINTF“保存成功N“GETCHARBREAK/图书排序VOIDSORT_BOOKSTRUCTBOOKHEADINTAPRINTF“N“PRINTF“1按图书编号排序2按出版时间排序N“PRINTF“3按图书价格排序4按图书名排序N“PRINTF“5按作者名排序0取消排序操作N“PRINTF“N“PRINTF“请输入您选择的编号“SCANF“D“,GETCHARSWITCHACASE0BREAKCASE1NUM_SORTHEADBREAKCASE2TIME_SORTHEADBREAKCASE3PRICE_SORTHEADBREAKCASE4BNAME_SORTHEADBREAKCASE5WNAME_SORTHEADBREAKDEFAULTPRINTF“您的输入有误N“BREAK/按图书编号排序VOIDNUM_SORTSTRUCTBOOKHEADSTRUCTBOOKA1000,P,P1,TEMPINTI,K,INDEX,N0CHARBP1HEADFORPHEADPPPNEXTNFORI0INEXTFORK0KNUMNUMINDEXITEMPAINDEXAINDEXAKAKTEMPPRINTF“排序成功N“PRINTF“是否显示排序结果Y/NN“SCANF“S“,GETCHARSWITCHBCASENBREAKCASEYPRINTF“N“PRINTF“编号图书名作者名出版社类别出版时间价格N“FORI0INUM,PBNAME,

温馨提示

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

评论

0/150

提交评论