c语言图书管理实验报告,图书管理系统c语言程序设计实验报告

C语言程序设计实验报告系别专业班级姓名学号时间实验题目图书信息管理系统一、实验目的(1)熟练掌握C语言的相关操作。(2)综合应用C语言的知识,独立完成一个完整的系统,提高编程能力,体会软件程序的开发过程。二、实验内容(1)运用数组、循环、文件等编辑一个图书管理系统,其中具有输入、修改、删除、添加、查询、排序、统计、保存、读取模块。(2)执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。(3)执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。(4)请老师检查,向老师演练此程序,并能回答老师提出的相关问题。三、需求分析(1)该图书信息管理系统,使之能够完成图书信息的输入、打印、修改、删除、添加、查询、排序、统计、保存、读取、退出。每个模块的功能如下1、输入模块能够按照图书号的先后顺序完成图书号、书名、出版社、出版日期、作者、所在书库、价格。2、打印模块能输出刚刚输入的信息。3、修改模块中输入要修改相应的图书号后,选择需要须改的项目就能完成修改操作。4、删除模块中输入相应的图书号后可完成删除操作。5、添加模块能完成添加新书的操作。6、查询模块能够按图书名称查询该书的全部信息。7、排序模块能按照图书的价格进行排行。8、统计模块能根据输入的图书名统计该书的种数。9、保存模块能够将所有图书的信息保存。10、读取模块能读取已保存的图书信息并显示。11、退出模块可直接退出此程序,结束操作。(2)创建该图书信息管理系统目的就是能够对图书信息进行输入、打印、修改、删除、添加、查询、排序、统计、保存、读取、退出等功能。(3)该图书信息管理系统是在VC中文简体环境下运行。该系统要测试的数据如下输入模块第1种图书图书号图书名称出版社出版日期(年月日)作者所在书库价格01履历表人文200887几米文艺23第2种图书图书号图书名称出版社出版日期(年月日)作者所在书库价格02沙漏湖南200765饶雪漫文艺22第3种图书图书号图书名称出版社出版日期(年月日)作者所在书库价格03世界是平的科技2003112托马斯经济56第4种图书图书号图书名称出版社出版日期(年月日)作者所在书库价格04天使与魔鬼人文200798丹布朗文艺29第5种图书图书号图书名称出版社出版日期(年月日)作者所在书库价格05向左走向右走人文2005623几米文艺26修改模块(修改天使与魔鬼的价格)(输入)04(修改图书号)(输入)6(修改价格的选项)(输入)(修改后的分数)插入模块(插入06傲慢与偏见))(输入图书号)06(输入书名)傲慢与偏见(输入出版社)人文(输入出版日期)2006521(输入作者)简奥斯丁(输入所在书库)文艺(输入价格)24查询模块(查询沙漏的基本信息)沙漏(输入书名即可查询)删除模块(删除世界是平的)03(输入图书号即可删除)排序模块(输入排序模块的执行键即可完成)输出模块(输入输出模块的执行键即可完成)退出模块(输入)0四、概要设计(1)、主函数结构图主函数TI输入模块打印模块修改模块删除模块添加模块查询模块排序模块统计模块保存模块读取模块退出系统2)、模块功能详细说明A、输入模块它可以通过循环完成对全部图书基本信息包括图书号、书名、出版社、出版日期、作者、所在书库、价格的一次性录入,其中书名、出版社定义为10个字节的字符型,作者、所在书库定义为20个字节的字符型图书号和价格则定义为整型。B、打印模块输出所有的图书信息。C、修改模块在输入要修改图书的相应的序号后,系统便开始查找该图书号,如果存在该图书号,只要选择17选项可以分别完成对图书基本信息中图书名称、出版社、出版日期、作者、所在书库、价格的修改及退出。D、删除模块输入图书号即可完成删除该书信息的操作。E、添加模块输入一个图书的全部信息后,该程序会按照书号由小到大的顺序查找到相应的位置,并把输入该图书的全部信息插入到相关位置。F、查询模块此模块按书名进行查询,它也是通过指针和链表进行推移查找,如果找到则显示该图书的全部信息,否则,将输出没有查到该图书信息,以便给以提示G、排序模块该模块利用循环按图书价格由低到高进行排序并显示排序结果。H、统计模块该模块根据输入的图书名统计该图书的本数,若没有相应信息则显示有0本该书。I、保存模块该模块将已输入的图书信息保存。J、读取模块该模块将通过打开指定的文件读取已有的信息。H、退出模块可直接退出此程序,结束操作。五、详细设计及运行结果1函数之间的相互调用主函数调用输入函数调用打印函数调用修改函数调用删除函数调用添加函数调用排序函数调用查询函数调用统计函数调用保存函数调用读取函数结束结束主主调用输入函数调用打印函数调用修改函数调用删除函数调用添加函数调用排序函数调用查询函数调用统计函数调用保存函数调用读取函数结束结束结束结束结束结束结束结束结束结束结束结束结束结束结束主主调用输入函数调用打印函数调用修改函数调用删除函数调用添加函数调用排序函数调用查询函数调用统计函数调用保存函数调用读取函数结束结束结束结束结束结束结束结束结束主主调用输入函数调用打印函数调用修改函数调用删除函数调用添加函数调用排序函数调用查询函数调用统计函数调用保存函数调用读取函数结束结束结束结束结束结束结束结束(2)该图书信息管理系统的源代码。INCLUDE“STDIOH“INCLUDE“STRINGH“INCLUDE“STDLIBH“INCLUDE“CONIOH“DEFINEMAX10DEFINEN5/日期结构体类型/TYPEDEFSTRUCT{INTYEARINTMONTHINTDAY}DATE/图书结构体类型/TYPEDEFSTRUCT{INTNUM/图书编号/CHARNAME10/图书名称/CHARPRESS10/出版社/DATEPRO_TIME/出版日期/FLOATPRICE/价格/CHARAUTHOR20/作者/CHARADD20/所在书库/}BOOK/保存信息/VOIDSAVE_FILEBOOKBOOKS,INTSUM{FILEFPINTICHARFILENAME40//CLRSCRPRINTF“\NINPUTSAVEFILENAME“SCANF“S“,FILENAMEIFFPFOPENFILENAME,“W“NULL{PRINTF“\NSFILENOTOPENPRESSANYKEYEXITSYSTEM“GETCHEXIT0}FORI0IBOOKSJPRICEKJIFKI{TBOOKSIBOOKSIBOOKSKBOOKSKT}}OUTPUTBOOKS,//BIOSKEY0FLUSHALL}/统计信息/VOIDCOUNTBOOKBOOKS,INTSUM{INTI,T,J,FLAGCHARCOUNT_NAME10CHARCHOICEDO{SYSTEM“CLS“T0,J0PRINTF“\N请输入要统计的图书名称“SCANF“S“,COUNT_NAMEFORI0ISUMI{IFSTRCMPBOOKSINAME,COUNT_NAME0TELSEJ}PRINTF“该种图书共有D本“,TIFJSUM{PRINTF“\N该种图书不存在“//BIOSKEY0FLUSHALL}PRINTF“\N\N继续统计吗Y/N“FLUSHALLCHOICEGETCHARIFCHOICE'Y'||CHOICE'Y'{FLAG1PRINTF“\N继续\N“}ELSEFLAG0}WHILEFLAG1PRINTF“\N按任意键返回主菜单“GETCHAR//BIOSKEY0FLUSHALL}/图书信息管理主程序/VOIDMAIN{BOOKBOOKSMAXINTCHOICE,SUMDO{SYSTEM“CLS“PRINTF“\N\N\N图书管理系统\N\N“PRINTF“1输入图书信息\N\N“PRINTF“2打印图书信息\N\N“PRINTF“3修改图书信息\N\N“PRINTF“4删除图书信息\N\N“PRINTF“5添加图书信息\N\N“PRINTF“6查询图书信息\N\N“PRINTF“7图书排行信息\N\N“PRINTF“8统计图书信息\N\N“PRINTF“9保存图书信息\N\N“PRINTF“10读取图书信息\N\N“PRINTF“0退出系统\N\N“PRINTF“请选择010“SCANF“D“,SWITCHCHOICE{CASE1SUMINPUTBOOKSBREAKCASE2OUTPUTBOOKS,BREAKCASE3MODIFYBOOKS,SUMBREAKCASE4SUMDELBOOKS,SUMBREAKCASE5SUMAPPENDBOOKS,SUMBREAKCASE6INQUIREBOOKS,SUMBREAKCASE7SORTBOOKS,SUMBREAKCASE8COUNTBOOKS,SUMBREAKCASE9SAVE_FILEBOOKS,SUMBREAKCASE10WRITE_FILEBOOKS,BREAKCASE0BREAKDEFAULTBREAK}}WHILECHOICE0SAVE_FILEBOOKS,SUM}六、调试情况,设计技巧及体会此次课程设计让我对C语言有了新的认识,编程的过程是辛苦的,即使一个微小的错误对程序而言都将无法顺利执行。同时在编程的过程中需要不断的看书,弄明白一些知识。再则,在实习中,我深刻体会遇到困难要及时向老师寻求帮助,同时也明白学好C语言的重要性。C语言程序对我们来说比较难,在匆忙的学习中更是难上加难,但在老师的帮助下我终于把一直困扰我的错误改正,最后终于做好了自己的程序。

展开阅读全文

你可能感兴趣的:(c语言图书管理实验报告)