C语言编写图书管理系统

上传人:奔*** 文档编号:26748639 上传时间:2021-08-13 格式:DOC 页数:30 大小:586.01KB
收藏 版权申诉 举报 下载
C语言编写图书管理系统_第1页
第1页 / 共30页
C语言编写图书管理系统_第2页
第2页 / 共30页
C语言编写图书管理系统_第3页
第3页 / 共30页
资源描述:

《C语言编写图书管理系统》由会员分享,可在线阅读,更多相关《C语言编写图书管理系统(30页珍藏版)》请在装配图网上搜索。

1、临沂大学2012届本科毕业设计说明书2012届 分 类 号: 单位代码:本科毕业设计说明书C语言编写图书管理系统姓 名 李 彬 学 号 200815840114 年 级 2008级本科3班 专 业 机械设计制造及其自动化 系(院)机械工程学院 指导教师 李培珍 年 月 日27目 录第一部分1职业生涯规划十年创业路11前 言12自我剖析13环境分析13.1国家环境13.2社会环境13.3职业环境23.4分析小结24未来人生职业规划25总 结2第二部分4C语言编写图书管理系统4摘 要4Abstract51需求分析61.1 系统需求61.2 功能分析62系统功能模块结构图62.1 系统调用的函数72

2、.2 图书管理系统模块93 图书管理系统的结构103.1 主函数流程图103.1.1主控模块103.1.2读者登陆模块113.1.3管理员登陆模块123.1.4图书管理模块133.1.5读者管理模块143.2 实体数据结构153.2.1读者类别结构153.2.2读者信息结构153.2.3图书类别结构163.2.4图书数据结构163.2.5管理员类别结构173.2.6管理员数据结构173.2.7借阅信息结构183.2.8违规记录数据结构183.3 程序文件存储设计193.3.1链表存储结构简述193.3.2动态链表的建立193.3.3动态链表的删除213.3.4动态链表的插入233.3.5数据文

3、件存储244 图书管理系统测试254.1 测试过程254.2 实验结果254.3 系统缺陷255出错处理255.1 出错输出信息255.2 出错处理对策256安全设计257 设计心得26参 考 文 献27附 录27第一部分职业生涯规划十年创业路1前 言 在今天这个人才竞争的时代,职业生涯规划开始成为在人争夺战中的另一重要利器。对企业而言,如何体现公司“以人为本”的人才理念,关注员工的人才理念,关注员工的持续成长,职业生涯规划是一种有效的手段;而对每个人而言,职业生命是有限的,如果不进行有效的规划,势必会造成生命和时间的浪费。作为当代大学生,若是带着一脸茫然,踏入这个拥挤的社会怎能满足社会的需要

4、,使自己占有一席之地?因此,我试着为自己拟定一份职业生涯规划,将自己的未来好好的设计一下。有了目标,才会有动力。2自我剖析优点:做事仔细认真、踏实、有耐心、肯吃苦耐劳。 为人和蔼、友善、安分、忠实可靠、很好相处而且能以一种 实事求是的态度接受他人的行为,但我需要基本的信任和理解。总是避免矛盾,更在意维护人际关系。只要可能,就会使自己适应他人的需要和期望。 缺点:性格偏内向,不太善于表达自己,语言表达还很欠缺。交际能力较差,胆小,思想上属保守派,积极主动性不够。有时偷懒,知识面不广,经验不足。缺乏毅力、恒心有时多愁善感。 兴趣爱好:1.cad、PRO/E绘图。2.看书。3.编程。4.听音乐。3环

5、境分析3.1国家环境机械自动化技术从上个世纪2O年代开始发展应用以来,已经得到了迅速的发展,特别是近年来计算机的高度集成化,开始采用了计算机集成制造系统,大大加快了机械自动化的发展,但我国仍处于初级操作阶段的自动化。我国机械制造业目前有1 14万个企业,发展很不平衡,有大量落后于现代水准的产业,大部分企业还比较落后,手工劳动占有相当的比重,我国能独立开发现代机械自动化技术的企业可以说没有;我国机械制造业企业中自动化装备少、水准低,不仅在数量上同世界先进国家有较大差距,而且在品种上、质量上、使用上,同世界先进水准也存在阶段性差距。实现我国机械自动化技术是一个长期的过程,不可能一蹴而就,需要循序渐

6、进,不断努力,创造条件,向自动化的高级理想阶段迈进。 3.2社会环境国产造型生产线因产品质量差、可靠性低、实用性差,开工率一般仅在5060。而能在生产中长期服役的主力生产线很少,像第一汽车制造厂的01线、第二汽车制造厂的BMD线等具有全年开工业绩的线更是风毛麟角。这种现象不属偶然或局部,而是带有普遍性。据调查,我国引进的弧焊机器人,完全正常运转、充分发挥效益的只占13,另外13处于负荷不满或不能完全正常运转状态:还有13不能正常使用,直接影响了用户使用更多机器人的信心。所以,我国现在需要自动化控制方面的人才,以提高利用率、生产率。3.3职业环境由于大力发展工业自动化是加快传统产业改造提升、提高

7、企业整体素质、提高国家整体国力、调整工业结构、迅速搞活大中型企业的有效途径和手段,国家将继续通过实施一系列工业过程自动化高技术产业化专项,用信息化带动工业化,推动工业自动化技术的进一步发展,加强技术创新,实现产业化,解决国民经济发展面临的深层问题,进一步提高国民经济整体素质和综合国力,实现跨越式发展。此时很多企业都需要自动化控制方面的人才。3.4分析小结前景是乐观的,但是经济的发展和全球化的到来必将导致人才精英化,这就需要我更加努力学习与专业相关的拓展知识,完善自己,让自己更容易融入社会,融入工作。 4未来人生职业规划技术学习期:对于我们刚毕业的大学生来说,最缺乏的应该就是动手操作的能力了,也

8、就是技术!所以,毕业后先学一门技术在这个高速发展的社会里是刻不容缓的。我需要三年的时间去学习一门技术,这不仅会是为了未来的生活,我还必须根据自己的知识去完善它,让它成为我自己的技术。经验累积期:在这个时期,我已经可以独立工作,并且还要多学习经验,多与同行师傅学习。并且要学习企业管理,为以后的创业打下坚实的基础。这个时期我定为五年。自主创业期:在这个时期,我已经学习到了技术,积累了经验,有了广阔的人际关系和丰富的管理知识。我需要的是拼搏。在未来的两年,我会用我积攒的知识、技术、资金和人脉组成一个二十人左右的团队,走上我的创业路。创业的路一定是艰辛的,一定会遇到各种各样的问题,我会在接下来的两年里

9、不断改善我的团队,发展她5总 结 通过规划,我清楚地认识了自己,确立了自己的努力方向和职业定位,这样就可以使自己保持平稳和正常的心态,按照目标和理想有条不紊、循序渐进地努力。当然,计划虽好,最重要的还是在于其具体的实践和所取得的成效。任何目标,只说不做到头来都会是一场空。然而现实是未知多变的,定出的计划随时都会遭遇问题,这就要求我们有清醒的头脑,客观的分析和全面的认知。每个人都有自己的理想信念,抱负和追求,每个人都渴望成功,但在此过程中我们必须坚持信念,必须持之以恒,必须脚踏实第二部分C语言编写图书管理系统摘 要 论文主要讲述的是用C语言编写图书管理系统。在本次设计中,先是对系统的需求进行分析

10、,得到了图书管理系统所需要的基本功能。再进行了模块化的分组,将图书管理系统所需要的功能细分为多个模块进行各模块的开发。继而对各功能菜单和流程进行设计。数据结构是这个系统最重要的部分之一,因为它承担着整个系统数据存储的重担。而图书管理系统的数据时非常多的。最后进行系统测试和调试。关键词:C语言;图书管理系统;需求;模块;结构;流程;数据测试Abstract The paper is talking about written a Books Management System in C programming language. In this design, I get the system

11、requirements first and I know what function is the Books Management System need. Secondly, I divide the Books Management System into severy modules and development each module. And then designs each function menu and process. The data structure of this system is one of the most important parts, beca

12、use it bear the burden of the whole system data storage. And the data of the books management system is so much. Finally, testing and debugging The Books Management System.Keywords: C programming language; Books Management System; Requirement; Module; Structure; Process; Data testing;1需求分析1.1 系统需求为了

13、方便读者查找自己需要的书籍及图书馆人员的管理,需要对书籍进行必要的分类处理,这样既方便管理人员对图书的管理,也方便读者的借阅,使图书管理井然有序。1.2 功能分析图书分类管理:为了便于不同书籍的管理,图书可分为不同的类别,用于编辑不同的权限,设置不同的管理方式。读者分类管理:为了读者管理方便,可以将读者分为不同的类别,定义不同的属性,灵活的管理读者信息。管理员分类管理:为了便于对管理员的管理,管理员可分为多种类别,并且可以编辑,各级管理员权限亦不同,实现管理员对图书管理系统的管理。图书查询:设定多种搜索条件,按条件搜索符合读者要求的图书。如果读者知道某本书的书名、作者等相关信息,利用图书搜索功

14、能就很方便了。权限管理:权限管理包括两部分内容:对读者帐号的管理和对书籍信息的管理。管理员需要给用户分配用户名和密码,同时设定用户的类别。同时,管理员还需要给书籍规定类别,用以图书和读者的管理。违规管理:用以管理图书借阅超期的读者,违规读者在得到相应处罚后才能继续借阅图书。2系统功能模块结构图本图书管理系统由图书管理,读者管理,图书借阅,管理员管理四个大的菜单模块组成,其总体结构图如下:图书管理系统图书管理模块读者管理模块图书借阅模块管理员模块图1图书管理系统总体结构图2.1 系统调用的函数函数名称函数功能Administers_show()显示管理员数据Administers()修改管理员数

15、据Add_Administers()增加管理员Dele_Administers()删除管理AdminType_show()显示管理员类别数据AdminType()修改管理员类别数据Add_AdminType()增加管理员类别Dele_AdminType()删除管理员类别Books_show()显示书籍信息Books()修改书籍信息Add_Books()增加书籍Dele_Books()删除书籍Surch_Books()搜索书籍Borrow_Books()书籍借阅BookType_show()显示图书类别BookType()修改图书类别Add_BookType()增加图书类别Dele_BookTy

16、pe()删除图书类别BorrowInfo_show()显示借阅信息Add_BorrowInfo()增加借阅信息Surch_BorrowInfo()搜索借阅信息Return_BorrowInfo()归还图书date_show()显示时间datecpy()时间复制函数return_date()还书日期计算函数date_compare()时间比较函数get_time()获取系统时间OutLine_show()显示违规记录OutLine()修改违规记录Add_OutLine()增加违规记录OutLine_Judge()判断图书是否过期OutLine_Surch()搜索违规记录Readers_show(

17、)显示读者信息Readers()修改读者信息Add_Readers()增加读者Dele_Readers()删除读者ReaderType_show()显示读者类别ReaderType()修改读者类别Add_ReaderType()增加读者类别Dele_ReaderType()删除读者类别图2系统调用的函数图2.2 图书管理系统模块主菜单包括:读者登陆,管理员登陆,图书查询,退出。读者登陆:图书借阅,已借图书,借阅历史,违规记录,退出。管理员登陆:图书查询,图书管理,读者管理,违规处理,返回上层,退出。图书查询:根据图书名称查询图书。退出:退出图书管理系统。主菜单读者登陆管理员登陆图书查询退出图书

18、借阅退出违规记录借阅历史已借图书图书查询退出返回上一层违规处理读者管理图书管理添加图书返回删除类别添加类别删除图书添加读者删除读者返回删除类别添加类别图3图书管理系统模块3 图书管理系统的结构3.1 主函数流程图3.1.1主控模块在该模块中,提供系统主菜单,通过主菜单用户选择读者登陆、管理员登陆、图书查询和退出。开始显示系统菜单b=1?b=2?b=3?b=4?调用读者登录菜单ReaderMenu()调用管理员登陆菜单AdminMenu()调用图书查询函数Surch_Books()退出数据结构定义YYYYNNNNYYY图4主控模块流程图3.1.2读者登陆模块在该模块中,提供子菜单供用户选择图书查

19、询,已借书目,借阅历史,违规记录和退出。查询函数直接调用借阅函数借阅图书。已借书目查询未归还图书。借阅历史查询已还图书。违规记录查询超期未还图书。开始显示读者菜单调用图书借阅函数Borrow_Books()b=1?b=2?b=3?b=4?b=5?退出 YN调用借阅信息查询函数Surch_BowwowInfo()调用借阅信息查询函数Surch_BowwowInfo()调用违规记录查询函数OutLine_Surch() Y N Y N Y N N Y图5读者登陆模块流程图3.1.3管理员登陆模块调用图书查询函数Surch_Books()b=1?调用图书管理菜单Book_Admin_Menu()b=

20、2?调用读者管理菜单Reader_Admin_Menu()b=3?调用违规处理函数OutLine_alter()b=4?b=5?b=6?在该模块中,提供子菜单供用户选择图书查询,图书管理,读者管理,违规记录,返回上层和退出。查询菜单调用图书查询函数查询图书。图书馆里调用图书管理菜单,对图书管理进行各种操作。读者管理调用读者管理菜单,对读者进行各种操作。违规记录调用违规记录处理函数,对读者超期的图书进行管理。返回上一层为保持管理员的登陆状态,以便读者借阅图书。退出为管理员退出登陆,此状态下读者不可借阅图书。开始显示管理员菜单 Y N Y N Y N Y NYN NY退出图6管理员登陆模块流程图3

21、.1.4图书管理模块在该菜单中供用户选择添加图书,删除图书,添加类别,删除类别和返回。添加图书调用添加图书函数。删除图书调用图书删除函数。添加类别调用添加类别函数。删除类别调用类别删除函数。返回为退出图书图书管理菜单,并返回上层菜单。开始b=1?显示图书管理菜单b=2?b=3?b=4?b=5?调用添加图书函数Add_Books()调用删除图书函数Dele_Books()调用添加图书类别函数Add_BookType()调用删除图书类别函数Dele_BookType()返回YNYNYNYNNY图7图书管理模块流程图3.1.5读者管理模块在该菜单中供用户选择添加读者,删除读者,添加类别,删除类别和返

22、回。添加读者调用读者添加函数。删除读者调用读者删除函数。添加类别调用读者类别添加函数,删除类别调用读者类别删除函数。返回为退出读者管理菜单,并返回上一层。开始b=1?显示图书管理菜单b=2?b=3?b=4?b=5?调用添加读者函数Add_Readers()调用删除读者函数Dele_Readers()调用添加读者类别函数Add_ReaderType()调用删除读者类别函数Dele_ReaderType()返回NYNYNYNYNY图8读者管理模块流程图3.2 实体数据结构3.2.1读者类别结构读者类别next指针备注最多节约数量借阅期限类别名称类别编号图9读者类别结构图3.2.2读者信息结构读者信

23、息备注密码next指针姓名证件号院系电话电子邮箱办证日期有效期限类别图10读者信息结构图3.2.3图书类别结构图书类别类别编号类别名称图书关键字备注next指针图11图书类别结构图3.2.4图书数据结构剩余数量图书信息馆藏地址备注索书号next指针图书编号图书名称图书类别作者出版社出版日期单价页数登记时间总数关键字图12图书信息结构图3.2.5管理员类别结构管理员类别类别编号next指针类别名称管理级别管理期限备注管理员类别next指针类别证件号姓名电话电邮密码办理日期备注图13管理员类别结构图3.2.6管理员数据结构图14管理员数据结构图3.2.7借阅信息结构借阅信息next指针图书编号图书

24、名称读者证号读者姓名借阅日期还书日期借阅状态备注图15借阅信息结构图3.2.8违规记录数据结构违规记录next指针处理状态书籍名称书籍编号读者姓名读者证号图16违规记录结构图3.3 程序文件存储设计程序数据采用链表结构。链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。用数组存储数据时,必须事先定义固定的长度(即元素个数)。如果事先难以确定元素个数,则必须把数组定义的足够大,以便能存放任意数目的数据,显然这将会浪费内存。链表则没有这种缺点,它根据需要开辟内存单元。所以本程序选用链表结构存储数据。3.3.1链表存储结构简述 head 1249 1356 1475 10211249

25、A1356B1475C1021DNULL图17链表示意图链表有一个“头指针”变量,图中head表示,它存放一个地址,该地址指向一个元素。链表中每一个元素成为“结点”,每个结点都应包括两个部分;用户需要用的实际数据和下一个结点的地址。head指向第一个元素;第一个元素又指向第二个元素直到最后一个元素,该元素不再指向其它元素,它称为“表尾”,它的地址部分放一个“NULL”(表示“空地址”),链表到此结束。链表中各个元素在内存中可以不是连续存放的。要找某一元素,必须先找到上一个元素,根据它提供的下一元素地址才能找到下一元素。如果不提供“头指针”(head),则整个链表都无法访问。由此可见,头指针在链

26、表中得重要性。由此,本程序中头指针都列为全局变量,可供各个文件中函数调用,保证数据的流通。同时,头指针也不直接应用,而是传递给同类型指针后再应用,用以保证头指针不被随意修改,保证程序的稳定性。3.3.2动态链表的建立建立动态链表是指在程序执行过程中从无到有地建立起一个链表,即一个一个地开辟结点和输入各结点数据,并建立起前后相连的关系。10101A head p1 p2 (a) head p110101A10103B P2 (b) head p110101A10103B p2 (c) P110101A10103B head P2 (d)10101A10103B10107B p1 head p2

27、(e)10101A10103B10107C P1 head p2 (f)图18链表建立示意图 当输入第一个结点数据时,令head=p1,即把p1的值赋给head,也就是使head也指向新开辟的结点(图18a)。p1所指向的新开辟的结点就成为链表中第一个结点。然后再开辟另一个结点并使p1指向它,接着输入该结点的数据(图18b)。当链入第二个结点时,将p1的值赋给p2-next,此时p2指向第一个结点,因此执行“p2-next=p1”就将新结点的地址赋给第一个结点的next成员,使第一个结点的next成员指向第二个结点(图18c)。接着使p2=p1,也就是使p2指向刚才建立的结点(图18d)。接着

28、再开辟一个结点并使p1指向它,并输入该结点的数据(图18e)。再次循环建立结点,又将p1的值赋给p2-next,也就是将第3个结点连接到第2个结点之后,并使p2=p1,使p2指向最后一个结点(图18f)。在结束结点建立时,最后一个结点next成员应被赋给NULL,它不指向任何结点。3.3.3动态链表的删除 动态链表的删除指删除链表中得某一个结点。即查找到要删除的结点后删除此结点,再将其余链表连接。ABCDE (a)ABCDE(b)图19 与此相仿,从一个动态链表中删去一个结点,并不是真正从内存中把它抹掉,而是把它从链表中分离开来,只要撤销原来的连接关系即可。101011010310107NUL

29、L head p1 (a)101011010310107NULL head p1 p2 (b) head p1101011010310107NULL (c)101011010310107NULL head p1 p2 (d)图20动态链表删除示意图设两个指针变量p1和p2,先使p1指向第一个结点(图20a)。如果要删除的不是第一个结点,则使p1后移指向下一个结点(将p1-next赋给p1),在此之前应将p1的值赋给p2,是p2指向刚才检查过的那个结点(图20b)。如此一次一次地使p1后移,直到找到所要删除的结点或检查完全部链表都找不到要删除的结点为止。如果找到某一结点是要删除的结点,还要区分两

30、种情况:要删除的是第一个结点(p1的值等于head的值,如图20a那样),则应将p1-next赋给head(图20c)。这时head指向原来的第二个结点。第一个结点虽然仍存在,但它已与链表脱离,因为链表中没有一个结点或头指针指向它。虽然p1还指向它,它仍指向第二个结点,但仍无济于事,现在链表的第一个结点是原来的第二个结点,原来第一个结点已“丢失”,即不再是链表中得一部分了。如果要删除的不是第一个结点,则将p1-next赋给p2-next(图20d)。p2-next原来指向p1指向的结点(图中第二个结点),现在p2-next改为指向p1-next所指向的结点(图中第三个结点)。P1所指向的结点不

31、再是链表的一部分。还要烤炉链表是空表(无结点)和链表中找不到要删除的结点的情况。3.3.4动态链表的插入对链表的插入是指将一个结点插入到一个已有的链表中。根据插入的位置不同,可分为三种插入方式:插在链表开头。插在链表结尾。插在链表中间。1010110103NULL10108 p1 head p0 (a) head p11010110103NULL p010108 (b)图21动态链表插入示意图由于在本程序中只用到第一种插入方式,所以此处只对第一种插入方式进行讲解。先将指针变量p0指向待插入结点,p1指向第一个结点,见图21a。插入位置为第一个结点之前(即p1等于head),将p0赋给head,

32、将p1赋给p0-next,见图21b。3.3.5数据文件存储 为了使用方便,容易理解和对文件直接访问,本程序用fprintf和fscanf函数对磁盘文件读写。这种存储方式在输入时要将ASC码转换为二进制形式,在输出是又要将二进制形式转换成字符,花费时间比较多。此处可以用fread和fwrite函数代替,但是为了更方便阅读文件,此处不做代替。程序数据存取主要由八个文件:Administers.dat、AdminType.dat、Books.dat、BookType.dat、Readers.dat、ReaderType.dat、BorrowInfo.dat、OutLine.dat组成。Admini

33、sters.dat:用于存储管理员信息。程序的增加管理员、删除管理员等功能均是对此文件进行读写操作。AdminType.dat:用于存储管理员类别信息。程序的增加管理员类别、删除管理员类别等功能均是对此文件的读写操作。Books.dat:用于存储图书信息。程序的增加图书、删除图书等功能均是对此文件的读写操作。BookType.dat:用于存储图书类别。程序的增加图书类别、删除图书类别等功能均是对此文件的读写操作。Readers.dat:用于存储读者信息。程序的增加读者、删除读者等功能均是对此文件的读写操作。ReaderType.dat:用于存储读者类别。程序的增加读者类别、删除读者类别等功能均

34、是对此文件的读写操作。BorrowInfo.dat:用于存储借阅信息。程序的增加借阅信息、修改借阅信息等功能都是对此文件的读写操作。OutLine.dat:用于存储违规记录。程序的增加违规记录、修改违规记录等功能均是对此文件的读写操作。4 图书管理系统测试4.1 测试过程 测试过程中遇到了很多的错误,这点是由于自己基本功不扎实所造成的,出错较多的原因有:scanf函数中网加取址符&。输入法全角半角转换。很多符号用了全角符号。链表建立时尾结点next成员没有赋值NULL。4.2 实验结果程序基本达到设计要求,由于使用了菜单功能,程序的操作更加直观,一般情况下能正确提示错误信息。但是在测试中也发现

35、软件的一些不足与缺陷,需要进一步修改和维护时予以纠正。在C-free下运行良好。4.3 系统缺陷 目前测试已没有错误,但是经过长期使用,可能还会发现未知的错误。此系统只是初步开发,还不够人性化,操作不够方便。5出错处理5.1 出错输出信息根据不同的出错情况给出不同的出错信息。如:输入密码不对是提示“密码错误,请重新输入”。5.2 出错处理对策给用户提示信息,让用户重新输入。6安全设计为每个操作人员设置账号及口令,规定每一级操作人员的权限。7 设计心得 通过对此系统的设计,我学会了很多东西,包括从系统开发的初衷、需求分析到功能设计和编程。同时我也体会到了自己的许多不足之处,我的基本功还太不扎实,有很多的低级错误,使得我耽误了很多的时间。以后我会经常动手写一些小程序以巩固自己。另外我还会继续更改此系统,改正其中的一些错误和不足,使其更人性化,更易使用。参 考 文 献1 谭浩强.C语言设计第三版.清华大学出版社.20052 康莉、李宽.零基础学C语言.机械工业出版社.20093 Al Kelley、Ira Pohl.C语言教程.机械工业出版社.20074 苏剑.标准C+编程宝典.电子工业出版社.20055 杨友东.Visual C+程序设计全程指南.电子工业出版社.2009附 录附C语言编写图书管理系统.rar

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!