收藏 分享(赏)

图书馆管理系统软件工程实验报告书.doc

上传人:精品资料 文档编号:10666379 上传时间:2019-12-16 格式:DOC 页数:30 大小:248KB
下载 相关 举报
图书馆管理系统软件工程实验报告书.doc_第1页
第1页 / 共30页
图书馆管理系统软件工程实验报告书.doc_第2页
第2页 / 共30页
图书馆管理系统软件工程实验报告书.doc_第3页
第3页 / 共30页
图书馆管理系统软件工程实验报告书.doc_第4页
第4页 / 共30页
图书馆管理系统软件工程实验报告书.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、电子信息学院实 验 报 告 书课 程 名 : 软件工程实验 题 目: 软件工程实验报告 实验类别 【综合】 班 级: BX0903 学 号: 31 姓 名: 乐传阳 评语:实验态度:认真( ) 一般( ) 差( )实验结果:正确( ) 部分正确( ) 错( )实验理论:掌握( ) 熟悉( ) 了解( )操作技能:强( ) 一般( ) 差( )实验报告:好( ) 一般( ) 差( )成绩: 指导教师: 曾宪文 批阅时间: 年 月 日 软件工程 实验报告 - 1 -1、实验目的与要求软件工程是一门实用性强的课程,实验部分主要配合课程的教学,围绕“图书馆管理系统”软件需求分析、设计、实现、测试、维护

2、等过程进行。通过这些实验,使学生更深入的理解软件工程的基本原理、概念和技术方法,掌握软件可行性研究、需求分析、总体设计、详细设计、编码、测试和维护的基本技术和方法,了解软件项目管理、过程模型和团队模型。实验以团队方式组织,每个团队 3-9 人,每人的任务不同,相互合作完成一个项目。开发过程中设置里程碑,每个里程碑进行评审。人人参与评审并被评审。2、 实验步骤 实验步骤及相关文档第一章可行性分析报告1 引言为了方便管理者和与读者、便于图书更好的管理。1.1 编写目的:从现在应用的技术方面和用户的操作方式方面研究图书馆管理管理系统的可行性和必要性。1. 2 项目背景:图书馆每天的图书进出量很大,需

3、要一个管理系统用来统一管理,记录图书的进出信息。开发者:乐传阳用户:图书馆管理员及读者1.3 参考资料:软件工程技术及应用 数据结构 软件工程实践教程软件工程概论2 可行性研究的前提2.1 要求:功能:系统要做到能准确的记录不同图书的借出还入时间,判断是否超时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。系统在稳定性方面也要做到遇到断电、系统崩溃等情况保存数据不能缺失。.性能:稳定快速,实时控制输入/输出:条形码英文和汉字或者扫描仪器输入 ,英文和汉字输出。安全与保密要求:不能轻易被破坏,不能让管理人员以外的人删改图书信息。 。2. 2 可行性研究方法:通过调查分析开发图书馆管理

4、所具备的能力及实现的方法。确定总体结构,利用 SQL Server 数据库所具有的能力,以最简洁最容易的方法,使用 VC+使其成为一个初级的系统软件。2. 3 决定可行性的主要因素:图书馆规模、设备状况、操作人员技术 软件工程 实验报告 - 2 -3 所建议系统技术可行性分析 3.1 对系统的简要描述 系统能做到能准确的记录不同图书的借出还入时间,判断是否超时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。 (1).设备:采用系统后,系统的性能设备要求较高,建议系统使用了最先进的技术使设备也必须跟着升级。(2)软件采用了先进的数据库技术以及一系列高技术含量软件,使得原来系统上的一些

5、软件无法继续使用,不过在新系统开发过程中将尽量考虑到,对现有软件的兼容性。3.2 技术可行性评价 就目前使用的开发技术来说软件的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。 4 软件经济可行性分析4.1 软件不需太多的硬件设施,所以在购买和安装硬件及有关设备上不会有太多费用支出。.4.2 软件并不是太大的系统软件,系统开发费用很低,并没有一次性的巨大投资和日常研究的耗费。4.3 软件安装和运行维护可能会有一定支出。4.4 软件操作简单,界面合理,人员不需复杂的培训。5 社会因素分析该项目为独立开发,在技术上没有使用任何现有的软件与方法。所以在法律方面不会存在侵犯专利

6、权、侵犯版权等问题,完全按照合同规定的责任履行。软件对用户要求不高,不会导致用户不会用的情况。7.其他可供选择的方案 由于软件比较简单,所以没有提供其他的方案,只有一种开发方案。8 结论意见经过一系列的各个不同方面的可行性分析,分析员和用户及使用部门的负责人对需要解决的问题取得基本的一致看法,开发方案得到批准,可以进行开发。第二章需求分析及需求规格说明书1 概述1 1 用户简介本系统要面向图书馆的广大读者,以及图书馆的管理人员。广大读者借书具有时间和数量的无规律性,而图书馆管理人员要准确的记录图书的进出量以及图书的借出还入时间等等。1 2 项目的目的与目标 软件工程 实验报告 - 3 -图书馆

7、具有大量的图书进出信息,为了准确的记录图书的信息,避免图书的缺失。也为了及时反馈图书是否被借出的信息,方便广大读者借阅。系统要做到能准确的记录不同图书的借出还入时间,判断是否超时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。系统在稳定性方面也要做到遇到断电、系统崩溃等情况保存数据不能缺失。1 3 参考资料软件工程技术及其应用实用软件工程软件工程实践教程1 4 相关文档a 可行性分析报告b 概要设计说明书c 详细设计说明书2 目标系统描述21 组织结构与职责3标系统功能需求31 功能需求分析图 书 管 理 系 统日 常 工 作 基 本 资 料 维 护 查 询 系 统 维 护借书管理

8、 还书管理 图书资料的维护 读者资料的维护 图书资料的查询 读者资料的查询 系统登录 权限管理 数据库管理 软件工程 实验报告 - 4 -1日常工作管理:包括借书管理、还书管理。(1) 借书管理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括读者编号、图书编号、借出日期、还书期限、 操作员编号。(2) 还书管理:主要功能是输入借阅证编号、图书编号,在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存 在借阅历史记录表中。2基本资料维护管理:包括图书资料维护、读者资料维护(1) 图书资料维护:包括新书的入库,以及现

9、有书籍资料的修改和删除。(2) 读者资料维护:包括新读者的资料入库,以及现有读者资料的修改和删除3查询管理:包括图书资料查询、读者资料查询。(1) 图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:图书分类 、 图书编号 、 图书名称 、 作者 、 出版社 。(2) 读者资料查询:根据相应的读者资料进行所需查询。 读者编号 、 读者姓名 、读者种类 。4系统管理:系统的登录、标准数据管理(1)系统的登录:管理员的登录。(2)标准数据管理:用于常用数据的系统维护。32功能需求点列表编号 名称 使用者 功能 输入 输出1 借书 读者 借出书籍 书籍编号以及学号书籍是否存在2 还书

10、 读者 还入书籍 书籍编号以及学号书籍数量3 查询 读者以及管理员查询书籍数量书籍编号或名称书籍剩余数量4 系统管理 管理员 常用数据的系统维护管理员验证号系统情况 软件工程 实验报告 - 5 -4目标系统的性能需求41时间要求1响应时间不能太长,要求系统能快速给出应答。2能更新处理时间。3远程数据传输时间不能太长,要及时准确。42空间需求A支持的并行操作的使用者数要达到一定要求,要能支持多个用户同时操作。B要能处理大量文件并记录各种数据。C在一定时间内处理的数据总数要尽可能的大。D输入输出数据要完全符合要求,避免图书信息重复。5.目标系统界面与接口需求51界面需求界面要求方便、简介、美观、一

11、致等。A输入设备:键盘、鼠标、条形码扫描器和扫描仪等。B输出设备:显示器、打印机等。C显示风格:图形和字符界面。D显示方式:1024x768或640x480。52接口需求点1软件接口:可能会需要与一些办公软件相联结。2硬件接口:可能会与一些磁盘机光盘刻录机等连接以便保存数据6目标系统其他需求61安全性1要求查询返回数据不能出错。2对于权限控制要合理。为防止非法利用管理员账户登录进行破坏的行为,系统应有相应的检测模块检测到后应冻结账户。3要有数据库定时备份功能。62可靠性系统应具有数据的及时准确的处理功能,保证数据的可靠性。63灵活性系统应具有一定的灵活处理的能力,比如书籍的编号和名称都可以查询

12、书籍。可键盘输入学号 软件工程 实验报告 - 6 -也可扫描学生卡等7目标系统假设与约束条件可利用的资源有学校的机房和自己的电脑,系统投入使用的最晚时间是2011-6-2。第三章软件设计及设计说明书1、 导言(1) 目的使软件工程规范化,使设计人员遵循统一的概要设计进行编写,降低系统实现的风险,做到系统设计资料规范性与全面性,以利于系统的实现、测试、维护和版本升级等。(2) 范围软件系统总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计和部件之间接口设计等。(3) 命名规则变量命名规则:声明全局变量、局部变量对象的命名规则。数据库对象命名规则:声明数据库表名、字段名、索

13、引名和视图名等对象的命名规则。(4) 术语定义术语定义和解释表序号 术语名称 术语定义1 总体设计 软件系统的总体逻辑结构,按照不同的设计方法有不同的结构2 外部接口 本软件和其他软件之间的接口,接口设施可以是中间件3 数据结构 包括数据库表的结构和其他数据的结构4 视图 在基表和其他视图之上建立的一张虚表,具有很多物理表的性质5 子系统 具有相对独立功能的小系统6 模块 具有功能独立能被调用的信息单元7 角色 数据库中享有某些特权操作的用户8 内部接口 软件内部的各子系统、模块、部件等之间的接口(5) 参考资料1) 用户需求报告。2) 软件开发合同。3) 数据库设计规范。 软件工程 实验报告

14、 - 7 -4) 命名规范。(6) 相关文档1) 详细设计说明书。2) 源程序清单。3) 测试计划及报告。4) 用户使用手册。(7) 版本更新记录由于是最新版本,无更新记录。2、 总体设计(1) 总体结构图书馆管理系统读者子系统管理子系统基础信息图书借阅书目检索图书归还读者开户帐户续费更新图书书目检索读者检索读者管理图书预约管理员管理(2) 运行环境设计硬件平台:条形码扫描仪学生卡读卡机 软件工程 实验报告 - 8 -(3) 子系统清单子系统编号 子系统名称 子系统功能1 读者子系统 供读者借书、还书、查阅图书等2 管理子系统 供管理员管理 读者开户 续借 查阅图书数量、种类等3 基础信息管理

15、 管理读者和管理员的基础信息(4) 功能模块清单模块编号 模块名称 模块功能1 图书借阅 记录借出图书的编号以及对应的学号借出时间等2 图书归还 记录归还图书的编号以及时间,计算是否超时,以及超时罚款等3 图书查找 查找该图书是否还有没有借出以及书名剩余量等信息4 读者开户 为新的读者注册一个账号一般用其学号,记录下他的信息5 更新书库 对于借出和还入的书或者新加或丢失的图书及时记录,更新图书信息3、 模块功能分配该系统,可以分为两大模块,一个小模块:分别为管理子系统,读者子系统两大模块;基础信息管理小模块;在管理子系统中:1):新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理

16、,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求;2):处理学生借书模块:该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会根据学 软件工程 实验报告 - 9 -生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;3):处理学生还书模块:该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图

17、书字段时,系统会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算之后将结果显示出来;在查询子系统中:有两个查询内容:1) 学生信息查询:学生信息查询子模块主要是对学生信息的查询;2) 图书信息查询:图书信息查询子模块主要是对图书信息的查询;这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安

18、全性和系统的安全性;4、 数据结构设计(1)数据库表名清单序号 表名 功能概述1 学生文件表 记录学生的信息,方便学生借书还书注册等2 图书目录文件 记录图书库里的总图书量及其信息3 借书文件表 方便查看哪些书籍被借出 还入及其时间4 入库单表 记录新入库的图书信息5 管理员表 管理员的 id 等 方便管理员的身份注册及验证登陆(2) 数据库表的详细清单A:学生文件表:1 学生编号 Int 4 1 自动编号2 姓名 nvarchar 103 性别 nvarchar 2 4 证件号码 nvarchar 25 5 联系电话 nvarchar 40 软件工程 实验报告 - 10 -6 登记日期 da

19、tetime 8 7 有效期至 datetime 8 8 已借书数 smallint 2 9 是否挂失 nvarchar 2 B:图书目录文件序号 字段名 类型 长度 精度 小数位数 默认值 允许空 主键 说明1 图书编号 Int 4 1 自动编号2 条形码 nvarchar 203 书名 nvarchar 2004 图书类型 Nvarchar 50 5 作者 Nvarchar 20 6 译者 Nvarchar 20 7 ISBN Nvarchar 208 出版社 Nvarchar 30 9 价格 Money 8 10 书架名称 Nvarchar 20 11 现存量 Smallint 2 12

20、 库存总量 Smallint 2 C:借书文件表序号 字段名 类型 长度 精度 小数位数默认值 允许空 主键 外键 说明1 借阅编号Int 4 1 自动编号2 图书编号Int 4 3 学生编号Int 4 4 借阅时间Datatime 8 软件工程 实验报告 - 11 -5 应还时间Datatime 8 6 续借次数Smallint 2 D:入库单表序号 字段名 类型 长度 精度 小数位数默认值 允许空 主键 外键 说明1 书号 Nvarchar 30 1 自动编号2 条形码 Nvarchar 20 3 书名 Nvarchar 200 4 作者 Nvarchar 20 5 出版社 Nvarcha

21、r 30 6 版次 Nvarchar 50 7 图书类别Nvarchar 20 8 存放位置Nvarchar 20 9 单价 Money 8 10 入库数量Smallint 2 11 金额 Money 8 12 经手人 Nvarchar 10 13 票号 Nvarchar 30 14 操作员 Nvarchar 10 15 日期 datatime 8 软件工程 实验报告 - 12 -E:管理员表序号 字段名 类型 长度 精度 小数位数默认值 允许空 主键 说明1 管理员ID int 4 2 管理员密码char 153 权限 nvarchar 165、 接口设计5.1 外部接口用户接口:采用窗口化

22、,菜单式进行设计,在操作时响应热键。硬件接口:一卡通,扫描仪器5.2 软件接口通过 JDBC 对 SQL Server2000 数据库的连接内部接口通过面向对象语言设计类,在 public 类中实现调用;类间实现严格封装第四章编码及测试一 源代码#include#include#include#include#include#include#define STACK_INIT_SIZE 10#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0struct student /*学生 的 卡号 已借的书 */int carnum;char

23、 lendbook10;student1000; 软件工程 实验报告 - 13 -struct book /*书的编号 书名 状态 */int booknum;char bookname10;int turefalse; book1000;struct card /*卡的编号 对应的学生名字 班级*/int cardnum;char studentname10;card100; book_add();book_search(); int panduan(); book_change();book_delect();card_add();book_lend();book_history() ;s

24、ystem_about();system_edition();window_display();book_manage();book_lend_return();system_help();window_choice();system_exit();book_return();/* 主函数 */void main() window_display();window_choice();/* 主界面 显示子函数*/window_display()printf(“n“);printf(“ 图书管理系统 n“); printf(“n“);printf(“n“);printf(“ 1: 图书管理n“);

25、 软件工程 实验报告 - 14 -printf(“ 2:图书借还 n“); printf(“ 3: 系统帮助 n“); printf(“ 4: 退出系统 n“); printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“ 请选择进入的板块 n“);/* 主界面 选项子函数 */ window_choice()char choice1;scanf(“%s“,switch(choice1)case 1:book_manage();break;case 2:book_lend_return();b

26、reak;case 3:system_help();break;case 4:system_exit();break;book_manage()char manage_choice;system(“cls“);printf(“n“);printf(“ 这里是图书管理板块 n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“ 1 加书 2 改书 3 删书 4 查书 0 返回 n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“); 软

27、件工程 实验报告 - 15 -printf(“ 请您选择 n“);scanf(“%s“,switch(manage_choice)case 1:book_add();break;case 2:book_change();break;case 3:book_delect();break;case 4:book_search();break;case 0: system(“cls“);window_display();window_choice();break;book_lend_return()char choic;system(“cls“);printf(“ 这里是图书借还板块 n“);pri

28、ntf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“ 1 办卡 2 借书 3 还书 4 历史 0 返回 n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“ 请您选择 n“);scanf(“%s“,switch(choic)case 1:card_add();break;case 2:book_lend();break;case 3:book_return();break;case 4:book_history();break

29、;case 0: system(“cls“);window_display();window_choice();break;system_help()char choice_help;system(“cls“);printf(“ n“);printf(“ 这里是系统帮助板块 n“); 软件工程 实验报告 - 16 -printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);printf(“ 1 关于系统 2 版本信息 0 返回 n“);printf(“n“);printf(“n“);printf(“n“);printf(“n“);p

30、rintf(“n“);printf(“ 请您选择 n“);scanf(“%s“,switch(choice_help)case 1:system_about();break;case 2:system_edition();break;case 0: system(“cls“);window_display();window_choice();break;/* 加书 */int panduan() int bookmum,i=0;FILE *fp=fopen(“C:book.txt“,“a+“);scanf(“%d“,for(i=0;fread(i+) if(bookmum=booki.book

31、num) printf(“您输入的编号重复 请重新输入n“);panduan();return bookmum;book_add() FILE *fp;int bookmum=0;int i=0,j=0;system(“cls“);printf(“ n“);printf(“ 请您输入这本书的编号 n“); bookmum=panduan(); 软件工程 实验报告 - 17 -booki.booknum=bookmum;printf(“ 请您输入这本书的书名 n“); scanf(“%s“,printf(“ 请您设置书的状态 1 表示没有人借 0 表示已经借出n“); scanf(“%d“,fp

32、=fopen(“C:book.txt“,“a+“);fwrite(fclose(fp);/* 一(2) 查书 */book_search() FILE *fp;char bookname10;int i;system(“cls“);fp=fopen(“C:book.txt“,“r“);printf(“n“); printf(“ 请输入你要查找的书名 n“); scanf(“%s“,bookname);for(i=0;fread(i+)if(strcmp(bookname,booki.bookname)=0)if(booki.turefalse=1)printf(“这本书还在n“); else

33、printf(“这本书被借了n“);fclose(fp); fclose(fp);return 0;printf(“没有这本书n“); fclose(fp);return 0; 软件工程 实验报告 - 18 -/* 一(3) 改书 */book_change() FILE *fp,*fp2;char bookname10,choice;int i;fp=fopen(“C:book.txt“,“r“);fp2=fopen(“C:bookl.txt“,“w“);system(“cls“);printf(“ n“);printf(“ 您要改那本书 n“); scanf(“%s“,bookname);

34、for(i=0;fread(i+)if(strcmp(booki.bookname,bookname)=0)printf(“ 请选择要修改的内容 n“); printf(“ 编号:%d 书名:%s n“,booki.booknum,booki.bookname);printf(“ 1:修改书的编号n“); printf(“ 2:修改书名n“); scanf(“%s“,switch(choice)case 1:printf(“输入新编号n“); scanf(“%d“,fwrite(break;case 2:printf(“新书名:n“); scanf(“%s“,booki.bookname);f

35、write(break;continue;fwrite(fclose(fp); 软件工程 实验报告 - 19 -fclose(fp2);fp=fopen(“C:book.txt“,“w“);fp2=fopen(“C:bookl.txt“,“r“);for(i=0;fread(i+)fwrite(fclose(fp);fclose(fp2);fp2=fopen(“C:bookl.txt“,“w“);fclose(fp2);printf(“没有这本书 n“);/* 一 (4) 删书 */book_delect() FILE *fp,*fp2;int i;char bookname10,choice

36、;fp=fopen(“C:book.txt“,“r“);fp2=fopen(“C:bookl.txt“,“w“); /打开书文件 临时文件system(“cls“);printf(“ n“);printf(“ 输入要删除的书名 n“);scanf(“%s“,bookname);for(i=0;fread(i+) /把书文件的书本一一加到内存中if(strcmp(bookname,booki.bookname)!=0)/把要删除的与刚刚输入到内存中的书进行比较fwrite(/如果有这本书 把它存到临时文件中fclose(fp);fclose(fp2);printf(“您整的要删除吗 删除请按 y

37、n“); /再次确认 scanf(“%s“,/if(choice=y|choice=Y)fp=fopen(“C:book.txt“,“w“);fp2=fopen(“C:bookl.txt“,“r“);/打开书文件 和刚才那个临时文件 for(i=0;fread(i+) /把临时文件中的书本一本一本读到内存中 软件工程 实验报告 - 20 -fwrite(/如果读入成功 就把它写到书文件中fclose(fp);fclose(fp2);fp2=fopen(“C:bookl.txt“,“w“);/以只写方式建立并打开文本文件 已存在的文件将被覆盖fclose(fp2);return 0;elsepr

38、intf(“按任意键退出n“);return 0;/* 二 (1)办卡 */card_add() FILE *fp;int i=0;fp=fopen(“C:card.txt“,“a+“);system(“cls“);printf(“ n“);printf(“ 请输入卡号n“); scanf(“%d“,printf(“ 申请人姓名n“); scanf(“%s“,cardi.studentname);fwrite(fclose(fp); printf(“ n“);(“ 卡办好了n“); /* 二(2 ) 借书 */book_lend() FILE *fp,*fp2;int i,n;int card

39、num;system(“cls“);printf(“n“);printf(“ 您的卡号是: n“); 软件工程 实验报告 - 21 -scanf(“%d“,fp=fopen(“C:card.txt“,“r“);for(i=0;fread(i+)if(cardi.cardnum=cardnum)n=i;fclose(fp);printf(“您要借那本书:n“); scanf(“%s“,studentn.lendbook);fp=fopen(“C:book.txt“,“r“);for(i=0;fread(i+)if(strcmp(booki.bookname,studentn.lendbook)=

40、0)if(booki.turefalse=0) printf(“这本书被借了!n“);fclose(fp);getch(); else fclose(fp);fp=fopen(“C:record.txt“,“a+“);studentn.carnum=cardnum;fwrite(fclose(fp);fp=fopen(“C:book.txt“,“r“);fp2=fopen(“C:bookl.txt“,“w“);for(i=0;fread(i+)if(strcmp(booki.bookname,studentn.lendbook)=0)booki.turefalse=0;fwrite(conti

41、nue;fwrite(fclose(fp);fclose(fp2);fp=fopen(“C:book.txt“,“w“);fp2=fopen(“C:bookl.txt“,“r“);for(i=0;fread(i+)fwrite(fclose(fp);fclose(fp2);fopen(“C:bookl.txt“,“w“);fclose(fp2); 软件工程 实验报告 - 22 -printf(“借书成功n“); return 0; printf(“图书馆没有这本书 n“); fclose(fp);getch();return 0;printf(“您输入的卡号不正确 请您办张新卡n“); fcl

42、ose(fp);getch();return 0; /* 二 (3)还书 */book_return() FILE *fp,*fp2; /*定义两个文件指针,fp2 用于修改数据时设立临时文件用,防止数据遭破坏*/int i,n;int cardnum;char lendbook10;system(“cls“);printf(“ n“);printf(“ 您的卡号是:n“); scanf(“%d“,fp=fopen(“C:card.txt“,“r“); /*读取卡号记录*/for(i=0;fread(i+) /*用 For 循环语句判断卡号是否存在*/if(cardi.cardnum=cardnum) n=i;fclose(fp);printf(“ 您要还那本书n“); scanf(“%s“,lendbook);fp=fopen(“C:record.txt“,“r“);for(i=0;fread(i+) /*判断是否借阅了输入的书*/if(s

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报