C语言大作业-图书馆管理系统1.doc_第1页
C语言大作业-图书馆管理系统1.doc_第2页
C语言大作业-图书馆管理系统1.doc_第3页
C语言大作业-图书馆管理系统1.doc_第4页
C语言大作业-图书馆管理系统1.doc_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

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

文档简介

大学毕业设计C语言课程设计报告题 目: 图书馆管理系统 学 号: * 学生姓名: * 专业年级: * 指导教师: * * 系*年*月*日目 录摘 要I前 言III1 需求分析12 系统描述及界面设计52.1 数据描述:52.2 数据库描述62.3 数据流图和数据词典72.4数据采集122.5界面设计123 系统功能模块的设计与实现193.1 软件结构设计193.2 程序描述213.2.1 读者添加213.2.2 读者查询修改213.2.3 图书添加253.2.4 图书查询修改263.2.5 借书模块293.2.6 查询借阅还书模块323.2.7 续借模块343.2.8 图书查询模块364 总结39摘 要图书馆是最丰富、最宝贵的信息源和知识源。图书借还业务是图书馆的主要工作之一,每天要花费管理人员大量的时间来进行借书证分类、归户、统计等工作,有时还会出现错误,给下一环节的工作和读者带来不便。由于手工统计的时间限制,所需要的许多报表不能如期完成。随着计算机技术的发展和普及,利用计算机技术准确、快捷、方便的特点进行图书借阅管理,不仅能实现书证管理、还书和借书管理的计算机话、库存图书的分布查询,还能对借出图书进行系统,及时提供准确、详细的借阅数据,为采购部门提供可靠、具体的购书信息。图书馆管理系统已成为方便了广大师生、学校与外界之间的沟通架起了一座桥梁。但是,这并不能满足目前师生的需要。比如一些特定的需要要,在管理方面特别不方便,因为它受到地域的限制太大。就目前情况而言,急需充分利用网络方式的图书管理。我们的网络图书馆管理系统就是为了解决这问题而设计的。本软件采用B/S结构,ASP+ACCESS的经典网络搭配,利用服务器的强大功能,在网络中发挥出良好,所以应用很广泛,能满足目前各学院特定用户进行图书管理的目的,而且这些通用的软件,任何人都可以得到并对其进行研究。关键字:B/S,数据库,IIS,ASP 绪论随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。计算机网络近年来获得飞速的发展,十年前,很少有人接触过网络。如今,计算机网络已经成为我们社会结构的一个基本组成部分。网络已被应用到人类生活的各个方面,人们通过网络通信,共享资源,网上超市、电子银行等也应运而生,各种提供不同特色,不同内容的网站如雨后春笋般涌现。计算机网络的发展为人们打开了一种新的视野,促成了一个新领域新产业的产生。网络的发展试图用一种全新的概念冲击各个传统的商业模式,改变人们的生活方式。新的需求产生了,人们想通过网络进行个人通信、媒体传播、商业运作、办公、教学等。总之网络技术的发展促进了社会经济结构的变革。反之,社会经济对网络发展提出的新的需求又大大的促进了网络的发展,计算机网络及其所涉及的一系列技术成为计算机领域新的研究热点。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。而采用功能强大的数据库软件开发工具进行图书管理软件开发,具有很好的可移植性,可在应用范围较广的WINDOWS系列等操作系统上使用。除此以外,图书馆管理系统已成为方便了广大师生、学校与外界之间的沟通架起了一座桥梁。但是,这并不能满足目前师生的需要。比如一些特定的需要要,在管理方面特别不方便,因为它受到地域的限制太大。就目前情况而言,急需充分利用网络方式的图书管理。我们的网络图书馆管理系统就是为了解决这问题而设计的。只要管理员掌握用户名和密码,无论这个管理员在哪里,只要能上网冲浪,就能进行工作。而且,该系统对计算机的软硬件都要求并不高,使用性比较强。1 需求分析图书管理系统针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。相应的需求有:(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括: 图书信息的录入、删除及修改。 图书信息的多关键字检索查询。 图书的出借、返还和资料统计。(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括: 读者信息的登记、删除及修改。 读者资料的统计与查询。(3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。技术手段开发工具:VBVB是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。VB具有以下特点:1、 面向对象。VB采用了面向对象设计思想,它基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。所谓“对象”就是个可操作实体如窗体、窗体中命令按钮、标签、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性。2、 事件驱动。在Windows环境下是以事件驱动方式运行每个对象的都能响应多个区别事件,每个事件都能驱动段代码事件过程,该代码决定了对象功能。通常称这种机制为事件驱动的编程机制。可由用户操作触发也可以由系统或应用触发例如单击个命令按钮就触发了按钮Click(单击)事件该事件中代码就会被执行,若用户未进行任何操作(未触发事件)则就处于等待状态整个应用就是由彼此独立事件过程构成。3、 软件Software集成式开发。VB为编程提供了个集成开发环境,在这个环境中编程者可设计界面、编写代码、调试直至把应用编译成可在Windows中运行的可执行文件,并为它生成安装VB集成开发环境,为编程者提供了很大方便。4、 结构化设计语言。5、 强大数据库访问功能。6、 支持对象连接和嵌入技术7、 网络功能。8、 多个应用向导。9、 支持动态交换、动态链接技术10、 具有联机帮助功能后台数据库:ACCESSMicrosoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。另外,Access还是c语言的一个函数名和一种交换机的主干道模式。 2 系统描述及界面设计2.1 数据描述:2.1.1 数据库设计图书管理系统的表单包括:图书(book): 图书编号( BookID);图书书名(BookName);图书作者(Writer);图书出版社(Publisher);图书单价(BookPrice);图书摘要(Booktxt);图书分类(Booktype ID);图书状态(Borrow);图4-1 book表视图图书类别(booktype): 类别编号( Booktype ID);图4-2 booktype表视图读者(reader): 读者识别号(ReaderID);读者姓名(Name); 性别(Sex);读者联系方法(Address); 电话号(TelephoneNumber);图4-3 reader表视图图书借阅记录(borrow): 借阅图书号(bookID); 借阅者证号(ReaderID);借书日期(BorrowDate);借阅备注(Borrowtxt)图4-4 borrow表视图2.1.2 动态数据输入数据: 鼠标对按钮的点击 查询方式、查询关键字; 新建图书项、读者项; 图书项、读者项相应纪录更改; 借阅、返还、丢失注销时的书号、借阅证号;输出数据: 查询关键字确定的数据库记录的子集; 信息录入、删改结果(成功或失败); 图书借阅、返还、丢失注销等操作结果;2.2 数据库描述数据库采用Microsoft Access数据库。2.3 数据流图和数据词典图书管理系统的总体功能如下:图书的出借;图书的返回;图书的增删改;读者的增删改;图书管理者查询统计图书和读者信息;(1)读者借书过程:数据流图:图4-5读者借书数据流图图书信息;读者信息; 图书访问记录;日期;数据词典:数据源点及汇点描述:名称:读者简要描述:借书、还书、查询及登记注册名称:日历简要描述:当日日期加工逻辑词条描述:加工名:借书检验加工编号:1简要描述:检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能借书输入数据流:借书证;所借书本,读者信息,图书信息,图书访问记录,日期输出数据流:借书错误信息,借书信息加工逻辑:IF借书证未登记入库THEN发出“借书错误”ELSEIF图书未登记入库THEN发出“借书错误”ELSEIF读者已借图书和现借图书多于限制数THEN发出“借书错误”ELSEIF读者已借图书中有超期THEN发出“借书错误”ELSE发出“借书信息”ENDIFENDIFENDIFENDIF加工名:借书登记加工编号:2简要描述:将“借书信息”登记到“图书访问记录库图书访问记录”中,完成后将书本递交读者输入数据流:借书信息,日期输出数据流:图书访问记录,图书加工逻辑:将借书信息及日期写入图书访问记录;将图书递交读者数据流名词条描述:数据流名:借书证说明:用以携带读者的唯一识别标识数据流名:图书说明:记录图书的主要相关信息数据流名:借书信息说明:用于传递读者号和图书号数据流名:日期说明:提供当前日期信息数据文件词条描述:数据文件名:读者库简述:存放读者信息输入数据:输出数据:读者信息数据文件组成:读者库由“读者信息”组成存储方式:关键码存取频率:数据文件名:图书库简述:存放图书信息输入数据:输出数据:图书信息数据文件组成:图书库由“图书信息”组成存储方式:关键码存取频率:(2)读者还书过程:图4-6读者还书数据流图加工逻辑词条描述: 加工名:还书检验加工编号:3简要描述:检验图书是否图书室外借图书输入数据流:图书,图书访问记录输出数据流:检验错误,还书信息加工逻辑:IF书号与数据库数据不符THEN发出“检验错误”ELSE发出“还书信息”ENDIF 加工名:还书登记加工编号:4简要描述:删除读者对该图书的借书信息,给出警告及天数输入数据流:还书信息,日期输出数据流:图书访问纪录,还书成功加工逻辑:IF所还图书超期THEN统计超期天数 生成含警告的返回信息ELSE删除图书访问记录库中相应的借书记录 生成成功信息ENDIF 给出还书返回信息数据流名词条描述: 数据流名:还书信息说明:用于传递图书书号 数据流名:还书成功说明:用于通知还书成功(3)读者查询浏览过程:图4-7读者查询浏览过程加工逻辑词条描述: 加工名:查询许可检验加工编号:5简要描述:检验读者身份是否有效输入数据流:借书证,查询信息,读者信息输出数据流:检验错误,查询信息加工逻辑:IF借书证在读者库中不存在THEN发出“检验错误”ELSE发出“查询信息”ENDIF 加工名:数据查询加工编号:6简要描述:根据所读入的查询信息,检索图书库和图书访问记录库得出相应结果输入数据流:查询信息,图书信息,图书访问记录,日期输出数据流:查询结果加工逻辑:根据查询信息,检索图书库和图书记录(4)图书管理员查询浏览过程:图4-8图书管理员浏览过程加工逻辑词条描述; 加工名:数据查询加工编号:12简要描述:根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果加工逻辑:根据所读入的查询信息,检索读者库、图书库和图书访问记录库得出相应结果2.4数据采集数据采集采用键盘输入。2.5界面设计2.5.1 用户界面按Web应用软件用户界面的规范来设计,使用以Web页面为主的用户界面,便于用户使用。(1)主页面:由框架超链构成读者管理、图书管理、借阅管理、图书分类图4-9主页面(2)借阅管理:借书:图4-10借阅管理页面还书/续借:图4-11还书、续借页面借阅查询:图4-12借阅查询页面(3)读者管理:添加读者:图4-13读者管理页面修改读者:图4-14修改读者页面读者列表:图4-15读者列表页面(4)图书管理:添加新书:图4-16添加新书页面书库管理:图4-17书库管理页面(5)图书分类:图4-18图书分类页面(6)成功确认:图4-19成功确认页面(7)图书查询:图4-20图书查询页面2.5.2 软件接口使用Access数据库的驱动程序,通过COM接口访问。2.5.3 硬件接口键盘、鼠标。 3 系统功能模块的设计与实现主模块3.1 软件结构设计用户界面模块调度还 书借 书查询输 出续 借输入 借书模块 图5-1主模块结构图图书查验用户界面读者身份查验操作命 令 输入输入借书登记 输出获取信息数据库操作 数据库查询图5-2借书模块图 还书模块 输出获取信息 输入数据库操作 用户界面 记录还书信息 还书登记 借书记录查验 超期操作命令 数据库查询图5-3 还书模块图 图5-4 图书库操作模块图 读 者 库 操 作 模 块 用户界面输入更新显示输出获取相关信息 事 务 处 理获取记录移动至指定ID加入记录删除记录移动至下一个记录移动 至最后记录移动至第一个记录移动至上一个记录 数据库查询 数据库操作 更新当前记录 输入ID ID查验 图5-5 读者库操作模块图3.2 程序描述借阅模块初始化3.2.1 读者添加图书查询模读者模块图书模块功能建立与数据库连接查验输入的读者,性别自动生成借书证号保存并断开与数据库的连接图5-6读者添加功能模块图输入项目用户键盘、鼠标点击输入程序逻辑进入添加读者页面输入读者信息输入不合理验证添加读者记录添加成功到修改图5-7 读者添加模块图3.2.2 读者查询修改功能查验输入的读者证号运行查询获取该读者的相关信息修改、删除 读者信息(姓名); 程序逻辑进入查询读者页输入读者证号/姓名查 验输入不合理查无此人进入修改读者页读者库查询读者输入修改读者信息输入不合理查验修改是否删除有误借书查询查验输入修改保存成功借书未还查验借书删除成功图5-8 读者查询修改逻辑图程序实现*姓名性别填写有误if readername= or (sex0 and sex1) thenresponse.write alert(警告!姓名,性别有误!); history.back(-1)response.endend if查询修改if readerid=1 thenresponse.write alert(错误!基本项不能改); history.back(-1)response.endend ifsql=select * from reader where readerid=&readeridend ifrs.open sql,db,1,3查询修改if not rs.eof or not rs.bof thenif methd=删除 then检查借阅sql=select * from reader,borrow where reader.serialnumber=borrow.serialnumber and reader.readerid=&readeridrs1.open sql,db,1,3借书未还,不能删除该读者if not rs1.eof or not rs1.bof thenrs1.closeset rs1=nothingrs.closeset rs=nothingresponse.write alert(警告!此人借书未还,不能删除.); history.back(-1)response.end删除该读者elsers.deleters.updaters.closeset rs=nothingrs1.closeset rs1=nothingresponse.write alert(删除成功.);response.write response.write 点击:此处 返回 读者列表 response.endend ifelseif methd=修改 thenrs(readername)=readernamers(sex)=sexrs(readertel)=readertelrs(readeraddress)=readeraddressrs(readertxt)=readertxtrs.updaters.closeset rs=nothingresponse.write alert(修改成功.);response.write 点击:此处 返回 读者列表 response.endelsers.closeset rs=nothingresponse.write alert(错误!方法错误.); history.back(-1)response.endend if3.2.3 图书添加功能建立与数据库连接查验输入的图书信息自动生成图书编号保存并断开与数据库的连接输入项目用户键盘、鼠标点击输入进入添加图书页面程序逻辑输入图书信息输入不合理验证归入杂类有无分类添加图书记录添加成功到修改图5-9 图书添加逻辑图3.2.4 图书查询修改功能查验输入的图书相关信息获取该图书的相关信息查询借阅分页显示输入项目图书相关信息(用户输入)输出项目完整图书信息(书名、借书日期);借阅信息程序逻辑图5-10图书查询修改逻辑图程序实现*if methd删除 thenif methd添加 and (onno0 and onno1) thenresponse.write alert(警告!废弃项有误); history.back(-1)response.endend ifif(booktypeid=) thenbooktypeid=1if(bookmoney=) thenbookmoney=0end if查询修改if bookid=1 thenresponse.write alert(错误!基本项不能改); history.back(-1)response.endend ifsql=select * from book where bookid=&bookidend ifrs.open sql,db,1,3查询修改if not rs.eof or not rs.bof then删除废书if methd=删除 and rs(onno)=1 thenrs.deleters.updaters.closeset rs=nothingresponse.write alert(删除成功.);response.write response.write 点击:此处 返回 废书管理 response.end图书修改elseif methd=修改 then验证要废弃的图书if onno=1 thensql=select * from book,borrow where book.bookbianhao =borrow.bookbianhao and book.bookid=&bookidrs1.open sql,db,1,3 if not rs1.eof or not rs1.bof thenrs1.closeset rs1=nothingrs.closeset rs=nothingresponse.write alert(警告!此书已借出,先还书再删除); history.back(-1)response.endend ifrs1.closeset rs1=nothingend ifrs(bookname)=booknamers(booktypeid)=booktypeidrs(bookbianhao)=bookbianhaors(bookdate)=bookdaters(onno)=onnors(booktxt)=booktxtrs.updaters.closeset rs=nothingresponse.write alert(修改成功.);if onno=1 thenresponse.write 点击:此处 返回 废书管理 response.endelseresponse.write 点击:此处 返回 书库浏览 response.endend ifrs.closeset rs=nothingresponse.write alert(错误!方法错误.); history.back(-1)response.endend if3.2.5 借书模块功能借书程序逻辑借阅页面出错返回借书记录查验模块借书出错更新图书信息及显示借书成功图5-11借书模块程序逻辑图程序实现*bookbianhao=Trim(Request(bookbianhao)borrowtxt=Trim(Request(borrowtxt)methd=Trim(Request(methd)set rs=server.createobject(adodb.recordset)图书借阅if serialnumberand bookbianhaoand methd=thenif bookbianhao=1 or serialnumber=1thenresponse.write alert(错误!基本项不能改); history.back(-1)response.endend if验证读者sql=select * from reader where serialnumber=&serialnumber&rs.open sql,db,1,3if not rs.eof or not rs.bof thensql=select * from borrow where serialnumber=&serialnumber&rs.closers.open sql,db,1,3if rs.recordcount=5 thenresponse.write alert(警告!您已借满); history.back(-1)response.endend ifelseresponse.write alert(错误!没有此图书证); history.back(-1)response.endend if验证图书sql=select * from book where onno=0 and bookbianhao=&bookbianhao&rs.closers.open sql,db,1,3if not rs.eof or not rs.bof thensql=select * from borrow where bookbianhao=&bookbianhao&rs.open sql,db,1,3if not rs.eof or not rs.bof thenresponse.write alert(警告!此书已借出); history.back(-1)response.endelsesql=select * from borrow where bookbianhao=rs.closers.open sql,db,1,3rs.addnewrs(bookbianhao)=bookbianhaors(serialnumber)=serialnumberrs(borrowdate)=date+60rs(borrowtxt)=borrowtxtrs.updatesql=select * from book where bookbianhao=&bookbianhao&rs.closers.open sql,db,1,3if not rs.eof or not rs.bof thenrs(borrow)=1rs.updateend ifrs.closeset rs=nothingresponse.write alert(借阅成功.);response.write response.write 点击:此处 返回 借阅列表 response.endend ifelseresponse.write alert(错误!没有此书或已废弃); history.back(-1)rs.closeset rs=nothingresponse.endend ifend if3.2.6 查询借阅还书模块功能显示查询借阅页面查验输入的图书书号/图书证对合法输入登录还书信息显示相关信息(本次还书操作信息,尚未归还图书的相关信息,读者信息)程序逻辑点击退出查询借阅出错返回查询信息查验模块还书出错更新图书信息及显示还书成功图5-12查询借阅还书模块逻辑图程序实现*还书if serialnumber and bookbianhao and methd=return thensql=select * from borrow where serialnumber=&serialnumber& and bookbianhao=&bookbianhao&rs.open sql,db,1,3图书归还if not rs.eof or not rs.bof thenif rs(borrowdate)date thentt=date-rs(borrowdate)sql=select * from reader where serialnumber=&serialnumber&rs1.open sql,db,1,3if not rs1.eof or not rs1.bof thenrs1(readertxt)=rs1(readertxt)&欠款:&tt&元rs1.updatereaderid=rs1(readerid)rs1.closeset rs1=nothingelseresponse.write alert(错误!该书已归还.);history.back(-1)response.endend ifend ifrs.deleters.updatesql=select * from book where bookbianhao=&bookbianhao&rs.open sql,db,1,3if not rs.eof or not rs.bof thenrs(borrow)=0rs.updateend ifif tt0 thenresponse.write alert(归还成功,超期:&tt&天.);response.write response.write 点击:此处 还欠款 response.write 返回 response.endelseresponse.write alert(归还成功);response.write response.write 点击:此处 返回 借阅列表 response.endend ifelseresponse.write alert(错误!该书已归还.);history.back(-1)response.endend ifend if3.2.7 续借模块功能显示查询借阅页面查验输入的图书书号/图书证核对合法输入续借信息显示相关信息(本次续借操作信息,尚未归还图书的相关信息,读者信息)程序逻辑 图5-13 续借模块功能逻辑图程序实现*续借if serialnumber and bookbianhao and methd=return2 thensql=select * from borrow where serialnumber=&serialnumber& and bookbianhao=&bookbianhao&rs.open sql,db,1,3图书续借if not rs.eof or not rs.bof thenif rs(borrowdate)date thentt=date-rs(borrowdate)sql=select * from reader where serialnumber=&serialnumber&rs1.open sql,db,1,3if not rs1.eof or not rs1.bof thenrs1(readertxt)=rs1(readertxt)&欠款:&tt&元rs1.updatereaderid=rs1(readerid)rs(borrowdate)=date+30elseresponse.write alert(错误!该书已归还.);history.back(-1)response.endend ifelsers(borrowdate)=rs(borrowdate)+30end ifif tt0 thenresponse.write alert(续借成功,超期:&tt&天.);response.write response.write 点击:此处 还欠款 response.write 返回 response.endelseresponse.write alert(续借成功成功);response.write 点击:此处 返回 借阅列表 response.endend ifelseresponse.write alert(错误!该书已归还.);history.back(-1)response.endend ifend if3.2.8 图书查询模块功能根据给定查询条件,查询数据库,获取图书信息输入项目查询方式指定以及查询关键字输出项目查询页面查询结果列表显示程序逻辑查询生成查询命令查询数据库显示结果列表退 出 图5-14 图书查询逻辑图程序实现*bookbianhao=trim(request(bookbianhao)bookname=trim(request(bookname)booktype=tr

温馨提示

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

评论

0/150

提交评论