图书管理系统课程设计报告(00002).docx
《图书管理系统课程设计报告(00002).docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计报告(00002).docx(16页珍藏版)》请在咨信网上搜索。
图书管理系统课程设计报告 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 16 图书管理系统课程设计报告 摘要: 图书馆管理信息系统是典型的计算机信息管理系统,在C-Free 5.0编程环境下实现的。本系统提供7个功能模块,分别是管理员登录系统模、菜单选择模块、图书信息录入功能模块、图书信息浏览功能模块,图书信息查询功能模块、图书信息删除功能模块、以及图书信息修改功能模块。这7个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。 图书馆管理系统是一个供内部人员使用的系统。而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。 论文将全面介绍所设计的图书馆管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计,最终使用C语言完成系统开发。 关键词:图书馆管理系统,C语言 目录 第一章 课题分析 1 1.1 需求分析 1 1.2 功能分析 2 1.3 设计思路 2 1.4 开发环境 4 第二章 总体设计 5 2.1 总体工作原理 5 2.2 系统框图 5 第三章 详细设计 10 3.1 管理员登录模块 11 3.2 菜单选择模块 15 3.3 图书信息录入模块 15 3.4 图书信息浏览模块 17 3.5 图书信息查询模块 21 3.6 图书信息删除模块 24 3.7 图书信息修改模块 27 3.8 主程序 27 第四章 程序调试及运行结果 35 4.1程序调试 35 4.2 运行结果 35 设计总结 37 参考文献 38 第一章 课题分析 1.1 需求分析 图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。一个典型的图书管理系统应该能够管理所有的图书种类,图书信息以及提供各种图书信息的检索查询功能。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。 管理员可以方便进行图书信息管理。包括图书信息以及图书分类的添加,修改,删除。 1.2 功能分析 根据以上需求分析,我所设计的图书馆管理系统有7个功能模块,分别是管理员登录系统模块、菜单选择模块、图书信息录入功能模块、图书信息浏览功能模块,图书信息查询功能模块、图书信息删除功能模块、以及图书信息修改功能模块。 管理员登录系统模块:该模块主要负责管理员选择是否登陆以及输入账号和密码。 菜单选择模块:该模块主要负责提示选择需要进行的操作。 图书信息录入功能模块:该模块主要负责录入图书信息,如图书分类号、图书名称、作者、出版社等信息。 图书信息浏览功能模块:该模块主要负责浏览录入的信息。 图书信息查询功能模块:该模块主要负责通过分类号查询图书信息。 图书信息删除功能模块:该模块主要负责通过分类号删除图书信息。 图书信息修改功能模块:该模块主要负责通过分类号修改图书信息。 退出系统时,图书信息自动保存到bookinf.txt文件中。 1.3 设计思路 图书管理系统是一个内部人员使用的系统,只有图书管理员才能使用,进行图书的录入,浏览,查询,删除等操作。所以应该把图书信息用结构体形式输入,在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,最后在退出系统子程序中调用保存文件程序,实现录入信息的存储。需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。 1.4 开发环境 C-Free是一款C/C++集成开发环境(IDE)。目前有两个版本,收费的C-Free 5.0 专业版和免费的C-Free 4.0 标准版。 C-Free中集成了C/C++代码解析器,能够实时解析代码,并且在编写的过程中给出智能的提示。C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。 C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 第二章 总体设计 2.1 总体工作原理 根据题目要求,可以将系统分为六个模块: (1) 管理员登录系统模块。 (2) 菜单选择模块。 (3) 图书信息录入功能模块。 (4) 图书信息浏览功能。 (5) 图书信息查询功能。 (6) 图书信息的删除和修改。 各个模块独立完成功能,在主程序里面用switch语句完成整个系统功能。 2.2 系统框图 管理员登录系统模块 菜单选择模块。 菜单选择模块。 菜单选择模块。 菜单菜单选择模块。 (1) 择模块。 图书信息录入功能模块 图书信息浏览功能模块 图书信息查询功能模块 图书信息的删除功能模块 图书信息管理系统 图书信息的删除功能模块 第三章 详细设计 3.1 管理员登录模块 void index() { char name[20]; char password[20]; // name[20]="elvira"; // password[20]="gssb122213"; FILE *fp; book a={"\0","\0","\0","\0","\0","\0",0.0,0}; if(access("bookinf.txt",0)) //如果文件不存在,则初始化文件格式 { if((fp=fopen("bookinf.txt","w"))==NULL) { printf("file creat failure!"); exit(0); } } else //如果文件存在,则打开文件追加信息 { if((fp=fopen("bookinf.txt","a+"))==NULL) { printf("file open error!"); exit(0); } } printf("\n\n\t请输入管理员帐号:"); scanf("%s",name); printf("\n\n\t请输入密码:"); scanf("%s",password); do { if((strcmp(name0,name)==0)&& (strcmp(password0,password)==0)) { // menu(); break ; } else { printf("输入帐号或密码错误,请重新输入!"); printf("\n\n\t请输入管理员帐号:"); scanf("%s",name); printf("\n\n\t请输入密码:"); scanf("%s",password); } fclose(fp); }while(1); } 流程图:开始 输入管理员帐号和密码 输入正确与否 进入功能菜单页面 结束 N 3.2 菜单选择模块 void menu() { printf("\t====================欢迎进入图书馆系统!=============================\n\n"); printf("\t\t*****************1.录入图书信息********************\n"); printf("\t\t*****************2.浏览图书信息********************\n"); printf("\t\t*****************3.查找图书信息********************\n"); printf("\t\t*****************4.删除图书信息********************\n"); printf("\t\t*****************5.修改图书信息********************\n"); printf("\t\t********************6.退出*************************\n"); printf("\t\t*********选择那一项,请按1、2、3、4、5、6**********\n"); } 流程图: 3.3 图书信息录入模块 void insert() { book temp; book a={"\0","\0","\0","\0","\0","\0",0.0,0}; printf("请输入图书信息\n"); printf("图书分类号 书名 作者 出版社 出版时间 状态 价格 数量\n"); scanf("%s%s%s%s%s%s%lf%d",temp.num,temp.name,temp.author,temp.press,temp.time,temp.status,&temp.price,&temp.count); data.push_back(temp); printf("插入图书信息成功!\n"); } void browse() { printf("图书分类号 书名 作者 出版社 出版时间 状态 价格 数量\n"); for(int i = 0;i< data.size();i++) { book a = data.at(i); printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",a.num,a.name,a.author,a.press,a.time,a.status,a.price,a.count); } } 流程图: 3.4 图书信息浏览模块 void browse() { printf("图书分类号 书名 作者 出版社 出版时间 状态 价格 数量\n"); for(int i = 0;i< data.size();i++) { book a = data.at(i); printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",a.num,a.name,a.author,a.press,a.time,a.status,a.price,a.count); } } 流程图: 3.5 图书信息查询模块 void find() { char num[15]; printf("请输入所要查找图书的分类号:"); scanf("%s",num); printf("图书分类号 书名 作者 出版社 出版时间 状态 价格 数量\n"); for(int i = 0;i<data.size();i++) if (strcmp(data.at(i).num,num)==0) printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,data.at(i).price,data.at(i).count); } 流程图: 3.6 图书信息删除模块 void deleter() { char num[15]; vector<book>::iterator iter; printf("请输入所要删除图书的中图分类号:"); scanf("%s",num); int k; for(int i =0 ;i<data.size();i++) if (strcmp(data.at(i).num,num)==0) { for(iter = data.begin(),k = 0;k < i; k++,iter++); data.erase(iter); } } 流程图 3.7 图书信息修改模块 void modify() { printf("请输入所要修改图书的分类号:"); char num[15]; scanf("%s",num); for (int i = 0;i<data.size();i++) { if (strcmp(data.at(i).num,num)==0) { printf("请输入图书信息,即将记录修改为:\n"); printf("图书分类号 书名 作者 出版社 出版时间 状态 价格 数量\n"); scanf("%s %s %s %s %s %s %lf %d",data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,&data.at(i).price,&data.at(i).count); } } } 流程图: 3.8 主程序 int main() { ini(); int choice0,choice; menu0(); printf("请选择服务项目:"); scanf("%d",&choice0); switch(choice0) { case 1: index(); do { menu(); printf("请选择服务项目:"); scanf("%d",&choice); switch(choice) { case 1:insert();break; //save();break; case 2:browse();break; case 3:find();break; case 4:deleter(); browse();break; case 5:modify();break; case 6:leave();break; default:printf("输入数据错误,请从新输入!"); } }while(1); case 2: leave(); default:printf("输入数据错误,请从新输入!"); } return 0; } 第四章 程序调试及运行结果 4.1程序调试:(1).程序没错,能运行,但是修改或删除过后,录入信息不会发生变化,在朋友的帮助下,知道是remove("bookinf.txt");rename("f.txt","bookinf.txt")这两个函数有问题,不过改了很多都没办法,最后没用这两个函数。 (2).在完善程序时出现几个小错误,通过追踪等手段修改成功。 4.2 运行结果 (1) 设计总结:这次的课程设计主要使用C语言知识来设计一个图书管理系统,而对于这个知识我们曾经都开了课程,并且进行了系统的学习。我曾经自认为C语言还学得不错,因为书上的东西差不多都弄懂了,然而这次课程设计我却发现书上的东西我几乎忘得差不多了,一个很简单的语句都不知道怎么去写,甚至连怎样新建工程和文件都忘了。我恍然间发觉自己做的很差,对于已经学的东西没有很好地进行运用,以至于很多已经学了的东西都已经忘记了。虽然如此,但我通过参考网站上的程序,以及一些朋友的帮助,我基本完成了程序,虽然不完美,但是我还是很高兴。 通过这两个星期的课程设计,是我对所学知识有了更深一步的理解与掌握,理论与实践也能更好地结合在一起,这一过程中我遇到了很多困难,但这更使我觉得其中的乐趣和那种战胜困难后的成就感。同时感到学无止境,在今后的学习和工作中,我会不断地充实自己。 参考文献- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程设计 报告 00002
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文