语言课程设计报告课程名称:计算机综合课程设计土木工程学院设计题目:图书信息管理系统设计指导教师:20**09月05课程报告任务书题目图书信息管理系统图书信息包括:登录号,书名,作者名,分类号,出版单位,出版时间,价格等。试设计一图书信息管理系统,使之提供以下功能:查询和排序功能:按书名查找;按作者名查找;采用模块化程序设计;鼓励可视化编程;源程序中应有足够的注释;学生可自行增加新功能模块(视情况可另外加分);必须上机调试通过;注重算法运用,优化存储效率与运算效率;需提交源程序(含有注释)及相关文件(数据或数据库文件);(cpp文件、txt或dat文件等)提交设计报告书评定教师摘要:随着当今社会发展,信息化水平逐步提高,对图书管理有了新的要求,因此,编写一个信息管理系统是十分必要的。为了满足图书管理的要求,通过计算机技术给图书管理人员带来便利。使用语言编写图书管理系统,其中主要运用了结构化设计与链表结构。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括图书信息录入、浏览、排序、删除和修改等功能。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理。
图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间、价格等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、删除和修改等基本操作。关键字:图书信息管理语言链表结构目录1.设计的目的与要求-------------------------------------------------42.分析-------------------------------------------------------------43.总体设计---------------------------------------------------------54.主要功能算法-----------------------------------------------------55.完整程序及注释---------------------------------------------------86.调试分析--------------------------------------------------------247.总结------------------------------------------------------------288.答辩记录--------------------------------------------------------299.教师意见--------------------------------------------------------29设计的目的与要求1.1设计的目的使用链表和结构等结构数据,编写一语言程序,实现图书信息管理的功能,通过此系统可对图书馆图书信息进行管理和维护等操作,给图书管理人员带来便利。
1.2设计的要求图书信息包括:登录号,书名,作者名,分类号,出版单位,出版时间,价格等。试设计一图书信息管理系统,使之提供以下功能:系统以菜单方式工作(2)图书信息录入功能(图书信息用文本文件形式保存)(3)图书信息浏览功能(4)查询和排序功能:按书名查找按作者名查找(5)图书信息删除功能(6)图书信息修改功能2.分析根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现图书信息录入,浏览,查询,排序,删除和修改等功能的操作,所以需要建立相应的函数模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。3.总体设计根据题目要求,我们经过分析和讨论后,决定将此系统分为十个功能模块:退出系统功能模块4.主要功能的算法4.1录入函数算法4.2按书名查找算法(按作者名与此类似)4.3删除图书信息算法(修改与此类似)4.4显示函数算法5.完整程序及注释#.h/*引用库函数*/#.....nfo//定义图书信息的结构体变量并声明新的类型名[10];/*登录号*/[20];/*书名*/[20];/*作者名*/[10];/*分类名*/[20];/*出版单位*/[20];/*出版日期*/[10];/*价格*/*next;},*;=0;//全局变量的定义=NULL;//头指针为空FILE*fp;//指向文件的指针/*声明函数*/();/*主菜单函数*/();/*录入函数*/();/*显示函数*/();/*按书名查找函数*/();/*按作者名查找函数*/();//删除函数();//修改函数();//退出函数()//主函数case1:(&Head);break;case2:Scan(Head);break;case3:(Head);break;case4:(Head);break;case5:(&Head);break;Case6:(Head);break;case0:Exit();:('\a');请按任意键进入系统菜单!getch();("cls");("\t\t********************MENU*********************\n");//菜单("\t\t录入图书信息\n");("\t\t浏览图书信息\n");("\t\t按书名查询图书信息\n");("\t\t按作者名查询图书信息\n");("\t\t删除图书信息\n");("\t\t 修改图书信息\n");("\t\t 退出\n");("\t\t***********************************************\n"); do ("\n\t请选择您所需要的功能:"); scanf("%d",&a); ( Head)//录入图书信息函数 [10] ("\n\t\t****************请输入图书信息 交互输入*/("\n\t\t 请输入登录号:"); scanf("%s",AN); Head;//检测登录号是否重复while(p!=NULL) ("已经有相同的登录号:");;} else {q=p;p=p-next;} r=()(());r-next=NULL; if(r==NULL) {("分配空间失败!");;} Head=r;else {q-next=r;} (r-AN,AN); ("\n\t\t 输入书名:"); //录入图书信息 scanf("%s",r-name); (); ("\n\t\t 输入作者名:"); scanf("%s",r-); ();