毕业设计(论文)-设计图书管理系统 .doc_第1页
毕业设计(论文)-设计图书管理系统 .doc_第2页
毕业设计(论文)-设计图书管理系统 .doc_第3页
毕业设计(论文)-设计图书管理系统 .doc_第4页
毕业设计(论文)-设计图书管理系统 .doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ahead 编 号: 审定成绩: 设计图书管理系统分 院: 学生姓名: 专 业: 班 级: 学 号: 指导教师: 填表时间:2011年12月先锋软件学院学生毕业设计(论文)工作自查表(2011年11月下旬 2012年2月上旬检查)学生姓名逯登腾专业软件测试学号200900009536导师姓名况嫦娥职称讲师导师每周指导次数2每次: 1 小时题目名称局域网的多媒体教学系统的设计与实现作息时间上午8时 11 时下午14时 时16晚间20时 21时个人精力实际投入日均工作小时5周均工作小时35缺席天数0出勤率%100%毕业设计(论文)工作进度已完成主要内容%待完成主要内容%11月 11 日开始资料收集。11月16日开始写前言,目录。11月25日开始论文初稿。12月2日完成论文。30%50%80%100%11月17日前言及目录。11月20日论文正文。11月25日未整理好论文。80%50%20%存在问题工作措施整理资料有些困难,标点符号部分不正确,字体存在些问题。摘要中英对译语句有点不顺,经过老师的指点,上网重新收集资料,最终顺利完成。指导教师(签字): 日期: 先锋软件学院毕业论文(设计)评阅表(指导教师、评阅人用)论文(设计)名称局域网的多媒体教学系统的设计与实现学生姓名逯登腾学号200900009536指导教师或评阅人)姓名况嫦娥序号评审项目指标满分评分1论文(设计)完成量论文(设计)内容完成量,难易程度符合教学基本要求202调查与综合根据论文(设计)任务,能独立查阅文献资料和从事其它有关调研。有收集、综合和正确利用各种信息的能力。203论文(设计)质量文章切合选题,材料丰富、内容充实,观点明确、论据充分、论证严格,构思完整、层次分明、段落、论题间的衔接自然、舒展。文笔流畅、语言通顺、使用专业术语准确,图表清楚,符合要求。504创新有独特的见解,或有一定应用价值10总分评阅人:- -年-月-日创业创新 知识管理 - - ahead of software and technology编 号:1一、需求分析:6二、概要设计:61:本系统包括两个抽象数据:图书库链表和借书者链表。62:主程序的流程:81选择系统8三、详细设计:9四、调试分析10五、测试结果:10六、用户使用说明书:11一、需求分析:1、图书管理信息包括:登录号,书名,作者号,分类号,出版单位,出版时间,价格等。设计图书管理系统。2、程序的系统功能:(1)、系统以菜单方式工作;(2)、图书信息录入功能;(3)、图书信息浏览功能;(4)、图书信息查询功能;(5)、图书信息删除与修改。3、测试数据(后附)。二、概要设计:1:本系统包括两个抽象数据:图书库链表和借书者链表。(1)定义图书链表类型为:adt abook数据对象 d=bi|bi=booktype,i=1n n=o数据关系 r=|(bi-1,bi)=d,i=2n基本操作:insert(n)操作结果:建立一个长度为n的链表或插入n个新结点。del(n)操作结果:从已建立链表中删除n个结点。print( )操作结果:输出已建立链表。search( )操作结果:按要求查找并输出已建立链表中的结点。borrow( )操作结果:按要求改变已建立链表中某一结点的相关信息 。return( ) 操作结果:按要求改变已建立链表中某一结点的相关信息 。(2)定义图书链表类型为:adt aborrow数据对象 d=ri|ri|borrowtype,i=1n n=1数据关系 r=|ri-1,ri=d,i=2n基本操作:creat(n) 操作结果:建立一个长度为n的链表。insert(n)操作结果:插入n个新结点到已建立链表中。remove(n)操作结果:从已建立链表中删除n个结点。2:主程序的流程:1选择系统(1)、录入图书信息(2)、浏览图书信息(3)、图书信息查询功能:1按登录号查询2按书名查询3按作者名查询4按分类号查询5按出版单位查询6按价格查询(4)、图书信息删除与修改1删除2修改(0)、返回图书信息管理系统 返回图书信息删除与修改图书信息浏览图书信息查询图书信息录入按书名查找三、详细设计:struct book char dlnum10; /*登录号/* char name50; /*书名/* char writer20; /*作者名/* char flnum10; /*分类号/* char pressname50; /*出版单位/* char presstime20; /*出版时间/* char price10; /*价格/*booksn; 四、调试分析1在最初进行模块划分是未将借书人信息管理作为一个单独摸块,致使调试时无法明确管理结借书者信息,造成书目链表混乱,重新分配后解决了这个问题2 原先想进行中文书名及人命输入输出,但由于未能找到相关信息资料,无法完成该操作,最终放弃该设计3 最初我们曾规定了一些变量以及结构体,但随着设计的进行深化,最初的结构体及变量无法满足需要,致使调试时出现不少混乱,后来我们重新规定了一下,解决了这些问题;4 程序的串联我们采取了循环控制与选择结构相结合的结构很好地解决了系统长时间运行及循环执行命令的问题,使演示系统现实化。五、测试结果:1、 在windows状态下,2、 执行tc文件,3、 进入系统操作界面。4、 选择系统选项,5、 进行图书管理操作。进入后根据提示信息可进行。0退回界面。 六、用户使用说明书:1选择操作类型,例选择1录入图书信息 2浏览已经录入的图书信息 选择3为图书信息查询项(1)按登陆号(2)按书名(3)按作者(4)按分类号(5)出版单位(6)出版时间(7)价格选择4为删除和修改功能 1为删除2为修改首先欢迎您使用本图书馆管理系统。本系统主要面向图书馆的管理人员。运行主程序后,您将能够看到一个带有欢迎界面的窗口,上面有您所能进行的操作,您可以在这里选择。(附)源程序:#define n 100#include#include#includestruct book char dlnum10; char name50; char writer20; char flnum10; char pressname50; char presstime20; char price10;booksn;void printf_face() printf(dlnum name writer flnum pressname presstime pricen);void enter() int i,n; void menu(); void input(int k); void save(int k); printf(how many books(0-%d)?:,n-1); scanf(%d,&n); printf(n enter data nownn); for(i=0;in;i+) printf(n input %dth book record.n,i+1); input(i); if(i!=0)save(n); printf(pass any key to backn); getchar(); menu();void input(int i) printf_face(); scanf(%s%s%s%s%s%s%s,booksi.dlnum,,booksi.writer,booksi.flnum,booksi.pressname,booksi.presstime,booksi.price);void save(int n) file *fp; int i; if(fp=fopen(book.txt,wb)=null) printf(ncannot open filen); for(i=0;in;i+) if(fwrite(&booksi,sizeof(struct book),1,fp)!=1) printf(file write erron); fclose(fp);void browse() int k; void menu(); int load(); void printf_books(int n); k=load(); printf_books(k); printf(pass any key to backn); getchar(); menu();void printf_one(int i)printf(%5s %5s %5s %5s %5s %5s %5s,booksi.dlnum,,booksi.writer,booksi.flnum,booksi.pressname,booksi.presstime,booksi.price);printf(nn);void printf_books(int n) int j; printf(dlnum name writer flnum press presstime pricen); for(j=0;jn;j+) if(j!=0&j%10=0) printf(nnpass any key to contiune .); getchar(); puts(nn); printf_one(j); int load() file *fp; int i; if(fp=fopen(book.txt,rb)=null) printf(ncannot open filen); return 0; for(i=0;!feof(fp);i+) fread(&booksi,sizeof(struct book),1,fp); fclose(fp); return(i-1);void search_by_name()struct book s;int n,i,k=0;int load();void printf_one(int i);n=load();printf(enter a book name: );scanf(%s,&); for(i=0;in;i+) if(strcmp(,)=0) printf_one(i); k=1; if(k=0)printf(nnot found the file!n);void search_by_writer() struct book s;int n,i,k=0;int load();void printf_one(int i);n=load();printf(enter a writers name: );scanf(%s,&s.writer); for(i=0;in;i+) if(strcmp(s.writer,booksi.writer)=0) printf_one(i); k=1; if(k=0)printf(nnot found the file!n);void search_by_flnum() struct book s; int n,i,k=0; int load(); void printf_one(int i); n=load(); printf(enter a flnum: ); scanf(%s,&s.flnum); for(i=0;in;i+) if(strcmp(s.flnum,booksi.flnum)=0) printf_one(i); k=1; if(k=0)printf(nnot found the file!n);void search_by_press() struct book s; int n,i,k=0; int load(); void printf_one(int i); n=load(); printf(enter a press: ); scanf(%s,&s.pressname); for(i=0;in;i+) if(strcmp(s.pressname,booksi.pressname)=0) printf_one(i); k=1; if(k=0)printf(nnot found the file!n);void search_by_dlnum() struct book s; int n,i,k=0; int load(); void printf_one(int i); n=load(); printf(enter a dlnum: ); scanf(%s,&s.dlnum); for(i=0;in;i+) if(strcmp(s.dlnum,booksi.dlnum)=0) printf_one(i); k=1;if(k=0)printf(nnot found the file!n);menu_search() int n,w; do puts(tt*menu of search*nn); puts(tttt 1.search_by_name); puts(tttt 2.search_by_writer); puts(tttt 3.search_by_dlnum); puts(tttt 4.search_by_flnum); puts(tttt 5.search_by_press); puts(tttt 6.back); puts(nntt*n); printf(choice your number(1-6): bb); scanf(%d,&n); if(n6) w=1; getchar(); else w=0; while(w=1); switch(n) case 1:search_by_name();break; case 2:search_by_writer();break; case 3:search_by_dlnum();break; case 4:search_by_flnum();break; case 5:search_by_press();break; case 6:menu(); void printf_back() int w; do printf(what do you want to do?nnt1).back to menut2)continue .: bb); scanf(%d,&w); switch(w) case 1: menu();break; case 2: menu_search();break; while(w!=1&w!=2);void search() menu_search(); printf_back();void modify(int m,int n) int c,w1; void menu(); do puts(nmodify by =nn 1).dlnum 2).name 3).writer 4).flnumn5).pressname 6).presstime 7).price 8).modify all); printf(which you need?: bb); scanf(%d,&c); if(c8|c8|c1); do switch(c) case 1:printf(dlnum: );scanf(%s,booksm.dlnum);break;case 2:printf(name: );scanf(%s,);break;case 3:printf(writer: );scanf(%s,booksm.writer);break;case 4:printf(flnum: );scanf(%s,booksm.flnum);break;case 5:printf(pressname: );scanf(%s,booksm.pressname);break;case 6:printf(presstime: );scanf(%s,booksm.presstime);break;case 7:printf(price: );scanf(%s,booksm.price);break;case 8:printf(enter a new information:n);input(m); printf_face(); printf_one(m); printf(nare you sure?nnt1).sure 2).no and remodify 3).back without save in this time bb); scanf(%d,&w1); while(w1=2); if(w1=1)save(n);void del(int m,int n) file *fp;int k,w; printf(are you sure delete it?nnt1).suret2).give up: bb); scanf(%d,&w);if(w=1) if(fp=fopen(book.txt,wb)=null) printf(ncannot open filen); for(k=0;kn;k+) if(k!=m)if(fwrite(&booksk,sizeof(struct book),1,fp)!=1) printf(file write errorn); fclose(fp); void deal() void menu(); int w,i,m,n,k=0; struct book s; n=load(); printf_books(n); printf(enter a book name: );scanf(%s,&); for(i=0;in;i+) if(strcmp(,)=0) printf_one(i); k=1;m=i; if(k=0) printf(not found the file!); getchar(); menu(); printf(what do you want to do?nnt1).modifyt2).delete: bb); scanf(%d,&w); switch(w) case 1: modify(m,n);break; ca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论