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

下载本文档

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

文档简介

东南大学C语言课程设计报告课程名称计算机综合课程设计学院土木工程学院设计题目图书信息管理系统设计级别A级学生姓名学号同组学生学号指导教师2012年09月05日课程报告任务书题目图书信息管理系统主要内容图书信息包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等。试设计一图书信息管理系统,使之提供以下功能1系统以菜单方式工作;2图书信息录入功能(图书信息用文本文件形式保存);3图书信息浏览功能;4查询和排序功能按书名查找;按作者名查找;5图书信息删除功能;6图书信息修改功能。任务要求采用模块化程序设计;鼓励可视化编程;源程序中应有足够的注释;学生可自行增加新功能模块(视情况可另外加分);必须上机调试通过;注重算法运用,优化存储效率与运算效率;需提交源程序含有注释及相关文件数据或数据库文件;CPP文件、TXT或DAT文件等提交设计报告书成绩评定评定教师摘要随着当今社会发展,信息化水平逐步提高,对图书管理有了新的要求,因此,编写一个信息管理系统是十分必要的。为了满足图书管理的要求,通过计算机技术给图书管理人员带来便利。使用C语言编写图书管理系统,其中主要运用了结构化设计与链表结构。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括图书信息录入、浏览、排序、删除和修改等功能。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间、价格等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、删除和修改等基本操作。关键字图书信息管理C语言链表结构目录1设计的目的与要求42分析43总体设计54主要功能算法55完整程序及注释86调试分析247总结288答辩记录299教师意见291设计的目的与要求11设计的目的使用链表和结构等结构数据,编写一C语言程序,实现图书信息管理的功能,通过此系统可对图书馆图书信息进行管理和维护等操作,给图书管理人员带来便利。12设计的要求图书信息包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等。试设计一图书信息管理系统,使之提供以下功能(1)系统以菜单方式工作(2)图书信息录入功能(图书信息用文本文件形式保存)(3)图书信息浏览功能(4)查询和排序功能按书名查找按作者名查找(5)图书信息删除功能(6)图书信息修改功能2分析根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,排序,删除和修改等功能的操作,所以需要建立相应的函数模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。3总体设计根据题目要求,我们经过分析和讨论后,决定将此系统分为十个功能模块(1)菜单选择模块(2)图书信息录入功能模块(3)图书信息浏览功能模块(4)图书信息查询功能模块(5)图书信息删除功能模块(6)图书信息修改功能模块(7)退出系统功能模块4主要功能的算法41录入函数算法42按书名查找算法(按作者名与此类似)43删除图书信息算法(修改与此类似)44显示函数算法5完整程序及注释INCLUDE/引用库函数/INCLUDEINCLUDEINCLUDEINCLUDEINCLUDETYPEDEFSTRUCTBOOK_INFO/定义图书信息的结构体变量并声明新的类型名CHARAN10/登录号/CHARNAME20/书名/CHARAUTHOR20/作者名/CHARCLC10/分类名/CHARCOMPANY20/出版单位/CHARDATE20/出版日期/CHARPRICE10/价格/STRUCTBOOK_INFONEXTBOOKLIST,POINTERINTNUM0/全局变量的定义POINTERHEADNULL/头指针为空FILEFP/指向文件的指针/声明函数/INTMENU_SELECT/主菜单函数/VOIDINSERTPOINTERHEAD/录入函数/VOIDSCANPOINTERHEAD/显示函数/VOIDSEARCH_NAMEPOINTERHEAD/按书名查找函数/VOIDSEARCH_AUTHORPOINTERHEAD/按作者名查找函数/VOIDDELETEPOINTERHEAD/删除函数VOIDUPDATEPOINTERHEAD/修改函数VOIDEXIT/退出函数VOIDMAIN/主函数SYSTEM“CLS“/运行前清屏/FORSWITCHMENU_SELECTCASE1INSERTBREAKCASE2SCANHEADBREAKCASE3SEARCH_NAMEHEADBREAKCASE4SEARCH_AUTHORHEADBREAKCASE5DELETEBREAKCASE6UPDATEHEADBREAKCASE0EXITDEFAULTPUTCHARAMENU_SELECT/主菜单函数INTAPRINTF“NTTT欢迎使用图书信息管理系统NNNNNTT请按任意键进入系统菜单N“GETCHSYSTEM“CLS“PRINTF“TTMENUN“/主菜单PRINTF“TT1录入图书信息N“PRINTF“TT2浏览图书信息N“PRINTF“TT3按书名查询图书信息N“PRINTF“TT4按作者名查询图书信息N“PRINTF“TT5删除图书信息N“PRINTF“TT7修改图书信息N“PRINTF“TT0退出N“PRINTF“TTN“DOPRINTF“NT请选择您所需要的功能“SCANF“D“,WHILEA6RETURNAVOIDINSERTPOINTERHEAD/录入图书信息函数CHARAN10CHARCPOINTERP,Q,RPRINTF“NTT请输入图书信息N“/交互输入/PRINTF“NTT请输入登录号“SCANF“S“,ANPQHEAD/检测登录号是否重复WHILEPNULLIFSTRCMPPAN,AN0PRINTF“已经有相同的登录号“RETURNELSEQPPPNEXTRPOINTERMALLOCSIZEOFBOOKLISTRNEXTNULLIFRNULLPRINTF“分配空间失败“RETURNIFQNULLHEADRELSEQNEXTRSTRCPYRAN,ANPRINTF“NTT输入书名“/录入图书信息SCANF“S“,RNAMEGETCHARPRINTF“NTT输入作者名“SCANF“S“,RAUTHORGETCHARPRINTF“NTT输入分类号“SCANF“S“,RCLCGETCHARPRINTF“NTT输入出版单位“SCANF“S“,RCOMPANYGETCHARPRINTF“NTT输入出版日期“GETSRDATEPRINTF“NTT输入价格“SCANF“S“,RPRICEDOPRINTF“NTT录入成功“NUMPRINTF“选择是否继续录入Y/N“/连续录入图书信息/GETCHARSCANF“C“,IFCY|CYINSERTHEADELSEIFCN|CNRETURNELSEPRINTF“NTT输入错误,请重新输入“WHILECYVOIDSCANPOINTERHEAD/显示图书信息函数POINTERPPHEADIFPNULLPRINTF“记录为空“/检测是否有图书信息ELSEPRINTF“NT共有D条记录“,NUMWHILEPNULLPRINTF“NNTT登录号10S“,PAN/显示图书信息PRINTF“NTT书名20S“,PNAMEPRINTF“NTT作者名20S“,PAUTHORPRINTF“NTT分类号10S“,PCLCPRINTF“NTT出版单位20S“,PCOMPANYPRINTF“NTT出版时间20S“,PDATEPRINTF“NTT价格10S“,PPRICEPPNEXTPRINTF“NTT请按任意键回到主菜单“RETURNVOIDSEARCH_NAMEPOINTERHEAD/按书名查找函数INTFLAG0/标记变量的初值CHARNAME10POINTERPPRINTF“N请输入需要查询的书名“SCANF“S“,NAMEPRINTF“NTT以下是您查找的信息“PHEADWHILEPNULLIFSTRCMPPNAME,NAME0/查找符合的图书PRINTF“NT登录号10S“,PANPRINTF“NT书名20S“,PNAMEPRINTF“NT作者名20S“,PAUTHORPRINTF“NT分类号10S“,PCLCPRINTF“NT出版单位20S“,PCOMPANYPRINTF“NT出版时间20S“,PDATEPRINTF“NT价格10S“,PPRICEFLAG1/找到标记变量设为1PPNEXT/指针走到下一个节点ELSEPPNEXTIFFLAG0PRINTF“NTT没有相同书名纪录“PRINTF“NTT请按任意键返回主菜单“GETCHARVOIDSEARCH_AUTHORPOINTERHEAD/按作者名查找函数INTFLAG0CHARAUTHOR10POINTERPPRINTF“N请输入需要查询的作者名“SCANF“S“,AUTHORPRINTF“NTT以下是您查找的信息“PHEADWHILEPNULL/查找符合的图书IFSTRCMPPAUTHOR,AUTHOR0/找到图书显示信息/PRINTF“NT登录号10S“,PANPRINTF“NT书名20S“,PNAMEPRINTF“NT作者名20S“,PAUTHORPRINTF“NT分类号10S“,PCLCPRINTF“NT出版单位20S“,PCOMPANYPRINTF“NT出版时间20S“,PDATEPRINTF“NT价格10S“,PPRICEFLAG1PPNEXTELSEPPNEXTIFFLAG0PRINTF“NTT没有相同作者名纪录“PRINTF“NTT请按任意键返回主菜单“GETCHVOIDDELETEPOINTERHEAD/删除函数/INTFLAG1CHARAN10CHARC,ZPOINTERP,QPRINTF“NTT图书删除N“PRINTF“T请输入要删除图书的信息的登录号“SCANF“S“,ANPQHEAD/查找符合条件的图书/WHILEPNULL/显示即将要删除的图书的信息PRINTF“TN书名20S“,PNAMEPRINTF“TN作者名20S“,PAUTHORPRINTF“TN分类号10S“,PCLCPRINTF“TN出版单位20S“,PCOMPANYPRINTF“TN出版时间20S“,PDATEPRINTF“TN价格10SN“,PPRICEPRINTF“确定删除确定请输Y,其它则不删除“/询问是否删除GETCHARSCANF“C“,IFZY|ZYIFPHEADHEADPNEXTFREEP/删除图书信息/ELSEQNEXTPNEXTFREEPFLAG0ELSEPRINTF“图书信息未删除,返回主菜单。“RETURNELSEQPPPNEXT/指针走到下一个节点/PRINTF“TT删除成功N“IFFLAGPRINTF“T没有找到可以删除的数据“DOPRINTF“选择是否继续删除Y/N“/连续删除图书信息/GETCHARSCANF“C“,IFCY|CYDELETEHEAD/继续删除/ELSEIFCN|CNRETURN/不删除返回主菜单/ELSEPRINTF“NTT输入错误,请重新输入“WHILECYVOIDUPDATEPOINTERHEAD/图书信息修改函数/INTFLAG1CHARAN10CHARCPOINTERPPRINTF“NTT图书信息修改N“PRINTF“T请输入要修改的图书的登录号“SCANF“S“,AN/查找符合条件的图书/PHEADWHILEPNULL/修改图书信息/SCANF“S“,PANPRINTF“NTT输入书名“SCANF“S“,PNAMEGETCHARPRINTF“NTT输入作者名“SCANF“S“,PAUTHORGETCHARPRINTF“NTT输入分类号“SCANF“S“,PCLCGETCHARPRINTF“NTT输入出版单位“SCANF“S“,PCOMPANYGETCHARPRINTF“NTT输入出版日期“GETSPDATEPRINTF“NTT输入价格“SCANF“S“,PPRICEFLAG0PRINTF“修改成功N“ELSEPPNEXT/指针走到下一个节点/IFFLAGPRINTF“NTT没有该图书记录“DOPRINTF“选择是否继续修改Y/N“/连续修改图书信息/GETCHARSCANF“C“,IFCY|CYUPDATEHEAD/继续修改/ELSEIFCN|CNRETURN/不修改,返回菜单ELSEPRINTF“NTT输入错误,请重新输入“WHILECY/输入错误则继续询问VOIDEXIT/退出程序的函数/CHARCDOPRINTF“NTT退出中是否保存到文件Y/N“/询问是否保存图书信息,防止丢失/GETCHARSCANF“C“,IFCY|CYSAVEEXIT0ELSEIFCN|CNEXIT0ELSEPRINTF“NTT输入错误,请重新输入“WHILECY/错误则继续询问6调试分析主菜单界面录

温馨提示

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

评论

0/150

提交评论