




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川师范大学成都学院信号分析与处理基于 C 语言的图书管理系统程序设计学生姓名x学号x所在学院专业名称xx班级xx 班指导教师x成绩x 学院二一四年十二月四川师范大学成都学院课程设计报告课程设计任务书学生姓名xx学生学号x学生专业x学生班级x指导教师x职 称xx发题日期2014 年 10 月 23 日完成日期2014 年 11 月 15 日设计题目基于 C 语言的图书管理系统程序设计设计目的:1、初步了解软件开发的一般方法和步骤;2、提高学生用 C 语言进行文件操作和绘图应用的编程技术水平;3、提高撰写技术文档的能力。具体任务及要求:任务:利用 C 语言的文件操作能力设计开发一个图书管理系统,实现对新 进图书基本信息的输入、图书基本信息的查询、对撤消图书信息的删除、 为借书人办理注册、办理借书手续、办理还书手续等。要求:1、必须有完整程序及必要的解释说明;2、必须有运行结果;3、写出设计课程设计报告。课程设计进度安排:序号 内容安排 时间1 阅读题目并分析课题内容,提前安排进度 10.2210.232 查找资料,并与同学讨论课题要求 10.2510.283 通过软件实现课题要求,完成各个模块 11.111.34 完成所有的课题,并与同学分享,相互检验 11.411.65 完成实验报告,交老师检查 11.101112课程设计参考文献:1 谭浩强C 语言程序设计教程清华大学出版社,2005,7:161-166 2 苏小红C 语言大学使用教程电子工业出版社,2004,7:89-923 王敬华,林萍,张维语言程序设计M北京:清华大学出版社, 2003.44 朱三元计算机应用与软件J,2004(02):18-20指导教师签字院长审核签字四川师范大学成都学院课程设计报告基于 C 语言的图书管理系统程序设计内容摘要:人类已经跨入了新世纪,正在进入信息化时代。信息化浪潮、网络革命在给社会来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的 管理和服务方式已不能适应读者对日益增长的文献信息的需求。随着馆藏量的不 断增加,图书资料的录入和查询的难度也就相应增加,数据处理手工操作,工作 量大,出错率高,出错后不易更改的手工方式,已经不能满足要求。基于此问题, 建立一个规范化,系统化,程序化的图书管理系统迫不急待。为方便对图书馆书 籍、读者资料、借还书等进行高效的管理,特编写程序以提高图书馆的管理效率。 使用程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当 前图书借阅情况进行一些统计,以便全面掌握图书的流通情况等等。关键词:语言 图书管理 数据处理 信息技术The books management system based on C languageprogram designAbstract:Mankind has entered the new century, which is entering theinformation age. Wave of information technology, the network revolution has brought about the impact, but also make the library service has been badly hit,and library management and services of traditional methods can not meet the growing literature on the information the reader needs. With the continuous increase in the collections, books, data entry and also a corresponding increase in the difficulty of queries, data processing manual operation, heavy workload, error rate, error is not easy to change after the manual mode can no longer meet the requirements.Based on this problem, the establishment of a standardized, systematic, process-oriented library management system can not wait. For the convenience of library books, readers information, such as borrowing and returning books for efficient management, especially theI四川师范大学成都学院课程设计报告preparation of the management procedures to enhance the efficiency of the library. After using the program, staff can search for certain readers, borrow some books, can also borrow books on the current situation of some statistics in order to fully grasp the flow of books.Key words:C language, Library Management, Data Processing, Information Technology.II四川师范大学成都学院课程设计报告目录前 言 .11 本课题的开发背景 .11.1 本课题要达到的设计目标 .22 系统设计 .22.1 开发技术及工具 .22.2 系统功能模块 .32.3 系统主要流程分析 .42.3.1 借书 .52.3.2 还书 .52.3.3 新书入库 .62.3.4 注销书 .62.3.5 排序 .62.3.6 查询图书信息 .72.3.7 查询作者信息 .83 系统实现 .83.1 新书入库 .83.2 排序 .93.3 查询图书信息 .93.4 查询作者信息 .93.5 借书 .103.6 还书 .113.7 注销书 .114 结束语 .11附 录 .13参考文献 .23III四川师范大学成都学院课程设计报告基于 C 语言的图书管理系统程序设计前 言图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的 信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算 机进行信息管理。图书馆数据处理工作量大,容易出错,由于数据繁多,容易丢 失,且不易查找。为了使图书借阅管理系统既能够提高工作效率,又可以提高工 作水平。我使用 visual C6.0 作为开发工具,设计了一个可以实现图书增删改 查、借书还书的一个图书借阅管理系统。1 本课题的开发背景随 着社会 信息量 的与日 俱增, 作为 信息存 储的主 要媒 体之一 图书, 数量、 规 模比以 往任何 时候都 大的多 ,不 论个人 还是图 书管 理部门 都需要 使用 方便而 有 效的方 式来管 理自己 的书籍 。在 计算机 日益普 及的 今天, 对个人 而言 若采用 一 套行之 有效的 图书管 理系统 来管 理自己 的书籍 ,会 方便许 多。对 图书 管理部 门 而言, 以前单 一的手 工检索 已不 能满足 人们的 要求 ,为了 便于图 书资 料的管 理 需要有 效的图 书管理 软件。计 算机网 络近年 来获得 飞速的 发展 ,十年 前,很 少有 人接触 过网络 。如今 , 计 算机网 络已经 成为我 们社会 结构 的一个 基本组 成部 分。网 络已被 应用 到人类 生 活的各 个方面 ,人们 通过网 络通 信,共 享资源 ,网 上超市 、电子 银行 等也应 运 而生, 各种提 供不同 特色, 不同 内容的 网站如 雨后 春笋般 涌现。计 算机网 络的发 展为人 们打开 了一 种新的 视野, 促成 了一个 新领域 新产业 的 产生。 网络的 发展试 图用一 种全 新的概 念冲击 各个 传统的 商业模 式, 改变人 们 的生活 方式。 新的需 求产生 了, 人们想 通过网 络进 行个人 通信、 媒体 传播、 商 业运作 、办公 、教学 等。总 之网 络技术 的发展 促进 了社会 经济结 构的 变革。 反 之,社 会经济 对网络 发展提 出的 新的需 求又大 大的 促进了 网络的 发展 ,计算 机 网络及 其所涉 及的一 系列技 术成 为计算 机领域 新的 研究热 点。在 计算机 日益普 及的今 天,对 个人 而言若 采用一 套行 之有效 的图书 管理系 统 来管理 自己的 书籍, 会方便 许多 。对图 书管理 部门 而言, 以前单 一的 手工检0四川师范大学成都学院课程设计报告索 已不能 满足人 们的要 求,为 了便 于图书 资料的 管理 需要有 效的图 书管 理软件 。该 软件采 用功能 强大的 数据库 软件 开发工 具进行 开发 ,具有 很好的 可移植 性 ,可在 应用范 围较广 的 WINDOWS 系 列等操 作系统 上使用 。除 此以外 , 图 书馆管 理系统 已成为 方便了 广大 师生、 学校与 外界 之间的 沟通架 起了 一座桥 梁 。但是 ,这并 不能满 足目前 师生 的需要 。比如 一些 特定的 需要要 ,在 管理方 面 特别不 方便, 因为它 受到地 域的 限制太 大。就 目前 情况而 言,急 需充 分利用 网 络方式 的图书 管理。 我们的 网络 图书馆 管理系 统就 是为了 解决这 问题 而设计 的 。经过分析,我们使用 microsoft 公司的 visual C开发工具。利用其提供的 各种面向对象的开发工具能方便而简洁建立系统应用原型,然后,对初始原型系 统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。1.1 本课题要达到的设计目标本系统可以实现以下功能:l 系统以菜单方式工作;vl 图书信息录入功能(图书信息用文件保存);l 图书信息浏览功能;l 查询功能;l 图书信息的删除与修改;l 办理借书手续;l 办理还书手续等等;l 退出程序。2 系统设计本图书管理系统包含 8 个模块:借书模块、还书模块、新书入库模块、注销 书模块、查询图书信息模块、查询作者信息模块、排序模块、退出模块。2.1 开发技术及工具本系统是以 Windows XP/7 为环境,VC+6.0 为应用程序,主要以 C 语言为编 程语言完成代码的编写。1四川师范大学成都学院课程设计报告VC+6.0 是微软公司推出的开发 Win32 应用程序(Windows95/98/2000/XP/NT)的、面向对象的可视化集成工具。它的最大优点就是提供了功能强大的 MFC 类库,MFC 是一个很大的 C+类层次结构,其中封装了大量的类 及其函数,很多 Windows 程序所共有的标准内容可以由 MFC 的类来提供,MFC 类 为这些内容提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的 接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少 程序员编写的代码数量,使编程工作变得更加轻松容易。C 语言是最基本的编程语言,其有以下优点:l 数据结构丰富。C 语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概 念,使程序效率更高。另外 C 语言具有强大的图形功能,支持多种显示器和驱动 器。且计算功能、逻辑判断功能强大。 l C 是结构式语言。 结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要 的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以 及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多 种循环、条件语句控制程序流向,从而使程序完全结构化。 l C 语法限制不太严格,程序设计自由度大。虽然 C 语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大 的自由度。 l C 语言允许直接访问物理地址,可以直接对硬件进行操作。由于 C 语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具 有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字 节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。 2.2 系统功能模块主函数是程序入口,采用模块化设计。首先在主程序中调出欢迎界面,定义 一些必要变量,作一无限循环程序,循环体为一开关语句,该语句设置一个断点, 其条件值是通过调用主菜单函数得到的返回值,根据该值,调用相应的功能函数, 同时设置一个断点,当返回值为一定条件时结束程序。2四川师范大学成都学院课程设计报告图 2.1 总体结构图2.3 系统主要流程分析否开始输要归还图书编号(定义为:id)检查输入的编号是否为库 存的书。且还书数量与当 前库存量和是否大于总库 存是输入借阅的图书以及 相应信息总库存减借出数量是否否结束图 2.2 增加图书3大于 0是四川师范大学成都学院课程设计报告2.3.1 借书该模块是对借阅图书进行相应操作。运用if语句进行判断选择,看目录中试 否有该书信息,有则根据提示进行相应操作。运用while循环判当借书的数量是 否大于库存量时,大于则要求再次输入,直至输入达到要求为止。void book_out(void)int n,s,l,d,x; .if(n=search_book()!=-1&booksn.store0)。输入查询信息部分.while(xbooksn.store).输入信息部分for(l=0;l10;l+) if(booksn.usrl=0)booksn.usrl=s;booksn.daysl=d; break; booksn.store=booksn.store-x; if(n!=-1&booksn.store=0) .2.3.2 还书该模块是对归还图书进行相应操作。运用if语句进行判断选择,看目录中试 否有该书信息,有则根据提示进行相应操作。运用while循环判归还图书的数量 是否大于库存量与现存量之差,大于则要求再次输入,直至输入达到要求为止。void book_in(void)int n,s,l,x; .if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n);for(l=0;l(booksn.total-booksn.store)输入归还信息.for(l=0;l10;l+)if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0;break; 4四川师范大学成都学院课程设计报告booksn.store=booksn.store+x; if(n!=-1&booksn.store=booksn.total) .;2.3.3 新书入库该模块是把新进图书进行入库处理,可输入图书的一些基本信息。例如:书 号、书名、作者、现存量和库存量。int book_add(void) char c;int n; .for(n=0;n100;n+)if(booksn.id=0) break;图书的信息录入。booksn.store=booksn.total;return_confirm(); c=getchar();return n;2.3.4 注销书该部分是图书目录中已有图书进行注销处理,删除该书在目录中的各种信息。void book_del(void)int n;.if(n=search_book()!=-1) booksn.id=0;printf(该书已注销.n);.2.3.5 排序对输入图书的编号进行升序排列。当图书目录为空时,显示“库存中无此书” 。运用双层循环,i 和 j 比较,i 为 0 为止图书书号,j 为 i 的下一个图书书号, 当 i 书号大于 j 书号。运用第三变量进行交换,例如:a=b;b=c;c=a;。void paixu(void) /*排序*/char t210;char t310;5四川师范大学成都学院课程设计报告int t4; int t5; int t, i,j;system(cls);for(i=0;i100;i+)for(j=i+1;jbooksj.id) t=booksi.id;strcpy(t2,);strcpy(t3,booksi.author);t4=booksi.total;t5=booksi.store;booksi.id=booksj.id;strcpy(,);strcpy(booksi.author,booksj.author);booksi.total=booksj.total;booksi.store=booksj.store;booksj.id=t;strcpy(,t2);strcpy(booksj.author,t3);booksj.total=t4;booksj.store=t5; printf(恭喜你排序成功!n);for(i=0;i100;i+)if (booksi.id!=0)打印图书信息. .;2.3.6 查询图书信息该模块是对指定图书编号进行查询。当输入一需查询图书书号后,在图书目 录中进行查询,用 if 判断是否有此书。有则打印该书信息。无则打印“图书书 号不存在”。int book_reader(void)system(cls);int n,i;printf(请输入图书序号:);scanf(%d,&i);for(n=0;n100;n+)if(booksn.id=i)6四川师范大学成都学院课程设计报告.打印图书信息。return n; printf(n输入有错或图书序号不存在!n);return -1; 2.3.7 查询作者信息当选择该模块后,输入要查询的作者信息后,会打印出该作者所著的所有书 籍。用 strmp 进行字符串比较,当 strmp=0 时,查找到该作者,打印信息。int book_writer(void) int n;char writer20,c;作者信息的输入。for(n=0;n 欢 迎 进 入 图 书 管 理 系 统-请 按 要 求 操 作 nn- %s -nn,menu_item);/*页头函数,可以通过参数 menu_item,显示当前状态。*/void return_confirm(void)printf(n 任意键返回n);getch();/*返回前请求确认函数,方便返回前观察结果*/int search_book(void)int n,i;printf(请输入图书序号:);getch();scanf(%d,&i);for(n=0;n0)printf(请输入借书证序号:);scanf(%d,&s);printf(请输入可借天数:);scanf(%d,&d);printf(请输入要借数量:);scanf(%d,&x);while(xbooksn.store)printf(输入错误);printf(请输入要借数量:);scanf(%d,&x);14四川师范大学成都学院课程设计报告for(l=0;l10;l+)if(booksn.usrl=0)booksn.usrl=s;booksn.daysl=d;break;booksn.store=booksn.store-x;if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm();/*借书的函数,首先调用找书函数*/int book_reader(void)int n,i;system(cls);printf(请输入图书序号:);scanf(%d,&i);for(n=0;n100;n+)if(booksn.id=i)printf(书名:%sn,);15四川师范大学成都学院课程设计报告printf(作者:%sn,booksn.author); printf(存数:%dn,booksn.store); printf(总数:%dn,booksn.total); return n;printf(n 输入有错或图书序号不存在!n); return -1;int book_writer(void)int n;char writer20;char c;system(cls);printf(请输入作者姓名:); scanf(%s,writer);c=getchar();for(n=0;n100;n+)if(strcmp(writer,booksn.author)=0)printf(书名:%s,); printf(作者:%s,booksn.author); printf(存数:%d,booksn.store); printf(总数:%dn,booksn.total);16四川师范大学成都学院课程设计报告return n;getch();printf(n 输入有错或作者不存在.n);return -1;void book_in(void)int n,s,l,x;system(cls);page_title(还书);if(n=search_book()!=-1&booksn.storebooksn.total)printf(借阅者图书证列表:n);for(l=0;l(booksn.total-booksn.store)printf(输入错误);printf(请输入要还数量:);scanf(%d,&x);for(l=0;l10;l+)17四川师范大学成都学院课程设计报告if(booksn.usrl=s)booksn.usrl=0;booksn.daysl=0;break;booksn.store=booksn.store+x;if(n!=-1&booksn.store=booksn.total) printf(全部入藏.n);return_confirm();int book_add(void) char c;int n;system(cls);page_title(新书入库);for(n=0;n100;n+)if(booksn.id=0) break;printf(序号:);scanf(%d,&booksn.id);printf(书名:);scanf(%s,&);printf(作者:);scanf(%s,&booksn.author);printf(数量:);18四川师范大学成都学院课程设计报告scanf(%d,&booksn.total);booksn.store=booksn.total;return_confirm(); c=getchar();return n;void paixu(void) /*排序*/char t2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论