图书信息管理系统设计说明书.doc
《图书信息管理系统设计说明书.doc》由会员分享,可在线阅读,更多相关《图书信息管理系统设计说明书.doc(32页珍藏版)》请在咨信网上搜索。
图书信息管理系统设计说明书 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 ******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年春季学期 C程序设计 课程设计 题 目:图书信息管理系统 专业班级:通信工程3班 姓 名: 于建秀 学 号: 11250302 指导教师: 廖成斌 成 绩:_______________ 前 言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟.管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展要高效率的把内部活动有机的组织起来,就必须建立自身特点相适应的管理信息系统。 本学期在c语言结课之际,我们接到了我们的课程设计作业——图书信息管理系统。面对这个大课题,我们结合所给任务书的要求,以及查阅相关文献之后,根据我们所学的c语言知识,收集并借鉴了相关管理系统在设计上的优点与缺陷,考虑了适合本系统所需功能模块在设计上的最优化组合,使其发挥最大功能. 在设计本系统的过程中,我们阅读了许多相关文献,使软件尽可能受用。在廖成斌老师的悉心指导下,我们改正了在认识上的错误,并在还可能犯错误的地方征求了廖老师的意见,在此我们衷心的说一声谢谢.由于这是我们所设计的第一个大程序,没有任何经验.因此,我们在不断地与廖老师问问题的过程中,不断地总结,再考虑各种因素的基础上,我们画出了相应的流程图,并分析了系统所需的数据结构图之后,着重编程序.在编程过程中,我们用到了结构体,,函数调用等相关知识,并通过相关链接让程序有序地运行,在完成设计后,我们用了大量数据来调试相关程序,使各个功能模块发挥各自作用,使软件在更广范围内使用.该系统是一个图书信息管理的数据库系统,通过这个系统管理员可以简捷地对信息进行进行增加、删除、修改等功能,而用户也可以通过这个系统对图书信息进行查询等功能。 当完成任务后感触很深,我们认识到软件设计的工作很严谨,容不得一点马虎,必须把程序写全,把每一个子程序执行的操作,完成何功能考虑周全,一步步把工作做好。 目 录 摘 要 2 1。系统需求分析 4 2. 系统总体设计 5 3.详细设计 7 4。系统测试 10 5。软件使用说明书 13 设计总结 14 参考文献 15 致 谢 16 附录--原代码 17 摘要: 本图书信息管理系统以菜单方式工作,菜单的功能选项以英文显示给人以舒适的视觉享受,依次显示为登录号(流水号)、书名、作者名、分类号、出版单位、出版时间、价格等v.本图书信息管理系统具有菜单选择功能、图书信息录入功能、图书信息输出功能、图书信息查询功能、图书信息修改功能、图书信息删除功能、编号排序功能、文件保存功能等.通过该软件管理员和用户可根据自己的需求进入不同的功能模块,完成不同的操作,满足各种与图书信息管理有关的需求。 关键字:图书;信息;管理。 一、系统需求分析 随着现代化进程的加快,人们对知识的渴求趋向更广范围,更深程度.图书作为人们更新自己头脑和追求进步的重要手段,日益显示出其重要性。因此,再有新时间内,用最有效的方法查询出对我们有用的图书信息显得尤为重要。 本系统可以实现用户根据系统的提示输入需要查询的图书信息;系统管理员可以进行添加图书,删除图书,保存数据等操作.图书信息管理系统以方便和满足广大用户的需要为宗旨,方便图书管理员的管理。待管理员将现有图书信息录入后,用户可根据提示浏览需要查询的图书信息(也可显示是否借出),浏览时将以作者和书名两种方式查询,供用户选择。用户可根据输入的信息查询所需图书的价格、出版时间、出版社从而选择适合自己的图书。另外,图书管理员可以统计现有图书的数量,以及个给它们分类。 二、系统总体设计 1。总体软件结构图 菜单选择 输入 输出 查询 修改 删除 按登录号排序 按书名查询 按作者查询 注:菜单选择模块完成用户命令的接收,此模块也是图书信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能; 输入模块完成图书信息的输入功能,输入信息包括登陆号、书名、作者名、分类号、出版社、出版日期、价钱等; 输出模块完成已录入图书信息的显示; 查询模块完图书信息的查询,查询时对应有按书名查询和按作者名查询两种方式; 修改模块完成图书信息的修改功能; 删除模块完成图书信息的删除功能; 按登陆号排序模块完成对信息的排序; 文件保存模块完成文件的保存。 2。总体数据结构 ① 菜单选择模块:( 给出信息提示; 绘制菜单(包含输入、显示、查询、修改、删除、退出、排序); 提示菜单选择并读入到变量; 根据读入变量的值调用不同的模块函数;) ② 信息输入模块:( 打开职工信息文件; 发出输入提示信息; 输入职工信息; 提示是否继续输入; 读入到变量; 根据读入变量的值进入菜单或输入函数模块;) ③ 信息输出模块:( 输出所有图书的所有信息。) ④ 信息查询模块:( 调用switch函数; 给出信息提示; 提示菜单选择并读入到变量; 根据读入变量的值进入不同的case; Case 1 给出信息提示; 提示菜单选择并读入到变量; Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。 Case 2 给出信息提示; 提示菜单选择并读入到变量; Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。) 5. 信息修改模块:( 给出信息提示; 提示菜单选择并读入到变量; Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并提示输入新的图书信息;否则,提示出错。) 6.信息删除模块:( 给出信息提示; 提示菜单选择并读入到变量; Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并删除该图书的图书信息;否则,提示出错.) 7.排序模块( 看能不能打开程序; 如能,则用冒泡法排序; 输出排序后的所有信息) 8 文件保存模块( 看文件能不能读;否则提示出错。 看文件的长度符不符合要求;否则提示出错。 保存文件) 三、详细设计 1。菜单选择模块; 2.图书信息输入模块; 3.图书信息输出模块; 4.图书信息查询模块; 5.图书信息修改模块; 6。图书信息删除模块; 7。 按登录号排序模块; 8。文件保存模块; 四、系统测试 (一〕.实现程序:首先进入如下界面: 1:input 2:output 3:save 4:search 5:modify 6:del 7:sort 0:exit; (二〕.输入“1”,后按“num登陆号", book_name书名,writer作者名,sort。name分类号,出版社pub-conpany,出版时间pub-time,价钱price顺序输入两组数据: “1,we,er,1,as,1234,34” “2,ew,re,2,sa,4321,43” (三).输入“3”保存。 (四).输入“2”输出数据: “1,we,er,1,as,1234,34” “2,ew,re,2,sa,4321,43” (五).输入“4”查找,“请选择按书名或作者名查询: 1:书名。 2.作者名 “ 输入“1“或”2“分别查询. 输入“1“和“we“,输出“1,we,er,1,as,1234,34";输入2和“re“,输出“2,ew,re,2,sa,4321,43" 符合要求 (六)。 输入"5”或“6“进行修改或删除。 输入修改的书名“we”显示“1,we,er,1,as,1234,34”及“please input modify’s the informations”,后输入新信息,再输入“3”保存。 (七).输入7按登陆号排序。 运行正常,输入0退出。 调试过程中,,对fopen函数认识不够,一开始是用if((fp=fopen(”f:\\c”,”rb”))==NULL)这个语句,调试的时候一直都最少都是一个错误:后来怎么弄都纠正不了.后来慢慢的查书,逐行检查。才终于改正为 if((fp=fopen("file.c”,”wb”))==NULL)。程序终于可以运行。 通过这我懂得:写程序时一定要严谨,尽可能写下的每一行不出错。否则调试时会很麻烦。 五、软件使用说明书 (1)根据正确的提示安装软件. (2) 打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。 操作如下: 点击开始菜单,进入菜单选择. 输入:将所需的信息输入. 输出:图书基本信息。 输入:根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。当错误不能改正,则退出浏览信息。 进入查询信息:则屏幕会出现已两个对话框——按作者查找,按书名查找把相应的所需信息的状态(是否借出)。当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。 当信息输入正确,进入你所需要的菜单程序中. 六设计总结 本次课程设计是我这学期编写的第一个大程序,从花费的过去三天总计十七个小时中,我得到如下收获: 1. 用好C语言某种程度上关键就是用好所需的各种函数的调用,c语言的确是一种结构化的语言。 2. 学会和加深了对于结构体和共用体的理解,以及在程序中怎样实现文件函数的输入输出和文件的定位. 3 只有上机实践才能检验自己写的程序,看是看不出来的。 4 深深懂得调试、书写规范和检错的重要性。 七参考文献 [1] 王连相 c++程序设计教程 ,中国铁道出版社,2007 [2] 谭浩强 C语言程序设计教程,安徽出版社,1999 [3] 谭浩强 C程序设计题解与上机指导,清华大学出版社,1999 [4] C语言的实际应用,安徽科学技术出版社,2000 [5] C语言函数手册,机械工业出版社,1999 [6] C语言实用程序荟萃,西安电子科技大学出版社,1993 八、致 谢 在编写程序的过程中,我们得到了老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢! 感谢我们小组同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生活和学习上帮我许多忙。在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意。 在设计的过程中,老师孜孜不倦的教导是激励我们完成任务的基石,在此我们衷心地感谢我们的指导老师,谢谢老师这几天对我们的教诲,此次课设作业对我们以后的事业具有重要意义,对我们以后的学习具有重要指导意义。 九、附录-—原代码 #include <stdio。h> #include <string。h〉 #include 〈stdlib。h> #define N 10 struct library { int num; char book_name[30]; char writer[30]; char sort_num[3]; char pub_company[30]; char pub_time[30]; char prise[30]; }; typedef struct library LIB; LIB lib[N]; FILE *fp; int all=0; int menu(void); void input(void); void output(void); void save(void); void del(void); void search(void); void modify(void); void sort(void); main() { for(;;) { switch(menu()) { case 1:input();break; case 2:output();break; case 3:save();break; case 4:search();break; case 5:modify();break; case 6:del();break; case 7:sort();break; case 0:exit(1);break; } } } int menu(void) /*显示主菜单*/ { char m[3]; int n; printf("\t\t1:input\n”); printf("\t\t2:output\n”); printf(”\t\t3:save\n"); printf(”\t\t4:search\n"); printf(”\t\t5:modify\n"); printf("\t\t6:del\n”); printf("\t\t7:sort\n"); printf(”\t\t0:exit\n"); printf("\t\tplease choose a operation(0-6):\n”); scanf("%s",m); n=atoi(m); return(n); } void input(void) /*显示输入函数*/ { int i; char m[3]; for(i=all;i〈N;i++) { all++; printf("please input informations:\n"); printf("\t\tnum:\t"); scanf(”%d”,&lib[i]。num); printf("\t\tbook_name:\t”); scanf("%s",lib[i]。book_name); printf("\t\twriter:\t”); scanf(”%s",lib[i]。writer); printf(”\t\tsort_num:\t"); scanf(”%s",lib[i]。sort_num); printf("\t\tpub_company:\t"); scanf("%s”,lib[i].pub_company); printf("\t\tpub_time:\t”); scanf(”%s",lib[i]。pub_time); printf("\t\tprise:\t"); scanf(”%s",lib[i].prise); a: printf(”\t\tyes/no continue input?\n"); printf(”\t\t1:yes\t”); printf("\t\t2:no\n"); scanf("%s”,m); if(atoi(m)==1) continue; else if(atoi(m)==2) return; else { printf("\t\tinput error!\n”); goto a; } } } void output(void) /*显示输出函数*/ { int i; for(i=0;i〈all;i++) { printf("\t\t%d\n",lib[i].num); printf(”%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i]。writer,lib[i].sort_num); printf(”%s\t\t%s\t\t%s\n”,lib[i]。pub_company,lib[i]。pub_time,lib[i].prise); } } void sort(void) /*从登陆号从大到小排序的函数*/ { int b,i; struct library flash; if((fp=fopen(”file。c”,”wb"))==NULL) { printf("cannot open file\n”); return; } for(b=0;b<N;b++) { for(i=b+1;i<N;i++) { if(strcmp(lib[b].sort_num,lib[i]。sort_num)〈0) {flash=lib[b];lib[b]=lib[i];lib[i]=flash;} } } printf("the down object is:\n"); printf(” num book’name writer sort_num pub_company pub_time prise\n"); for(b=0;b〈N;b++) { if(lib[b].sort_num[0]!=’\0’) printf(”%d %s %s %s %s %s %s\n”,lib[b].num,lib[b].book_name,lib[b]。writer, lib[b].sort_num,lib[b]。pub_company,lib[b].pub_time,lib[b].prise); else break; } } void save(void) /*文件保存*/ { int i; if((fp=fopen("file.c","wb"))==NULL) { printf("can not open the file”); exit(1); } for(i=0;i〈all;i++) { if(fwrite(&lib[i],sizeof(LIB),1,fp)!=1) { printf("can not write!"); exit(1); } } fclose(fp); } void search(void) /*书名和作者名查找*/ { int i,flag; char m[3]; char name[30]; printf(”\t\t请选择按书名或作者名查询:\n”); printf(”\t\t1:书名\n”); printf(”\t\t2:作者名\n"); scanf("%s”,m); i=atoi(m); switch(i) { case 1:{ printf("\t\tplease input the book_name:\n”); scanf(”%s",name); flag=0; for(i=0;i<N;i++) { if(strcmp(name,lib[i].book_name)==0) { printf("\t\t%d\n”,lib[i].num); printf("%s\t\t%s\t\t%s\n”,lib[i].book_name,lib[i]。writer,lib[i].sort_num); printf(”%s\t\t%s\t\t%s\n”,lib[i].pub_company,lib[i].pub_time,lib[i].prise); flag=1;break; } } if(flag==0) printf(”\t\tnot find the book!\n”); }break; case 2:{ printf("\t\tplease input the writer:\n”); scanf("%s”,name); flag=0; for(i=0;i<N;i++) { if(strcmp(name,lib[i].writer)==0) { printf(”\t\t%d\n",lib[i].num); printf(”%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i]。writer,lib[i]。sort_num); printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i]。pub_time,lib[i]。prise); flag=1;break; } } if(flag==0) printf("\t\tnot find the wtiter!\n”); }break; } } void modify(void) /*显示修改函数*/ { int i,flag; char name[30],n[3]; printf(”\t\tplease input the book_name of modify :\t\t”); scanf(”%s",name); flag=0; for(i=0;i<N;i++) { if(strcmp(name,lib[i]。book_name)==0) { printf("\t\t%d\n”,lib[i].num); printf(”%s\t\t%s\t\t%s\n”,lib[i]。book_name,lib[i].writer,lib[i].sort_num); printf(”%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise); printf(”\t\tplease input modify’s the informations:\n”); printf("\t\tnum:\t”); scanf(”%d”,&lib[i]。num); printf("\t\tbook_name:\t"); scanf("%s”,lib[i]。book_name); printf(”\t\twriter:\t”); scanf("%s",lib[i]。writer); printf("\t\tsort_num:\t”); scanf(”%s",lib[i].sort_num); printf("\t\tpub_company:\t”); scanf(”%s",lib[i]。pub_company); printf(”\t\tpub_time:\t”); scanf(”%s",lib[i]。pub_time); printf("\t\tprise:\t"); scanf(”%s",lib[i].prise); flag=1;break; } } if(flag==0) printf("\t\tnot find modify’s the book!\n”); } void del(void) /*显示删除函数*/ { int i,flag,n; char name[30]; printf(”\t\tplease input the book_name of del:\t\t”); scanf(”%s",name); flag=0; for(i=0;i<N;i++) { if(strcmp(name,lib[i]。book_name)==0) { printf("\t\t%d\n”,lib[i].num); printf(”%s\t\t%s\t\t%s\n”,lib[i]。book_name,lib[i].writer,lib[i]。sort_num); printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise); lib[i].num=lib[n-1].num; strcpy(lib[i].book_name,lib[n-1]。book_name); strcpy(lib[i].writer,lib[n-1].writer); strcpy(lib[i]。sort_num,lib[n-1]。sort_num); strcpy(lib[i]。pub_company,lib[n-1].pub_company); strcpy(lib[i]。pub_time,lib[n-1]。pub_time); strcpy(lib[i].prise,lib[n-1].prise); n=n-1; flag=1; printf(”\t\tdel ok!\n”); break; } } if(flag==0) printf("\t\tno information of the book!\n"); } 29- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 信息管理 系统 设计 说明书
咨信网温馨提示:
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。
关于本文