计算机软件技术专业毕业论文06179.docx_第1页
计算机软件技术专业毕业论文06179.docx_第2页
计算机软件技术专业毕业论文06179.docx_第3页
计算机软件技术专业毕业论文06179.docx_第4页
计算机软件技术专业毕业论文06179.docx_第5页
免费预览已结束,剩余114页可下载查看

下载本文档

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

文档简介

毕业设计报告 毕业(设计)论文(设计)论文题目书籍管理系统设计摘要为了便于图书资料的管理需要有效的图书管理软件,减轻工作人员的工作量,方 便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高图书 借阅信息管理效率的目的。 基于这个问题, 开发了大学图书馆借阅系统。 系统采用 microsoft visual studio 2008软件c#编程语言进行设计,利用sql server为源数据库2005进行数据设计,设计思路上采用三层架构设计,实现了借还书的方便、高效性、有效性和及时性,维护性高。分别从 设备管理和用户管理等角度进行处理,并对需求分析、概念设计、逻辑设计、物理设计、 数据库实施进行了阐述,实行设备管理的计算机自动化。目 录摘要2目 录31 绪论41.1 开发背景.41.2 开发必要性及系统介绍.52 书籍管理系统分析62.1功能结构图.62.2市场需求分析.72.3系统需求分析.73书籍管理系统功能设计.83.1功能结构图.83.2功能模块设计.93.3数据流图.104 数据库设计114.1数据库分析.114.2数据库概念设计.124.3数据字典.145 代码设计165.1登录和首页代码设计.165.2系统设置代码设计.185.3读者管理代码设计.205.4图书管理代码设计.225.5图书借还代码设计.245.6系统查询代码设计.265.7图书借还代码设计.285.8 退出系统代码设计.286 结论297 参考文献298致谢301 绪论1.1开发背景当今时代是飞速发展的信息时代。 在各行各业中离不开信息处理, 这正是计算机被广 泛应用于信息管理系统的环境。 计算机的最大好处在于利用它能够进行信息管理。 使用计 算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理, 计算机能够充分发挥它的优越性。 计算机进行信息管理与 信息管理系统的开发密切相关, 系统的开发是系统管理的前提。 本系统就是为了管理好图 书馆信息而设计的。 图书馆作为一种信息资源的集散地, 图书和用户借阅资料繁多, 包含很多的信息数据 的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。 根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理, 对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对 借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。 数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说, 缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没 有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对 图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂; 一般借阅情况是记录在借书证上, 图书的数目和内容记录在文件中, 图书馆的工作人员和 管理员也只是当时对它比较清楚, 时间一长, 如再要进行查询, 就得在众多的资料中翻阅、 查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于 这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序 化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.2开发必要性及系统介绍目前计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经 十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如 此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂而 有重复性的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提 高人们的工作效率;第四,计算机可以使敏感文档更加安全;第五,便于管理人 员的管理等等。 要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用 户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管 理系统管理。本文中数据库服务器端采用了 microsoft access 数据库作为数据 源,并进行数据库存取等操作,使 与数据库紧密联系起来。 图书管理系统是一个图书馆单位不可缺少的部分, 它的功能对于图书管理的 快速和高效的管理图书信息及借阅信息致关重要, 所以图书管理系统应该能够为 用户提供充足的信息和快捷的查询手段。 但一直以来人们使用传统人工的方式进 行图书管理,这种管理方式存在着许多缺点,如:效率低、时间长、易冲突、不 完美。 作为计算机应用的一部分,使用计算机对图书信息进行借阅管理,具有手工 管理所无法比拟的优点。例如:管理速度快、查找方便、可靠性高、成本低等。 这些优点能够极大地提高图书管理中的效率,也是图书馆的科学化、正规化、信 息化管理,与世界接轨的重要条件。通过调查及现实中国书馆的需求,应将该系统分为七大模块:登录模块、系统设置、图书管理和读者模块,图书借还,系统查询,排行榜,更改口令。系统设置:图书馆信息、管理员设置、书架管理。读者管理:读者类型管理、读者档案管理。图书管理:图书类型管理、和图书档案管理。图书借还:图书借阅、图书归还。系统查询:图书档案查询、图书借还查询。排行榜: 图书借阅排行榜、读者借阅排行榜。更改口令:更改当前系统管理员的信息。2 书籍管理系统分析2.1功能结构图图1 图书管理系统功能结构图2.2市场需求分析1.面对大量繁杂的图书馆管理,分类,查询与借还工作,迫切的需要通过计算 机来帮助解决,介绍图书馆管理人员的工作量。信捷图书馆管理系统采用符合有 关国际标准,具有良好的开放性和兼容性的计算机,外部设备,操作系统及应用 软件,达到和办公自动化网络的连接,实现远程管理,异地续借等功能。 “图书 借阅管理系统”需要具有界面友好,功能强大, 使用方便,安全可靠等优点。 通过图书馆管理工作人员对图书馆管理系统的理解:图书馆管理系统需要有能够及时地查询书库中图书的库存量,以便及时 准确地为读者服务,提供借阅信息,但是不能更改数据,无信息处理权, 即可以打印清单,浏览数据等,管理权限由系统管理员掌握分配。这个 也是图书馆的总体需求。能够提供外界进行查询,无特殊权限限制,面向所有用户。 图书馆各项数据信息必须保证安全性和完整性,网络系统设有通信,程 序,网络三级权限和口令管理,确保系统的安全。这个是对数据的安全 考虑的。 2, 系统管理员根据市场图书行情定时的整理系统数据库,对图书的借阅情 况,读者的管理情况,书库的增减等均可由计算机执行,并将运行结果 归档.3,界面应该具有友善、直观、易操作等特点。2.3系统需求分析1系统需求分析: 系统需求分析: 需求分析 2. 3.1主要功能 (1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除; (2)能够实现对读者档案的查询、密码的修改以及编辑管理; (3)能够进行借阅、还书功能; 系统性能要求: 3.2 系统性能要求: (1)系统安全、可靠; (2)功能齐全; (3)操作方便、界面友好; (4)易于维护和扩充。 针对管理员需实现的基本功能: 管理员需实现的基本功能 3.3 针对管理员需实现的基本功能: 2. 3.2 查询: 查询: (1)书籍信息查询:管理员可以根据书籍名,书籍分类,书籍作者、编号、出版社等信息来检索查 询图书馆的书籍,便于管理。 (2)读者信息查询:根据相应的读者资料进行所需查询。 读者编号、读者姓名、 读者种 类 。 2. 3.3 读者信息维护: 读者信息维护: 维护 (1)修改读者信息:管理员可以录入、修改、删除读者信息。 (2)修改密码:管理员可登录平台对遗忘密码的读者的密码进行修改。图书信息的维护: 2. 3.4图书信息的维护:包括新书的入库,以及现有书籍资料的修改和删除,方便读者的查询。 3书籍管理系统功能设计3.1功能结构图3.1.1图书管理系统窗体的创建序号窗体名称说明1sysset系统设置2readset读者管理3bookset书籍管理4sysquery系统查询5borrowback图书借还3.1.2图书管理系统窗的创建3.2功能模块设计经过调研及分析,图书馆管理系统主要完成以下功能:1.登录模块登录模块包括输入用户名和密码,验证通过后则进入主界面2.首页模块系统模块主要包括借书的基本设置、用户修改密码的功能。(1)基本设置: 最多可借的书本数量,还有超过借阅时间的罚款金额(2)用户修改密码:输入当前密码正确后则可以修改。3.管理员模块管理员模块包括书库管理、类别管理、用户管理、和书籍管理。(1).书库管理主要是对书籍的增加,修改,查询,删除功能。(查询:可以根据书籍的编号进行快速查询)(2).类别管理主要是对书籍类别的增加,修改,删除功能。(3)用户管理主要包括普通用户和系统管理员是对用户的添加,删除,修改的功能。(4)书籍管理模块主要是对借阅图书,续借图书和归还图书的管理, ,只有 是系统中的合法读者才有资格进行图书的借阅活动。 4.读者模块 读者模块就是书籍查询。主要包括可以根据书籍编号,书籍类型,是否借出可以快速查询出借书人借书的详细信息。3.3数据流图3.3.1读者借书过程的数据流图选定图书选定图书1借书检测图书是否借出2借书登记读者库图书库日历读者图2.31借书过程图3.3.1读者还书过程的数据流图图书访问记录还书返回信息读者图书还书信息1还书检测1还书检测日历图2.32还书过程图4 数据库设计4.1数据库分析系统功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。 系统功能分析是在系统开发的总体任务的基础上完成。 本设计中的图书馆管理信息系统需要完成功能主要有:1. 有关读者种类标准的制定、 种类信息的输入, 包括种类编号、 种类名称、 借书数量、 借书期限等。2. 读者种类信息的修改、查询等。 3.读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、 家庭住址、电话号码、办证日期等。4.读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、工 作单位、家庭住址、电话号码、办证日期等。 5.书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、 出版日期、登记日期等。6.书籍信息的查询、修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社 名称、出版日期、登记日期等。7.借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、 借书日期等。8.借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书 籍名称、借书日期等。9.还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、 借书日期、还书日期等。 10.还书信息查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书 籍名称、借书日期、还书日期等。有了上面的数据结构,数据项和数据流程,就可以进行下面的数据设计了4.2数据库概念设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以 及它们之间的关系,为后面的逻辑结构设计打下基础。 本实例根据上面的设计规划出的实体有:读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体。各个实体具体的描述 e-r 图如下。 书籍类别信息实体 e-r 图如图 4.2.1 所示。书籍类别信息实体种类名称借阅天数种类id图 4.2.1 书籍类别信息实体 e-r 图读者信息实体 e-r 图如图 4.2.2 所示。读者信息实体读者id工作地址工作信息读者类别联系方式读者性别读者姓名图 4.22读者信息实体 e-r 图用户信息实体 e-r 图如图 4.2.3 所示。用户信息实体用户id用户密码用户级别用户名图 4.2.3 书籍类别信息实体 e-r 图书籍信息实体 e-r 图如图 4.2.4 所示。书籍信息实体类型名称书籍id时间是否借出价格页数作者出版社图 4.2.4 书籍信息实体 e-r 图读者借阅信息实体 e-r 图如图4.2.5 所示。借阅信息实体借书日期是否归还书籍id读者id是否续借超出时间应付费用实际时间预归还时间图 4.2.5 借阅信息实体 e-r 图实体之间相互关系的 e-r 图如图 4.26 所示。书籍类别信息读者类别信息读者信息登记读者信息管理书籍信息登记书籍信息实体读者信息登记读者信息管理图4.26实体之间关系的er图4.3数据字典(1)t_login(登录表)表b.1 表t_login的结构字段名数据类型长度是否主键描述idint4是id(自动生成)usernamenvarchar20否用户名pwdnvarchar20否登录密码useridnvarchar50否用户ididentitynamenarchar8否用户身份(2)t_readerinfo(读者信息表)表b.2 表t_readerinfo的结构字段名数据类型长度是否主键描述readeridint20是 读者idreadernamenvarchar20否读者姓名readersexnvarchar20否读者性别realnamenvarchar20否 真实姓名regtimenvarchar20否 注册时间readerphonenvarchar20否联系方式readerworknvarchar20否工作信息readeraddnvarchar20否地址信息identitynamenvarchar20否读者身份(4)t_booktype(书籍类别表)表b.4 表t_booktype的结构字段名数据类型长度是否主键描述typeidint4是书籍种类idtypenamenvarchar20否书籍类型名称lentdaynvarchar10否可以借出的天数(3)t_bookinfo(书籍信息表表b.3 表t_bookinfo的结构字段名数据类型长度是否主键描述bookidint4是书籍idbooknamenvarchar20否书籍名称booktypenvarchar20否书籍种类bookpublishnvarchar20否出版社bookauthornvarchar20否作者bookpricenvarchar20否书籍价格bookpagesnvarchar20否书籍页数regtimenvarchar20否注册时间islentnvarchar20否是否借出(5)t_lentinfo(借阅信息表)表b.5 表t_lentinfo的结构字段名数据类型长度是否主键描述readeridint4是读者idbookidint4否书籍idlenttimenvarchar20否借出时间returntimenvarchar20否预还时间realreturntimenvarchar20否归还时间isbackbit否是否还iscontinuelentbit否是否续借outdatenvarchar20否超出时间paynvarchar20否应付金额5 代码设计5.1 登录和首页代码设计1.登录页面点击确定的方法,验证用户名和密码,验证码输入正确后跳转到default.aspx的页面。否则给出相应的提示,具体的代码设计如下: protected void btnlogin_click(object sender, eventargs e) dataset adminds = null; dataset readerds = null; adminmanage.name = txtadmin.text; adminmanage.pwd = txtpwd.text; adminds = adminmanage.login(adminmanage); readermanage.id = txtpwd.text; readermanage.name = txtadmin.text; readerds = readermanage.readerlogin(readermanage); var validcode = request.cookiescheckcode.value; if (adminds.tables0.rows.count 0) if (txtcode.text.toupper() != validcode) response.write(alert(验证码输入不正确!); txtcode.text = string.empty; return; sessionname = txtadmin.text; response.redirect(default.aspx); else response.write(alert(用户名或密码不正确!); txtcode.text = string.empty; 2. 当运行到 adminds = adminmanage.login(adminmanage); adminmanage传了登录界面的用户名称和用户密码两个参数去掉数据访问层的方法如下:/ / 管理员登录/ / / public dataset login(adminmanage adminmanage) sqlparameter prams = data.makeinparam(name, sqldbtype.varchar, 50,adminmanage.name), data.makeinparam(pwd, sqldbtype.varchar, 30, adminmanage.pwd) ; return (data.runprocreturn(select * from tb_admin where (name = name) and (pwd = pwd), prams, tb_admin);如果在 表tb_admin 查到对应的匹配的用户名称和密码则 adminds.tables0.rows.count 0 ,声明验证码var validcode = request.cookiescheckcode.value;如果与输入框的值一样,用户登录成功,转到default.aspx代码设计如下 : protected void page_load(object sender, eventargs e) this.title = 图书馆管理系统主页; dataset bookds = bookmanage.getbooksort(tb_bookinfo); gvbooksort.datasource = bookds; gvbooksort.databind(); dataset readerds = readermanage.getreadersort(tb_reader); gvreadersort.datasource = readerds; gvreadersort.databind(); 3.当上述代码当运行到dataset bookds = bookmanage.getbooksort(tb_bookinfo);的时候就去调数据访问层的查询书籍表借出数量排名前五的书籍明细的方法: public dataset getbooksort(string tbname) return (data.runprocreturn(select top 5* from tb_bookinfo where borrownum0 order by borrownum desc, tbname); 4.当代码运行到dataset readerds = readermanage.getreadersort(tb_reader);的时候就去调后台查询得到读者借阅排行的前5名的方法: public dataset getreadersort(string tbname) return (data.runprocreturn(select top 5* from tb_reader where borrownum0 order by borrownum desc, tbname); 。5.2 系统设置代码设计系统设计包括:更改口令、管理员设置和书架设置。5.2.1更改口令1.点击管理员设计的标签就会加载/common/chanagepwd.aspx页面默认得到当前的系统登录的管理员txtname.text = sessionname.tostring();根据当前管理员名称查询出对应的密码,代码设计如下: public dataset getalladminbyname(adminmanage adminmanage, string tbname) sqlparameter prams = data.makeinparam(name, sqldbtype.varchar, 50,adminmanage.name +%),; return (data.runprocreturn(select * from tb_admin where name like name, prams, tbname);,2.如果查询出来的密码与当前操作员输入的密码一致则可以更改密码,当前操作员输入的新密码与确认密码输入一致去调 adminmanage.updateadmin(adminmanage);的方法: public int updateadmin(adminmanage adminmanage) sqlparameter prams = data.makeinparam(name, sqldbtype.varchar, 50,adminmanage.name), data.makeinparam(pwd, sqldbtype.varchar, 30, adminmanage.pwd),; return (data.runproc(update tb_admin set pwd=pwd where name=name, prams); 密码修改成功。 5.2.2管理员设置1.点击管理员设计的标签就会加载/sysset/adminmanage.aspx页面默认调: public dataset getalladminbyname(adminmanage adminmanage, string tbname) sqlparameter prams = data.makeinparam(name, sqldbtype.varchar, 50,adminmanage.name +%),; return (data.runprocreturn(select * from tb_admin where name like name, prams, tbname);2.查询所有管理员细信息数据。提供了添加、修改、删除,添加方法代码设计如下:protected void btnadd_click(object sender, eventargs e) if (txtname.text = ) response.write(alert(管理员名称不能为空!);location=javascript:history.go(-1);); else adminmanage.id = adminmanage.getadminid(); adminmanage.name = txtname.text; adminmanage.pwd = txtpwd.text; if (adminmanage.getalladminbyname(adminmanage, tb_admin).tables0.rows.count 0) response.write(alert(该管理员已经存在!); return; adminmanage.addadmin(adminmanage); purviewmanage.id = adminmanage.id; purviewmanage.addpurview(purviewmanage); response.redirect(adminmanage.aspx); ,当验证通过后,且与数据库已存在的管理员不重复则调执行插入的sql语句: public int addadmin(adminmanage adminmanage) sqlparameter prams = data.makeinparam(id, sqldbtype.varchar, 50, adminmanage.id), data.makeinparam(name, sqldbtype.varchar,50,adminmanage.name), data.makeinparam(pwd, sqldbtype.varchar,30,adminmanage.pwd),; return (data.runproc(insert into tb_admin (id,name,pwd) values(id,name,pwd), prams); 插入成功之后再调一下查询方法,返回到数据集中。5.2.2书架设置1.点击书架设置标签默认加载/sysset/bcasemanage.aspx的页面后台默认调查询所有书架信息的方法,代码设计如下 public dataset getallbcase(string tbname) return (data.runprocreturn(select * from tb_bookcase order by id, tbname);并且返回dataset数据集.2.书架设置包括添加书架信息、删除、修改操作。添加书架信息代码设计如下:在添加之前会去掉查询方法,如果返回的tables0.rows.count 0说明该书架已经存在,给出response.write(alert(该书架已经存在!);的提示,如果验证通过后则调插入的方法: public int addbookcase(bookcasemanage bookcasemanage) sqlparameter prams = data.makeinparam(id, sqldbtype.varchar, 30, bookcasemanage.id), data.makeinparam(name,sqldbtype.varchar,50,bookcasemanage.name), ; return (data.runproc(insert into tb_bookcase (id,name) values(id,name), prams);5.3 读者管理代码设计读者管理包括:读者类型管理和读者信息管理。1.读者类型管理,类型的对象包括:老师,学生等对象。5.3.1读者类型管理1.点击.读者类型管理标签页加载/readermanage/rtypemanage.aspx的页面,默认调查询所有读者类型的方法,代码设计如下: public dataset getallrtype(string tbname) return (data.runprocreturn(select * from tb_readertype order by id, tbname);2. 读者类型管理包括添加读者类型管理信息、删除、修改操作。添加读者类型管理代码设计如下:在添加之前回去数据库中查询所有的读者类型,如果添加的读者类型数据库中已经存在就返回一个tables0.rows.count 0,给出response.write(alert(该读者类型已经存在!);的提示,数据验证通过后则调执行插入的sql语句,参数为(rtypemanage): public int addrtype(rtypemanage rtypemanage) sqlparameter prams = data.makeinparam(name, sqldbtype.varchar, 50, rtypemanage.name ), data.makeinparam(number, sqldbtype.int, 4,rtypemanage.number ),; return (data.runproc(insert into tb_readertype (name,number) values(name,number), prams); 5.3.2读者信息管理1.点击.读者信息管理标签页加载/readermanage/readermanage.aspx的页面,默认调查询所有读者信息的方法,代码设计如下: public dataset getallreader(string tbname) return (data.runprocreturn(select * from tb_reader order by id, tbname);2.读者信息包括添加读者信息、删除、修改操作。添加读者信息代码设计如下: protected void btnadd_click(object sender, eventargs e) validatefun(); readermanage.id = txtreaderid.text; readermanage.name = txtreader.text; if (readermanage.findreaderbyname(readermanage, tb_reader).tables0.rows.count 0) response.write(alert(该读者已经存在!); return; readermanage.sex = ddlsex.text; readermanage.type = ddlrtype.text; readermanage.birthday = convert.todatetime(txtbirthday.text); readermanage.papertype = ddlpapertype.text; readermanage.papernum = txtpapernum.text; readermanage.tel = txttel.text; readermanage.email = txtemail.text; readermanage.createdate = convert.todatetime(txtdate.text); readermanage.oper = txtoper.text; readermanage.remark = txtremark.text; readermanage.addreader(readermanage); response.redirect(readermanage.aspx); 3.当所填写读者信息的数据通过验证后去调查询所有读者的方法如果tables0.rows.count 0说明该读者的姓名已经存在。并给出相应的提示,如果验证都通过了则调 readermanage.addreader(readermanage);的方法,把所有的字段都传过来,查到读者表中:public int addreader(readermanage readermanage) sqlparameter prams = data.makeinparam(id, sqldbtype.varchar, 30, readermanage.id ),data.makeinparam(name, sqldbtype.varchar, 50,readermanage.name ),data.makeinparam(sex, sqldbtype.char, 4, readermanage.sex ), data.makeinparam(type, sqldbtype.varchar, 50, readermanage.type ),data.makeinparam(birthday, sqldbtype.datetime, readermanage.birthday ),data.makeinparam(papertype, sqldbtype.varchar, readermanage.papertype ), data.makeinparam(papernum, sqldbtype.varchar, 30readermanage.papernum ),data.makeinparam(tel, sqldbtype.varchar, 20,readermanage.tel ), data.makeinparam(email, sqldbtype.varchar, 50, readermanage.email),

温馨提示

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

评论

0/150

提交评论