图书信息管理系统设计说明书.doc

上传人:飞****2 文档编号:88932784 上传时间:2023-05-04 格式:DOC 页数:25 大小:107KB
返回 下载 相关 举报
图书信息管理系统设计说明书.doc_第1页
第1页 / 共25页
图书信息管理系统设计说明书.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《图书信息管理系统设计说明书.doc》由会员分享,可在线阅读,更多相关《图书信息管理系统设计说明书.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、*实践教学* 兰州理工大学计算机与通信学院2012年春季学期 C程序设计 课程设计题 目:图书信息管理系统专业班级:通信工程3班姓 名: 于建秀学 号: 指导教师: 廖成斌 成 绩:_前 言随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展要高效率的把内部活动有机的组织起来,就必须建立自身特点相适应的管理信息系统。本学期在c语言结课之际,我们接到了我们的课程设计作业图书信息管理系统。面对这个大课题,我们结合所给任务书的要求,以及查阅相关文献之后,根据我们所学的c语言知识,收集并借鉴了相关管理系统在设计

2、上的优点与缺陷,考虑了适合本系统所需功能模块在设计上的最优化组合,使其发挥最大功能。在设计本系统的过程中,我们阅读了许多相关文献,使软件尽可能受用。在廖成斌老师的悉心指导下,我们改正了在认识上的错误,并在还可能犯错误的地方征求了廖老师的意见,在此我们衷心的说一声谢谢。由于这是我们所设计的第一个大程序,没有任何经验。因此,我们在不断地与廖老师问问题的过程中,不断地总结,再考虑各种因素的基础上,我们画出了相应的流程图,并分析了系统所需的数据结构图之后,着重编程序。在编程过程中,我们用到了结构体,函数调用等相关知识,并通过相关链接让程序有序地运行,在完成设计后,我们用了大量数据来调试相关程序,使各个

3、功能模块发挥各自作用,使软件在更广范围内使用。该系统是一个图书信息管理的数据库系统,通过这个系统管理员可以简捷地对信息进行进行增加、删除、修改等功能,而用户也可以通过这个系统对图书信息进行查询等功能。当完成任务后感触很深,我们认识到软件设计的工作很严谨,容不得一点马虎,必须把程序写全,把每一个子程序执行的操作,完成何功能考虑周全,一步步把工作做好。目 录摘 要21.系统需求分析42. 系统总体设计53.详细设计74.系统测试105.软件使用说明书13设计总结14参考文献15致 谢16附录原代码17摘要: 本图书信息管理系统以菜单方式工作,菜单的功能选项以英文显示给人以舒适的视觉享受,依次显示为

4、登录号(流水号)、书名、作者名、分类号、出版单位、出版时间、价格等v.本图书信息管理系统具有菜单选择功能、图书信息录入功能、图书信息输出功能、图书信息查询功能、图书信息修改功能、图书信息删除功能、编号排序功能、文件保存功能等。通过该软件管理员和用户可根据自己的需求进入不同的功能模块,完成不同的操作,满足各种与图书信息管理有关的需求。 关键字:图书;信息;管理。 一、系统需求分析随着现代化进程的加快,人们对知识的渴求趋向更广范围,更深程度。图书作为人们更新自己头脑和追求进步的重要手段,日益显示出其重要性。因此,再有新时间内,用最有效的方法查询出对我们有用的图书信息显得尤为重要。本系统可以实现用户

5、根据系统的提示输入需要查询的图书信息;系统管理员可以进行添加图书,删除图书,保存数据等操作。图书信息管理系统以方便和满足广大用户的需要为宗旨,方便图书管理员的管理。待管理员将现有图书信息录入后,用户可根据提示浏览需要查询的图书信息(也可显示是否借出),浏览时将以作者和书名两种方式查询,供用户选择。用户可根据输入的信息查询所需图书的价格、出版时间、出版社从而选择适合自己的图书。另外,图书管理员可以统计现有图书的数量,以及个给它们分类。二、系统总体设计1.总体软件结构图菜单选择输入输出查询修改删除按登录号排序按书名查询按作者查询注:菜单选择模块完成用户命令的接收,此模块也是图书信息管理系统的入口,

6、用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;输入模块完成图书信息的输入功能,输入信息包括登陆号、书名、作者名、分类号、出版社、出版日期、价钱等;输出模块完成已录入图书信息的显示;查询模块完图书信息的查询,查询时对应有按书名查询和按作者名查询两种方式;修改模块完成图书信息的修改功能;删除模块完成图书信息的删除功能;按登陆号排序模块完成对信息的排序;文件保存模块完成文件的保存。2.总体数据结构 菜单选择模块:(给出信息提示;绘制菜单(包含输入、显示、查询、修改、删除、退出、排序);提示菜单选择并读入到变量;根据读入变量的值调用不同的模块函数;) 信息输入模块:(打

7、开职工信息文件;发出输入提示信息; 输入职工信息;提示是否继续输入;读入到变量;根据读入变量的值进入菜单或输入函数模块;) 信息输出模块:(输出所有图书的所有信息。) 信息查询模块:(调用switch函数; 给出信息提示;提示菜单选择并读入到变量;根据读入变量的值进入不同的case;Case 1 给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。Case 2 给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息;否则,提示出错。)5 信息修改模块:(给出信

8、息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并提示输入新的图书信息;否则,提示出错。)6信息删除模块:(给出信息提示;提示菜单选择并读入到变量;Strcmp函数将保存的信息与变量比较,如有相同,就输出该图书的所有信息,并删除该图书的图书信息;否则,提示出错。)7排序模块(看能不能打开程序;如能,则用冒泡法排序;输出排序后的所有信息)8 文件保存模块(看文件能不能读;否则提示出错。看文件的长度符不符合要求;否则提示出错。保存文件)三、详细设计1.菜单选择模块;2.图书信息输入模块;3.图书信息输出模块;4.图书信息查询模块;5.图书

9、信息修改模块;6.图书信息删除模块;7. 按登录号排序模块;8.文件保存模块;四、系统测试(一实现程序:首先进入如下界面: 1:input 2:output 3:save 4:search 5:modify 6:del7:sort 0:exit;(二输入“1”,后按“num登陆号”, book_name书名,writer作者名,sort。name分类号,出版社pubconpany,出版时间pubtime,价钱price顺序输入两组数据:“1,we,er,1,as,1234,34”“2,ew,re,2,sa,4321,43”(三)输入“3”保存。(四)输入“2”输出数据:“1,we,er,1,a

10、s,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 modifys the informations”,后输入新信息,再输入“3”保存。(七)输入7按登陆号排序。运行正常,输入0退出。调试过程

11、中,对fopen函数认识不够,一开始是用if(fp=fopen(f:c,rb)=NULL)这个语句,调试的时候一直都最少都是一个错误:后来怎么弄都纠正不了。后来慢慢的查书,逐行检查。才终于改正为 if(fp=fopen(file.c,wb)=NULL)。程序终于可以运行。通过这我懂得:写程序时一定要严谨,尽可能写下的每一行不出错。否则调试时会很麻烦。五、软件使用说明书(1)根据正确的提示安装软件。(2) 打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。操作如下:点击开始菜单,进入菜单选择。输入:将所需的信息输入。输出:图书基本信息。输入:根据不同的需要选择,当信息输入显示出错误时,进

12、入浏览信息,找出错误。当错误不能改正,则退出浏览信息。进入查询信息:则屏幕会出现已两个对话框按作者查找,按书名查找把相应的所需信息的状态(是否借出)。当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。当信息输入正确,进入你所需要的菜单程序中. 六设计总结本次课程设计是我这学期编写的第一个大程序,从花费的过去三天总计十七个小时中,我得到如下收获:1 用好C语言某种程度上关键就是用好所需的各种函数的调用,c语言的确是一种结构化的语言。2 学会和加深了对于结构体和共用体的理解,以及在程序中怎样实现文件函数的输入输出和文件的定位。3

13、 只有上机实践才能检验自己写的程序,看是看不出来的。4 深深懂得调试、书写规范和检错的重要性。七参考文献1 王连相 c+程序设计教程 ,中国铁道出版社,2007 2 谭浩强 C语言程序设计教程,安徽出版社,1999 3 谭浩强 C程序设计题解与上机指导,清华大学出版社,1999 4 C语言的实际应用,安徽科学技术出版社,2000 5 C语言函数手册,机械工业出版社,1999 6 C语言实用程序荟萃,西安电子科技大学出版社,1993八、致 谢在编写程序的过程中,我们得到了老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和习惯,在此,我们对老师的精

14、心栽培表示衷心的感谢! 感谢我们小组同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生活和学习上帮我许多忙。在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意。在设计的过程中,老师孜孜不倦的教导是激励我们完成任务的基石,在此我们衷心地感谢我们的指导老师,谢谢老师这几天对我们的教诲,此次课设作业对我们以后的事业具有重要意义,对我们以后的学习具有重要指导意义。 九、附录原代码#include #include #include #define N 10struct library int num; cha

15、r book_name30; char writer30; char sort_num3; char pub_company30; char pub_time30; char prise30;typedef struct library LIB;LIB libN;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(;) sw

16、itch(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 m3; int n; printf(tt1:inputn); printf(tt2:outputn); printf(tt3:saven); printf(tt4:se

17、archn); printf(tt5:modifyn); printf(tt6:deln); printf(tt7:sortn); printf(tt0:exitn); printf(ttplease choose a operation(0-6):n); scanf(%s,m); n=atoi(m); return(n);void input(void) /*显示输入函数*/ int i; char m3; for(i=all;iN;i+) all+; printf(please input informations:n); printf(ttnum:t); scanf(%d,&libi.n

18、um); printf(ttbook_name:t); scanf(%s,libi.book_name); printf(ttwriter:t); scanf(%s,libi.writer); printf(ttsort_num:t); scanf(%s,libi.sort_num); printf(ttpub_company:t); scanf(%s,libi.pub_company); printf(ttpub_time:t); scanf(%s,libi.pub_time); printf(ttprise:t); scanf(%s,libi.prise);a: printf(ttyes/

19、no continue input?n); printf(tt1:yest); printf(tt2:non); scanf(%s,m); if(atoi(m)=1) continue; else if(atoi(m)=2) return; else printf(ttinput error!n); goto a; void output(void) /*显示输出函数*/ int i; for(i=0;iall;i+) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); pr

20、intf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); void sort(void)/*从登陆号从大到小排序的函数*/int b,i;struct library flash;if(fp=fopen(file.c,wb)=NULL) printf(cannot open filen); return; for(b=0;bN;b+)for(i=b+1;iN;i+)if(strcmp(libb.sort_num,libi.sort_num)0)flash=libb;libb=libi;libi=flash;printf(the d

21、own object is:n);printf( num bookname writer sort_num pub_company pub_time prisen);for(b=0;bN;b+)if(libb.sort_num0!=0)printf(%d %s %s %s %s %s %sn,libb.num,libb.book_name,libb.writer,libb.sort_num,libb.pub_company,libb.pub_time,libb.prise);else break;void save(void) /*文件保存*/ int i;if(fp=fopen(file.c

22、,wb)=NULL) printf(can not open the file); exit(1); for(i=0;iall;i+) if(fwrite(&libi,sizeof(LIB),1,fp)!=1) printf(can not write!); exit(1); fclose(fp);void search(void) /*书名和作者名查找*/ int i,flag; char m3; char name30; printf(tt请选择按书名或作者名查询:n); printf(tt1:书名n); printf(tt2:作者名n); scanf(%s,m); i=atoi(m);

23、switch(i) case 1: printf(ttplease input the book_name:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); flag=1;break; if(fla

24、g=0) printf(ttnot find the book!n); break; case 2: printf(ttplease input the writer:n); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.writer)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.p

25、rise); flag=1;break; if(flag=0) printf(ttnot find the wtiter!n); break; void modify(void) /*显示修改函数*/ int i,flag; char name30,n3; printf(ttplease input the book_name of modify :tt); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,lib

26、i.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); printf(ttplease input modifys the informations:n); printf(ttnum:t); scanf(%d,&libi.num); printf(ttbook_name:t); scanf(%s,libi.book_name); printf(ttwriter:t); scanf(%s,libi.writer); printf(ttsort_nu

27、m:t); scanf(%s,libi.sort_num); printf(ttpub_company:t); scanf(%s,libi.pub_company); printf(ttpub_time:t); scanf(%s,libi.pub_time); printf(ttprise:t); scanf(%s,libi.prise); flag=1;break; if(flag=0) printf(ttnot find modifys the book!n);void del(void) /*显示删除函数*/ int i,flag,n; char name30; printf(ttple

28、ase input the book_name of del:tt); scanf(%s,name); flag=0; for(i=0;iN;i+) if(strcmp(name,libi.book_name)=0) printf(tt%dn,libi.num); printf(%stt%stt%sn,libi.book_name,libi.writer,libi.sort_num); printf(%stt%stt%sn,libi.pub_company,libi.pub_time,libi.prise); libi.num=libn-1.num; strcpy(libi.book_name

29、,libn-1.book_name); strcpy(libi.writer,libn-1.writer); strcpy(libi.sort_num,libn-1.sort_num); strcpy(libi.pub_company,libn-1.pub_company); strcpy(libi.pub_time,libn-1.pub_time); strcpy(libi.prise,libn-1.prise); n=n-1; flag=1; printf(ttdel ok!n); break; if(flag=0) printf(ttno information of the book!n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁