图书管理系统课程设计报告摘要:图书馆管理信息系统是典型的计算机信息管理系统,在编程环境下实现的。本系统提供7个功能模块,分别是管理员登录系统模、菜单选择模块、图书信息录入功能模块、图书信息浏览功能模块,图书信息查询功能模块、图书信息删除功能模块、以及图书信息修改功能模块。这7个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。图书馆管理系统是一个供内部人员使用的系统。而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。论文将全面介绍所设计的图书馆管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计,*终使用C语言完成系统开发。关键词:图书馆管理系统,C语言目录**章课题分析1.1需求分析图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。一个典型的图书管理系统应该能够管理所有的图书种类,图书信息以及提供各种图书信息的检索查询功能。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。
管理员可以方便进行图书信息管理。包括图书信息以及图书分类的添加,修改,删除。功能分析根据以上需求分析,我所设计的图书馆管理系统有7个功能模块,分别是管理员登录系统模块、菜单选择模块、图书信息录入功能模块、图书信息浏览功能模块,图书信息查询功能模块、图书信息删除功能模块、以及图书信息修改功能模块。管理员登录系统模块:该模块主要负责管理员选择是否登陆以及输入账号和密码。菜单选择模块:该模块主要负责提示选择需要进行的操作。图书信息录入功能模块:该模块主要负责录入图书信息,如图书分类号、图书名称、作者、出版社等信息。图书信息浏览功能模块:该模块主要负责浏览录入的信息。图书信息查询功能模块:该模块主要负责通过分类号查询图书信息。图书信息删除功能模块:该模块主要负责通过分类号删除图书信息。图书信息修改功能模块:该模块主要负责通过分类号修改图书信息。退出系统时,图书信息自动保存到文件中。1.3设计思路图书管理系统是一个内部人员使用的系统,只有图书管理员才能使用,进行图书的录入,浏览,查询,删除等操作。所以应该把图书信息用结构体形式输入,在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,*后在退出系统子程序中调用保存文件程序,实现录入信息的存储。
需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。1.4开发环境C-Free是一款C/C++集成开发环境(IDE)。目前有两个版本,收费的专业版和免费的C-Free4.0标准版。C-Free中集成了C/C++代码解析器,能够实时解析代码,并且在编写的过程中给出智能的提示。C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。*近25语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。第二章总体设计2.1总体工作原理根据题目要求,可以将系统分为六个模块:图书信息的删除和修改。各个模块独立完成功能,在主程序里面用语句完成整个系统功能。
2.2系统框图第三章详细设计3.1管理员登录模块[20];[20];name[20]="";[20]="";FILE*fp;booka={"\0","\0","\0","\0","\0","\0",0.0,0}if((".txt",0))//如果文件不存在,则初始化文件格式if((fp=fopen(".txt","w"))==NULL)("!");exit(0);else//如果文件存在,则打开文件追加信息if((fp=fopen(".txt","a+"))==NULL)("!");exit(0);("\n\n\t请输入管理员帐号:");scanf("%s",name);("\n\n\t请输入密码:");scanf("%s",);doif(((name0,name)==0)&&((,)==0))menu();("输入帐号或密码错误,请重新输入!");("\n\n\t请输入管理员帐号:");scanf("%s",name);("\n\n\t请输入密码:");scanf("%s",);(fp);}whil流程图:3.2菜单选择模块("\t====================欢迎进入图书馆系统!====================("\t\t*****************1.录入图书信息********************\n");("\t\t*****************2.浏览图书信息********************\n");("\t\t*****************3.查找图书信息********************\n");("\t\t*****************4.删除图书信息********************\n");("\t\t*****************5.修改图书信息********************\n");("\t\t********************6.退出*************************\n");("\t\t*********选择那一项,请按1、2、3、4、5、6**********\n");流程图:3.3图书信息录入模块;booka={"\0","\0","\0","\0","\0","\0",0.0,0}("请输入图书信息\n");("图书分类号书名作者出版社出版时间状态价格数量\n"); scanf("%s%s%s%s%s%s%lf %d",temp.num,temp.name,temp.,temp.press,temp.ti me,temp.,&temp.pri ce,&t emp.count); data.(temp); pri ntf("插入图书信息成功!\n"); ("图书分类号书名作者出版社出版时间状态价格数量\n"); data.size();i++) data.at(i);pri ntf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%- 4d\n",a.num,a.name,a.,a.press,a.ti me,a.,a.pri ce,a.count); 流程图:3.4 图书信息浏览模块 voi ("图书分类号书名作者出版社出版时间状态价格数量\n"); data.size();i++) data.at(i);pri ntf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%- 4d\n",a.num,a.name,a.,a.press,a.ti me,a.,a.pri ce,a.count); 流程图:3.5 图书信息查询模块 voi [15]; pri ntf("请输入所要查找图书的分类号:"); scanf("%s",num); pri ntf("图书分类号书名作者出版社出版时间状态价格数量\n"); 0;idata.size();i++) ((data.at(i).num,num)==0)pri ntf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%- 4d\n",data.at(i).num,data.at(i).name,data.at(i).,data.at(i).press,data.at(i).ti me,data.a t(i).,data.at(i).pri ce,data.at(i).count); 流程图:3.6 图书信息删除模块 voi () [15]; :: iter; pri ntf("请输入所要删除图书的中图分类号:"); scanf("%s",num); int ;idata.size();i++) k++,iter++);data.erase(iter); 流程图3.7 图书信息修改模块 voi ("请输入所要修改图书的分类号:"); char num[15]; scanf("%s",num); 0;idata.size();i++) ("请输入图书信息,即将记录修改为:\n"); pri ntf("图书分类号书名作者出版社出版时间状态价格数量\n"); scanf("%s %lf%d",data.at(i).num,data.at(i).name,data.at(i).,data.at(i).press,data.at(i).ti me,data.at( i).,&data.at(i).pri ce,&data.at(i).count);