欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

C++数据结构课程设计报告-图书收藏夹.doc

  • 资源ID:8906956       资源大小:941.50KB        全文页数:38页
  • 资源格式: DOC        下载积分:9.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

C++数据结构课程设计报告-图书收藏夹.doc

计算机科学与通信工程学院课程设计报告课程数据结构A课程设计课题名称收藏夹的设计学生姓名李威学号3140608011专业班级软件1401指导教师王 新 胜成绩评定表作业质量评分分析能力(30分)总体功能分析逻辑结构分析存储结构分析设计能力(30分)系统功能设计存储结构设计算法设计与编码创新能力(10分)设计思路新颖,所设计的功能有扩展,有创新意识写作能力(10分)文字通顺,用词规范,叙述清晰,有条理性,格式、绘图、表格、插图等规范准确团队合作评价(20分)团队成员沟通,个人职责履行总分教师签名特别说明1. 无故缺席或请假未获批准擅自离开达到3次或课程设计上机时间内做与课程设计无关的事情达到3次,课程设计成绩为0分;2. 课程设计抄袭者,课程设计成绩为0分。目录1. 课题简介和设计要求1(1)收藏夹系统的实现:1(2)分工:12. 总体设计13. 详细设计33.1 结点类型的设计33.2 采用的逻辑结构33.3采用的存储结构43.4相关算法41.总体流程图52.分功能流程图54. 编码134.1 数据结构定义134.2 程序实现15Book.h15FV.h16收藏夹.cpp275. 测试295.1 测试用例295.2 程序运行结果30主目录:30图书列表:30收藏图书:31显示收藏:31删除图书:32查询收藏:32清空收藏:33按价格排序:33按收藏时间排序:346. 收获与体会34数据结构课程设计1. 课题简介和设计要求目前有一些著名的网上图书购买系统,比如当当网、亚马逊等,他们都有收藏夹和购物车的功能,通过收藏夹可以把你感兴趣的图书添加到收藏夹,可以直接把想购买的图书添加到购物车,也可以从收藏夹中把准备购买的图书加入购物车,等等功能。现在请你利用已经学到的程序设计和数据结构等课程的相关知识模拟实现具有收藏夹和购物车功能的系统。题目如下: (1)收藏夹系统的实现:(1) 能收藏一本图书,并记录收藏时间。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版时间、价格。(2) 能按照图书号查询显示收藏夹中图书的相关信息。(3) 能按照收藏时间的先后显示输出所收藏的所有图书的相关信息。(4) 能按照价格的大小显示输出收藏夹中的所有图书的相关信息。(5) 可以把不想收藏的某一本指定图书号的图书移出收藏夹。(2) 分工:邢志康负责所有图书的索引,收藏夹的添加和清空以及收藏夹与单链表同步。李威负责收藏夹的显示、删除,按书号查询图书以及按价格或收藏时间排序。Book结点和主程序文件为了方便分工是我们共同完成的,我们设计了一些符号构成的方块界面方便操作。在我负责的模块中,我设计了按照是(y)否(任意键)来操作的判断语句方便用户,并且为了防止错误操作引起程序出错做了一些错误操作的反馈语句用来提示用户,并且运用goto语句实现了各功能之间的切换。2. 总体设计整个系统准备实现的功能有9个,分别是所有图书的索引、收藏夹与单链表的同步、收藏夹添加图书、收藏夹的清空、收藏夹的显示、收藏夹图书的删除、按书号查询图书、收藏夹按照价格排序、收藏夹按照添加时间排序。由图可以明确的看出9大功能的实现与总体系统的关系,其中“收藏夹与单链表同步”这个模块是程序内置的,不需要用户操作,也就是说整个程序完成了8个用户使用的功能,即图书索引、收藏图书、显示收藏、删除收藏、查询收藏、清空收藏、按价格排序、按收藏时间排序。收藏夹系统所有图书的索引收藏夹与单链表同步收藏夹添加图书收藏夹的清空收藏夹的显示收藏夹图书的删除按书号查询图书收藏夹按照价格排序收藏夹按照添加时间排序图1 收藏夹总体系统模块各功能的含义如下:(1)图书索引:给出了整个图书馆的目录以及图书的编号、名字、作者、出版社、出版日期、图书价格。方便用户进行查找、添加收藏和浏览。(2)收藏图书:用户将图书添加到收藏夹的功能若编号不存在,则返回“!该图书不存在!”;若图书已经在收藏夹内,则返回“!该书已在收藏夹!”;若打不开收藏目录,则返回“目录打不开”;若打不开收藏夹,则返回“收藏夹打不开”。添加时获取当地时间,并给出添加成功的提示.(3)显示收藏:按照先后顺序输出已经收藏的图书所有信息,包括图书的编号、名字、作者、出版社、出版日期、图书价格和收藏时间。(4)删除图书:输入一本图书的编号来删除图书收藏夹中与该编号相同的图书,如果没有这本书,则输出“收藏夹不存在这本书”;如果删除成功,则返回“删除成功”。用户可以在该界面看到收藏夹中已有的图书,并且可以反复操作删除多个图书。(5)查询收藏:用户可以输入一本图书的编号来查询收藏夹中与该图书编号相同的图书,若收藏夹中没有这本图书,则返回“!收藏夹里没有这本书请重新输入!”;若操作成功,则返回“您要查询的图书为:”和图书的编号、名字、作者、出版社、出版日期、图书价格和收藏时间。(6)清空收藏:进入该操作会出现方框提示框(输入Y确定删除,任意键不删除),输入Y并输入回车键进行清空操作,若操作失败,则返回“找不到收藏夹”;若操作成功,则返回“收藏夹已清空”(7)价格排序:将用户收藏的图书按照价格从小到大进行排序,方便用户的购买和查询,若排序成功则自动返回菜单界面。(8)按收藏时间排序:将用户收藏的图书按照收藏的时间进行排序,为了方便排序使用了一个长整型函数来存储格林尼治时间(秒),避免了多次比较,降低了复杂度,操作成功则直接返回主菜单界面。3.详细设计3.1 结点类型的设计对图书设计了Book结点,数据成员包含了收藏时间、图书号(是唯一的)、书名、作者、出版社、出版时间、价格。还包含了用于排序的格林尼治时间。成员函数包含一个缺省构造函数和一个构造函数。用图表可以清晰的展现出来:结点的名字数据成员数据成员的类型数据成员的含义BookNOint图书的编号Booknamestring图书名Bookautherstring作者Bookpublisherstring出版社Booktime2Int数组出版日期BookPriceint价格BookTime6Int数组年月日时分秒Book*next指针后继结底BookTlong格林尼治时间表1结点的数据成员如图所示,前七个数据成员存储了图书的总体信息,后继结点是为了向空链表添加结点和数据,格林尼治时间单纯的为了排序方便。构造函数执行的同时对各个数据成员进行赋值并且存入线性表中,同时后继结点后移,每创建一个结点则执行同样的操作。析构函数释放构造函数使用的空间,避免造成空间的浪费。3.2 采用的逻辑结构该系统采取了线性表逻辑结构。因为每本图书都有图书号(是唯一的)、书名、作者、出版社、出版时间、价格和收藏时间等数据,分开存放和定义非常复杂,采用线性表可以将这些数据同时存入一个结点中,避免了复杂的操作;线性表的存储结构分为顺序存储结构和链式存储结构。使用顺序存储结构进行操作来调用各个数据,操作起来容易出错并且操作非常复杂。为了提高程序准确程度和便捷性最后我们采用了线性表的链式结构逻辑结构来编程。3.3采用的存储结构该系统采用了线性表的链式存储结构。将一个线性表存储到计算机中,可以采用许多不同的方法,其中既简单又自然的是顺序存储方法,即将线性表中的元素逐个存放于数组的一些连续的存储单元中。在这种表示方式下,容易实现对表的遍历。要在表的尾部插入一个新元素,也很容易。但是要在表的中间位置插入一个新元素,就必须先将其后面的所有元素都后移一个单元,才能腾出新元素所需的位置。执行删除运算的情形类似。如果被删除的元素不是表中最后一个元素,则必须将它后面的所有元素前移一个位置,以填补由于删除所造成的空缺。而链式存储结构不要求存储位置,只是按照指针来进行操作调用,总体来说,该系统最适用于链式存储结构结构。dataheadnextdatanextdatanext null3.4相关算法1.总体流程图图2总体流程图2.分功能流程图void List();/图书索引图书索引:给出了整个图书馆的目录以及图书的编号、名字、作者、出版社、出版日期、图书价格。方便用户进行查找、添加收藏和浏览。图3List()算法流程图void Updata();/收藏夹与单链表同步收藏夹与单链表同步:将收藏夹中的数据同步到单链表中,让用户打开程序就能看到已收藏的内容,这样可以避免每次打开程序都要重新收藏。图4Updata()算法流程图void Clear();/将收藏夹清空清空收藏:进入该操作会出现方框提示框(输入Y确定删除,任意键不删除),输入Y并输入回车键进行清空操作,若操作失败,则返回“找不到收藏夹”;若操作成功,则返回“收藏夹已清空”图5Clear()算法流程图void Add();/添加收藏图书:用户将图书添加到收藏夹的功能若编号不存在,则返回“!该图书不存在!”;若图书已经在收藏夹内,则返回“!该书已在收藏夹!”;若打不开收藏目录,则返回“目录打不开”;若打不开收藏夹,则返回“收藏夹打不开”。添加时获取当地时间,并给出添加成功的提示.图6Add()算法流程图void Show();/显示显示收藏:按照先后顺序输出已经收藏的图书所有信息,包括图书的编号、名字、作者、出版社、出版日期、图书价格和收藏时间。图7Show()算法流程图void Delete();/删除删除图书:输入一本图书的编号来删除图书收藏夹中与该编号相同的图书,如果没有这本书,则输出“收藏夹不存在这本书”;如果删除成功,则返回“删除成功”。用户可以在该界面看到收藏夹中已有的图书,并且可以反复操作删除多个图书。图8Delete()算法流程图void Query();/根据书名号查询收藏夹中的某一本书查询收藏:用户可以输入一本图书的编号来查询收藏夹中与该图书编号相同的图书,若收藏夹中没有这本图书,则返回“!收藏夹里没有这本书请重新输入!”;若操作成功,则返回“您要查询的图书为:”和图书的编号、名字、作者、出版社、出版日期、图书价格和收藏时间。图9Query()算法流程图void Porder();/ 按照价格排序价格排序:将用户收藏的图书按照价格从小到大进行排序,方便用户的购买和查询,若排序成功则自动返回菜单界面。图10Porder()算法流程图void Torder();/按照收藏时间排序按收藏时间排序:将用户收藏的图书按照收藏的时间进行排序,为了方便排序使用了一个长整型函数来存储格林尼治时间(秒),避免了多次比较,降低了复杂度,操作成功则直接返回主菜单界面。图11Torder()算法流程图4. 编码4.1 数据结构定义【提示】包括类名、数据成员、成员函数的设计和注释。结点类:Book#pragma once#include<iostream>#include<string>using namespace std;template<class ElemType>class Book/图书结点public:int NO;/图书编号string name;/图书名string auther;/作者string publisher;/出版社int time2;/出版日期double price;/图书价格Book<ElemType> *next;int Time6;/收藏时间long T;/用于按收藏时间排序Book(void);/缺省构造函数Book(int no,string na,string au,string pu,int t1,int t2,double pr,int y,int mo,int d,int h,int mu,int s,long TT);/构造函数Book(void);/析构函数; 类名:FV#pragma once#include<iostream>#include<string>#include<fstream>#include "Book.h"#include<ctime>#include "windows.h"using namespace std;template<class ElemType>class FVprivate:Book<ElemType> *head; /头结点int length;/结点长度int count;/用于编号的记数public:FV(void);/无参构造收藏夹函数FV(void);/析构void List();/图书索引void Updata();/收藏夹与单链表同步void Clear();/将收藏夹清空void Add();/添加void Show();/显示void Delete();/删除void Query();/根据书名号查询收藏夹中的某一本书void Porder();/ 按照价格排序 void Torder();/按照收藏时间排序;4.2 程序实现Book.h#pragma once#include<iostream>#include<string>using namespace std;template<class ElemType>class Book/图书结点public:int NO;/图书编号string name;/图书名string auther;/作者string publisher;/出版社int time2;/出版日期double price;/图书价格Book<ElemType> *next;int Time6;/收藏时间long T;/用于按收藏时间排序Book(void)next=NULL;Book(int no,string na,string au,string pu,int t1,int t2,double pr,int y,int mo,int d,int h,int mu,int s,long TT)NO=no;name=na;auther=au;publisher=pu;time0=t1;time1=t2;price=pr;Time0=y;Time1=mo;Time2=d;Time3=h;Time4=mu;Time5=s;T=TT;next=NULL;Book(void); FV.h#pragma once#include<iostream>#include<string>#include<fstream>#include "Book.h"#include<ctime>#include "windows.h"using namespace std;template<class ElemType>class FVprivate:Book<ElemType> *head;/头结点int length;/结点长度int count;/用于编号的记数public:FV(void)/无参构造收藏夹函数head=new Book<ElemType>head->next=NULL;length=0;FV(void)/析构Book<ElemType> *q,*r;r=head->next;while(r!=NULL)q=r->next;delete r;r=q;void List()/图书索引int no;string na;string au;string pu;int t1;int t2;double pr;count=1000;ifstream file;file.open("data.txt",ios:in);if(!file)cerr<<"目录打不开"<<endl;exit(1);cout<<"*"<<endl;cout<<"所有图书列表:"<<endl;while(!file.eof()file>>no>>na>>au>>pu>>t1>>t2>>pr;cout<<"图书号:"<<no<<t<<"图书名:"<<na<<t<<"作者:"<<au<<t<<"出版社:"<<pu<<n<<t<<t<<t<<t<<t<<"出版日期:"<<t1<<"/"<<t2<<t<<"价格:"<<pr<<endl;count+;file.close();cout<<"*"<<endl;void Updata()/收藏夹与单链表同步int no,i; string na; string au; string pu; int t1; int t2; double pr;long TT;int y,mo,d,h,mu,s;Book<ElemType> *p=head; ifstream file2; file2.open("FV.txt",ios:in); if(!file2) cerr<<"目录打不开"<<endl; exit(1); while(file2>>i) file2>>no>>na>>au>>pu>>t1>>t2>>pr>>y>>mo>>d>>h>>mu>>s>>TT; Book<ElemType>*q=new Book<ElemType>(no,na,au,pu,t1,t2,pr,y,mo,d,h,mu,s,TT); p->next=q; p=p->next; length+; file2.close();void Clear()/将收藏夹清空while(1)string cc;cout<<" "<<endl;cout<<" "<<endl;cout<<" "<<endl;cout<<" 确认清空? "<<endl;cout<<" "<<endl;cout<<" "<<endl;cout<<" 是(Y)/否(任意键) "<<endl;cout<<" "<<endl;cout<<" "<<endl;cout<<" "<<endl;cout<<" "<<endl;cin>>cc;if(cc="Y")Book<ElemType> *p=head->next;while(p!=NULL) head->next=p->next; delete p; p=head->next;length=0;ofstream fileout("FV.txt",ios:trunc); if(!fileout) cout << "找不到收藏夹"<<endl; exit(0); fileout.close(); cout<<"清空成功"<<endl; break;else break;void Add()/添加while(1)Book<ElemType> *p;int num;int no;string na;string au;string pu;int t1,t2;double pr;long TT;ifstream file;List();add:cout<<"请输入要添加的图书号(输入110返回),按回车键确定:"cin>>num;if(num=110)break;elseBook<ElemType> *temp=head->next;while(temp!=NULL)if(temp->NO=num)cout<<"*"<<endl;cout<<" !该书已在收藏夹! "<<endl;cout<<"*"<<endl;goto add;temp=temp->next;if(num<1001|num>count)cout<<"*"<<endl;cout<<" !该图书不存在!"<<endl;cout<<"*"<<endl;goto add;elsefile.open("data.txt",ios:in);if(!file)cerr<<"目录打不开"<<endl;exit(1);while(!file.eof()file>>no>>na>>au>>pu>>t1>>t2>>pr;if(no=num)break;file.close();int year,month,day,h,m,s; SYSTEMTIME ct; GetLocalTime(&ct);/如果用GetSystemTime(&ct);那么获取的是格林尼治标准时间 year=ct.wYear; month=ct.wMonth; day=ct.wDay;h=ct.wHour; m=ct.wMinute; s=ct.wSecond;time_t now; now = time(NULL);TT=now;Book<ElemType> *q=new Book<ElemType>(no,na,au,pu,t1,t2,pr,year,month,day,h,m,s,TT);for(p=head;p->next!=NULL;p=p->next);p->next=q;length+;ofstream file1; file1.open("FV.txt",ios:app);if(!file1)cerr<<"收藏夹打不开"<<endl;exit(1);file1<<1<<" "<<no<<" "<<na<<" "<<au<<" "<<pu<<" "<<t1<<" "<<t2<<" "<<pr<<" "<<year<<" "<<month<<" "<<day<<" "<<h<<" "<<m<<" "<<s<<" "<<TT<<n;file1.close();cout<<"收藏成功"<<endl; cout<<"*"<<endl;cout<<" !是否继续添加收藏?!"<<endl;cout<<" 是(Y)/否(任意键)"<<endl; cout<<"*"<<endl;string gg;cin>>gg;if(gg="Y")goto add;elsebreak;void Show()/显示cout<<"*"<<endl;cout<<"收藏目录:"<<endl;Book<ElemType> *p=head->next;while(p!=NULL)cout<<"图书号:"<<p->NO<<t<<"图书名:"<<p->name<<t<<"作者:"<<p->auther<<t<<"出版社:"<<p->publisher<<n<<t<<t<<"出版日期:"<<p->time0<<"/"<<p->time1<<t<<"价格:"<<p->price<<t<<"收藏时间:"<<p->Time0<<"/"<<p->Time1<<"/"<<p->Time2<<" "<<p->Time3<<":"<<p->Time4<<":"<<p->Time5<<endl;p=p->next;cout<<"*"<<endl;void Delete()/删除 while(1) add2: int num; cout<<"请输入要删除的图书号(输入110返回),按回车键确认:" cin>>num; if(num=110) break; else string cc; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" 确认删除? "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" 是(Y)/否(任意键) "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cin>>cc; if(cc="Y") Book<ElemType> *p=head,*q; while(p->next->NO!=num) p=p->next; if(p->next=NULL) cout<<"*"<<endl; cout<<" !收藏夹里没有这本书请重新输入!"<<endl; cout<<"*"<<endl; goto add2; else q=p->next; p->next=q->next; length-; delete q; ofstream fileout("FV.txt",ios:trunc); if(!fileout) cout << "找不到收藏夹"<<endl; exit(0); fileout.close(); ofstream file1; file1.open("FV.txt",ios:app); if(!file1) cerr<<"收藏夹打不开"<<endl; exit(1); p=head; while(p->next!=NULL) file1<<1<<" "<<p->next->NO<<" "<<p->next->name<<" "<<p->next->auther<<" "<<p->next->publisher<<" "<<p->next->time0<<" "<<p->next->time1<<" "<<p->next->price<<" "<< p->next->Time0<<" "<<p->next->Time1<<" "<<p->next->Time2<<" "<<p->next->Time3<<" "<<p->next->Time4<<" "<<p->next->Time5<<" "<<p->next->T<<n; p=p->next; file1.close(); cout<<"删除成功"<<endl; else goto add2; void Query()/根据书名号查询收藏夹中的某一本书while(1)add3:int num;cout<<"请输入要查询的图书号(输入110返回),按回车键键确认:"cin>>num;if(num=110)break;elseBook<ElemType> *p=head;while(p->next->NO!=num)p=p->next;if(p->next=NULL)cout<<"*"<<endl;cout<<" !收藏夹里没有这本书请重新输入!"<<endl;cout<<"*"<<endl;goto add3;elsecout<<"*"<<endl;cout<<"您要查询的图书为:"<<endl;cout<<"图书号:"<<p->next->NO<<t<<"图书名:"<<p->next->name<<t<<"作者:"<<p->next->auther<<t<<"出版社:"<<p->next->publisher<<n<<t<<t<<"出版日期:"<<p->next->time0<<"/"<<p->next->time1<<t<<"价格:"<<p->next->price<<t<<"收藏时间:"<<p->next->Time0<<"/"<<p->next->Time1<<"/"<<p->next->Time2<<" "<<p->next->Time3<<":"<<p->next->Time4<<":"<<p->next->Time5<<endl;cout<<"*"<<endl;void Porder()/ 按照价格排序Book<ElemType> *p, *q;int num;string str3;double pri;int tim2,Tim6;long TT;for (p = head->next; p != NULL; p = p->next)for (q = p; q != NULL; q = q->next)if (p->price >q->price)/交换节点信息num = p->NO;str0 = p->name;str1 = p->auther;str2 = p->publisher;pri= p->price;tim0 = p->time0;tim1 = p->time1;for(int i=0;i<6;i+)Timi=p->Timei;TT=p->T;p->NO = q->NO;p->name = q->name;p->auther = q->auther;p->publisher = q->publisher;p->time0= q->time0;p->time1= q->time1;p->price = q->price;for(int i=0;i<6;i+)p->Timei=q->Timei;p->T=q->T;q->NO = num;q->name = str0;q->auther = str1;q->publisher = str2;q->time0 = tim0;q->time1= tim1;q->price=pri;for(int i=0;i<6;i+)q->Timei=Timi;q->T=TT; void Torder()/按照收藏时间排序Book<ElemType> *p, *q;int num;string str3;double pri;int tim2,Tim6;long TT;for (p = head->next; p != NULL; p = p->next)for (q = p; q != NULL; q = q->next)if (p->T >q->T)/交换节点信息num = p->NO;str0 = p->name;str1 = p->auther;str2 = p->publisher;pri= p->price;tim0 = p->time0;tim1 = p->time1;for(int i=0;i<6;i+)Timi=p->Timei;TT=p->T;p->NO = q->NO;p->name = q->name;p->auther = q->auther;p->publisher = q->publisher;p->time0= q->time0;p->time1= q->time1;p->price = q->price;for(int i=0;i<6;i+)p->Timei=q->Timei;p->T=q->T;q->NO = num;q->name = str0;q->auther = str1;q->publisher = str2;q->time0 = tim0;q->time1= tim1;q->price=pri;for(int i=0;i<6;i+)q->Timei=Timi;q->T=TT;收藏夹.cpp#include<iostream>#include<fstream>#include<string>#include<iomanip>#include "FV.h"#include "Book.h"#include "windows.h"#include<ctime>using namespace std;void main()int o;FV<int> adder;adder.Updata();while(1)system( "cls ");cout<<" 构造您的收藏夹 "<<endl;cout<<" "<<endl;cout<<" 请选择所需的操作 "<<endl;cout<<" "<<endl;cout<<" 图书列表 :1,并按回车键 "<<endl;cout<<" 收藏图书 :2,并按回车键 "<<endl;cout<<" 显示收藏 :3,并按回车键 "<<endl;cout<<" 删除图书 :4,并按回车键 "<<endl;cout<<" 查询收藏 :5,并按回车键 "<<endl;c

注意事项

本文(C++数据结构课程设计报告-图书收藏夹.doc)为本站会员(jian****018)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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