火车订票系统实践_第1页
火车订票系统实践_第2页
火车订票系统实践_第3页
火车订票系统实践_第4页
火车订票系统实践_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

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

文档简介

实训题目:火车订票系统实践

1

目录

1实训目的......................................2

2问题描述......................................3

3设计要求......................................4

4设计思路......................................4

5详细设计......................................5

6调试分析......................................10

7用户使用说明..................................10

8测试结果......................................11

9源代码........................................15

10程序设计总结...................................15

11参考文献.......................................15

1

一、实训目的

通过本次实训,能够进一步巩固、掌握程序设计基础和

数据结构课程的基本知识、基本技能。了解和掌握线性表的逻辑

结构和链式存储结构,掌握单链表的基本算法及相关的时间性能

分析。加深对课程内容的理解,增加感性认识,提高软件设计、

编写及调试程序的能力。还可以培养独立思考、综合运用所学的

有关相应知识和能力,能更改的巩固C语言程序设计课程学习的

内容,掌握工程软件设计的基本方法,强化上机手动编程的能力,

闯过理论与实践相结的难关,更加了解c语言的好处与其可用性。

更加也体会到以后在工作中团队合作的重要性和必要性。

通过C语言课程设计,使学生了解高级程序设计语言的

结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和

利用计算机求解的能力,具备初步的高级语言程序设计能力,为

后续各门计算机课程的学习和毕业设计打下坚实的基础。

通过综合实训,促使学生进一步巩固和加强对C语言编

程相关知识,指导和促使学生通过各种途径对C语言相关技术内

容进行拓展和深入,增强学生动手(编码)能力、调试能力、测试

能力等。

2

三、设计要求

按照软件工程思想,设计并实现一个火车票订票系统。

系统的主要功能如下:

(1)管理员可以进行火车票基本信息的查询,录入,修改和删除。

(2)火车的基本信息如下:车次号,起点,终点开出时•刻,到达时刻,日期,预

设座位数,剩余座位数。(注意:作为不分等级)

(3)普通用户可以查询火车信息,按起点,终点和口期查询火车信息信息。

(4)普通用户在查询到合适的火车后,开始订票。订票时需输入:id,姓名,日

期,火车号,日期。确定订票后,相关信息记录于订票表中,同时,对应火

车票的剩余座位数减一。(不考虑退票情况)。

(5)普通用户可以在输入id后查询自己的订票信息和对应火车的基本信息。

四、设计思路

按照软件工程的思想,首先进行需求分析,然后进行系统设计,再进行系统

实现,最后进行系统测试。

需求分析方面:管理员的动能主要体现了对数据可的插入,删除,修改,添

加等方面的操作。

系统功能的实现方面:该系统要实现火车票信息的录入,用户预订信息的录

入。该系统要实现火车影票信息的查询,以及用户预订火车票信息的查询。该

系统要实现火车票信息的修改、添加、删除。

五、详细设计(部分源代码)

首先确定正确的属性关系,设计完善正确的程序,包括各个循环链表的完

整性,在本系统中,先列出结构关系。

4

火车票预定管理系统

预

定

火

车

票

5

1、函数声明

//**********************函申明*****************

intadd();〃添加模块

voidsave(NODE*head);〃保存模块

voiddelete_m(NODE*head);〃删除模块

voidupdata(NODE*head);〃更新模块

voidoutlnfo(TRAINt);〃输出火车信息

voidprintList(NODE*head);〃输出链表

voidpushHead(NODE*head,TRAINt);〃链表头插

voidprintHead();〃打印开头

voidprintEnd();〃打印结尾

voidsave();〃保存模块

voidsavelnfo(TRAINt);〃保存火车信息

voidsaveList(NODE*head);〃保存链表

intxmlPurse(FILE*fp,TRAIN*t);//xml解析

NODE*find(NODE*head,TRAINt,inttype);〃查找返回一个存数据的链表

2、链表操作

〃*******************链表操作*******************

NODE*creatList(){

NODE*node;

node=(NODE*)malloc(sizeof(TRAIN));

6

node->next=NULL;

returnnode;

)

NODE*ByeNode(TRAINt){〃申请一个节点

NODE*newNode=NULL;

newNode=(NODE*)malloc(sizeof(NODE));

newNode->data=t;

newNode->next=NULL;

returnnewNode;

}

intsize(NODE*head){〃求链表大小(不包括头结点)

intnum=0;

NODE*t=head;

while(t){

num++;

t=t->next;

)

returnnum-1;

)

{〃链表头插

voidpushHead(NODE*head/TRAINt)

NODE*tp=head;

7

NODE*node=ByeNode(t);

if(!tp->next)

(

tp->next=node;

)

else

(

node->next=head->next;

head->next=node;

)

)

voidprintList(NODE*head){

NODE*t=head->next;

while(t)

(

outlnfo(t->data);

t=t->next;

)

printf("输出完毕");

)

8

3、功能模块

〃******************女j育昌木其j夬***********

intadd(NODE*head){

intkey;

TRAINt;

printf(”请输入添加车次号>>");

scanf("%s",);

printf(”请输入添加车次出发点>>");

scanf("%s",t.place);

printf(”请输入添加车次目的地>>");

scanf("%s”,t.dir);

printf(“请输入添加车次出发时间>>");

scanf("%s",t.start);

printf(”请输入添加车次到达时间>>");

scanf("%s",t.end);

printf(”请输入添加车次票价>>");

scanf("%s",t.price);

printf(“请输入添加车次可买票数量>>");

scanf("%s”,t.quantity);

itoa(size(head)+l,t.id,10);

pushHead(head,t);

9

isChange=1;

printf(“添加成功,输入0结束,其他键继续添加”);

scanf("%d",&key);

if(key==O)return0;

elsereturn1;

)

4、头文件定义

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

六、调试分析

-------------------Configuration:火车订票系统-Win32Debug

Linking...

火车订票系统.exe-0error(s),0warning(s)

一Th组建,di怛潮际就¥1中查找\在文件2中查找入结果入SQLDebugging/

无错误,无问题。

七、用户使用说明

1实现管理火车信息。

2增加火车信息的函数(说明:能增加新的火车信息)。

3显示火车信息的函数(说明:对所有的火车信息进行打印)

4查找火车信息的函数(说明:从火车的序号、起点、终点进行查找)

5删除火车信息的函数(说明:从删除火车的姓名开始)

6修改火车信息的函数设计简单的菜单界面,实现上述所要求的各种功能。即根据菜单界面的

选择,对每一列火车都可以添加、排序、查询、删除、修改信息。

7.程序应加入文件的操作,打开、读取、写入、关闭。

10

八、测试结果

■"C:\Users\lenovo\Desktop\c++\1\4\Debug\)k车订票系统.exe"

正在读取数据...

数据读取完毕

读到数据11个

********************************

**欢迎使用火车票管理系统**

********************************

*1.添加乍次信息*

*2.查询车次信息*

*3.输出所行乍次信息*

*4.更新车次信息*

*5.删除乍次信息*

*6.保存操作*

*7.退出系统*

********************************

请输入数字选择功能>〉1

请输入添加车次号》12

请输入添加车次出发点〉西安

请输入添加乍次目的地〉苏州

请输入添加车次出发时间>>07:45

请输入添加车次到达时间》11:35

请输入添加车次票价>450

清输入添加乍次可买票数员>>100

添加成功,输入0结束.其他键继续添加

8.1添加火车信息

请输入数字选择功能>〉2

请输入你要根据什么信息查询的乍次;

1.序号

2.车次号

3.起点

4.终点

»1

请输入你要查询的车序号>12

找到1个数据

手

拿12

次1

地2

生

』

53开往

时<

一一

征O745

票

作45o

数10O

»:

输出完毕请输入数字选择功能〉

8.2查询火车信息(车次号)

11

请输入你要根据什么信息杳询的车次:

1.序号

2.车次号

3.起点

4.终点

»1

请输入你要查询的车序号

找到1个数据

序:1

UJ-

去

车01

次;

地

口U41⑶•

点.

</•

时.10O

间

±:-

票.25o

价

数10O

地

输出完毕格输入数字选择功能〉

8.3查询火车信息(序号)

请输入你要根据什么信息?f询的隼次:

1.序号

2.车次号

3.起点

4.终点

»3

请输入你要查询的车次起点》西安

找-到12个数据

序

-生12

-乍

火12

-地538

点0

-时O75开往苏州

问:4

-票

45011:35

价

+数100

最

一-

一

一

-一一----------+

_!.

-1

“

.序

.

车10

.次•

地10

点•

.号

时西安开往南京

.间

度.09:1512:00

.价

数.999

.巾

一100

十

一

一------+

仁。9・9

下次号:09

HRkA.西安开往保定

时间:15:46—20:48

/•)二.、.1/1P•154

8.4查询火车信息(起点)

12

请输入你要根据什么信息杳词的乍次:

1.序号

2.车次号

3.起点

4.终点

»4

请输入你要杳询的个次终点》石家庄

找到1个数据

—

序号:8

车次号:08

地点:西安开往石家庄

时间:16:50--20:35

票价:184

数量:100

+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+

输出完毕请输入数字选择功能〉

8.5查询火车信息(终点)

+--------------------------------------------------------------------------------------------------------------------------------------------------------------------—+

序号:9

车次号:09

才地J八占八•,西安开往保定

时间:15:46—20:48

票价:154

数量:100

41.

-1____.41-

序号:10

车次号:10

地点:西安开往南京

时间:09:15—12:00

票价:999

数量:100

,i_

11

11

1t

序号:12

车次号:12

地点:西安开往苏州

时间:07:45—11:35

票价:450

数量:100

+--------------------------------—+

输出完毕输出完毕.总共有12条信息

请输入数字选择功能〉》

13

8.6输出火车信息

请输入数字选择功能>>4

请输入要修改车次序号>>1一、

请输入修改的车次号(输入0不修改)》〉1,

请输入修改的出发点(输入0不修改)》不伊

请输入修改的目的地(输入0不修改)>〉北京

清输入修改的出发时间(输入。不修改)>>11:45

请施入极饮的到达时间(播入0不修改)>>15:50

请输入修改的车次票价(输入。不修改)>〃2f)

请输入修改的车次可买票数俄(输入°不修改)>>10°

修改完毕.

请输入数字选择功能》

8.7修改火车信息

请输入数字选择功能>>5

请输入要删除车次序号》>11

正在删除...

删除完毕.一—的

请输入数字选择功能》

8.8删除火车信息

请输入数字选择功能>〉6

保存文件...

彳呆存到斯径D:\train.xml完毕.

请输入数字选择功能〉》

8.9保存火车信息

请输入数字选择功能>>7

欢迎下次使用该管理系统

请按任意键继续••..

Pressanykeytocontinue

8.10退出系统

14

九、源代码

见附录。

十、小结

通过木次的实验报告,使我们能够基木掌握C程序设计的方法。此外,结合C语

言,采用一定的逻辑编译,实现题目中要求的各项要求,达到基本实验目的,提高自

己的C语言使用水平。

本次C课程设计,收获还是很多的,从刚刚拿到课程设计题目后,我就先分析这

个程序的一些基本的功能,从这些基本功能出发来定下一个程序的大致框架结构,这

里面主要包括程序中所设计的一些主要的函数的设计思想。比如:删除记录函数、增

力口记录函数等等。

这次的课程设计,是自己独立完成了一个相对比较大的程序,里面用到的面向对

象的知识也是比较多的,通过一番实践,很好的总结、强化了之前学习过的知识要点,

并且也发现了自己还没好好掌握的知识点,对于没掌握的,我查阅了参考书籍及时补

上。感觉代码写到也是后来,状态越好,我感觉是由于自己对于一些基本的知识的比

较好的掌握了。有些问题虽然没遇到过,但是通过查阅资料,只要了解了它们的用法,

自己就可以很快的模仿下来,不是照抄。这一点我觉得在今后的程序设计中也是蛮重

要的,因为我发现要写出好程序,首先应该去学习人家的程序,看懂他们的程序并且

转化为自己的。其次才有可能去创新。

自己今后要更加的去做一些这样的课程设计,这样一方面锻炼了自己的编程能力,

另一方面又使得自己复习巩固了基础的知识。

十一、参考文献

面向对象程序设计思想和方法

C/C++语言参考手册

主要参考文献:

[1]谭浩强.C语言程序设计(第二版)清华大学出版社,2003年

[2]吴文虎.程序设计基础清华大学出版社,2003年

[3]钱启平.C语言程序设计基础辅导教程铁道出版社,2000年

[4]钱能.C++程序设计教程清华大学出版社,1999年

[5]刘斌,王忠.面向对象程序设计——VisualC++清华大学出版社,2003年

附录:

源代码:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

15

typedefstruct{

charid[5];

charname[32];

charplace[32];

chardir[32];

charstart[32];

charend[32];

charprice[5];

charquantity[10];〃数量

}TRAIN;

typedefstructNODE{

TRAINdata;

structNODE*next;

}NODE;

staticintisChange=O;〃定义全局变量。表示没有修改,1有添加,2有修改,3有删除,

保存后为0

〃**********************函申明*****************

intadd();〃添加模块

voidsave(NODE*head);〃保存模块

voiddelete_m(NODE*head);〃删除模块

voidupdata(NODE*head);〃更新模块

voidoutlnfo(TRAINt);〃输出火车信息

voidprintList(NODE*head);〃输出链表

voidpushHead(NODE*head,TRAINt);〃链表头插

voidprintHead。;〃打印开头

voidprintEnd。;//打印结尾

voidsave();〃保存模块

voidsavelnfo(TRAINt);〃保存火车信息

voidsaveList(NODE*head);〃保存链表

intxmlPurse(FILE*fp,TRAIN*t);//xml解析

NODE*find(NODE*head,TRAINt,inttype);〃查找返叵一个存数据的链表

******************链表操作*******************

//*

NODE*creatList(){

NODE*node;

node=(NODE*)malloc(sizeof(TRAIN));

node->next=NULL;

returnnode;

}

NODE*ByeNode(TRAINt){〃申请一个节点

NODE*newNode=NULL;

newNode=(NODE*)malloc(sizeof(NODE));

newNode->data=t;

16

newNode->next=NULL;

returnnewNode;

}

intsize(NODE*head){〃求链表大小(不包括头结点)

intnum=0;

NODE*t=head;

while(t){

num++;

t=t->next;

)

returnnum-1;

)

voidpushHead(NODE*head,TRAINt){〃链表头插

NODE*tp=head;

NODE*node=ByeNode(t);

if(!tp->next)

(

tp->next=node;

)

else

{

node->next=head->next;

head->next=node;

)

)

voidprintList(NODE*head){

NODE*t=head->next;

while(t)

(

outlnfo(t->data);

t=t->next;

)

printf("输出完毕)

)

{〃链表查找

NODE*find(NODE*head/TRAINt,inttype)

NODE*tp=head->next;

NODE*findlnfo=creatList();〃创建链表存查找的信息

intcount=0;

switch(type)

{

case1:

while(tp)

(

17

if(!strcmp(tp->data.id,t.id))

(

〃printf(“找到信息:\n");

pushHead(findlnfo,tp->data);

);

tp=tp->next;

}〃循环结束

break;

case2:

while(tp)

(

if(!strcmp(tp->z))

(

〃p「intf(“找到信息:\n");

pushHeadffindlnfo,tp->data);

);

tp=tp->next;

}〃循环结束

break;

case3:

while(tp)

(

if(!strcmp(tp->data.place,t.place))

(

〃printf("找到信息:\n");

pushHeadffindlnfo,tp->data);

);

tp=tp->next;

}〃循环结束

break;

case4:

while(tp)

{

if(!strcmp(tp->data.dirzt.dir))

(

〃printf("找到信息:\n");

pushHeadffindlnfo,tp->data);

);

tp=tp->next;

}〃循环结束

break;

)

〃返回数据处理

count=size(findlnfo);

if(count==0)returnNULL;

18

elsereturnfindInfo;

}

voidsaveList(NODE*head){

〃创建文件

,,

FILE*fp=fopen("D://train.xml/"w+");

NODE*t=head->next;

fclose(fp);

while(t)

{

savelnfo(t->dataj;

t=t->next;

)

isChange=0;

printf("保存到路径D:\\train.xml完毕.\n“);

)

voidlist_delByld(NODE*head,char*id){

NODE*tp=head->next;

NODE*prep=head;〃用于记录上一节点

if(!tp)

(

printf("没有数据可操作\n“);

return;

)

while(tp)

{

if(!strcmp(tp->data.id,id))

(

printf("正在删除〃上一个节点next指向tp的next

prep->next=tp->next;

free(tp);

printf("删除完毕.\n“);

isChange=3;

break;

)

prep=tp;;

tp=tp->next;

}〃循环结束

if(!tp){

printf("没有该信息\n“);

)

)

//******************功能模块***********

intadd(NODE*head){

intkey;

19

TRAINt;

printf(”请输入添加车次号》");

scanf("%s",);

printf(”请输入添加车次出发点》”);

scanf("%s",t.place);

printf(”请输入添加车次目的地>>");

scanf("%s",t.dir);

printf(”请输入添加车次出发时间〉>“);

scanf(''%s",t.start);

printf(“请输入添加车次到达时间》");

scanf("%s"zt.end);

printf(”请输入添加车次票价>>");

scanf("%s",t.price);

printf(”请输入添加车次可买票数量>>");

scanf("%s",t.quantity);

itoafsizetheadj+l,t.id,10);

pushHead(headzt);

isChange=1;

printf(“添加成功,输入0结束,其他键继续添加)

scanf("%d",&key);

if(key==OJreturn0;

elsereturn1;

}

voidsave(NODE*head){

FILE*fp;

printf("保存文件

saveList(head);

)

voidoutlnfo(TRAINt){

printf("+------------—™+\n");

printf("|序号:%10sl\n",t.id);

printf("|车次号:%10s|\n",);

地点:开往

printf("|%10s%10s|\n"zt.place,t.dir);

printf("|时间:%10s--%10s|\n",t.start,t.end);

printf("|票价:%10s|\n”,t.price);

数量:

printf("|%10s|\n"zt.quantity);

printf("+------------—™+\n");

)

voidprintHeadf){

printf(11********************************

printff'**欢迎使用火车票管理系统**\n");

printf(,,***********:*********************\n,,),

printff'*1.添加车次信息*\n");

printff'*2.查询车次信息*\n");

printff'*3.输出所有车次信息*\n");

20

printff'*4.更新车次信息*\n");

printff'*5.删除车次信息*\n");

printff'*6.保存操作

printff'*7.退出系统*\n");

prjn^(»***********^********************\n«l).

voidprintEnd(NODE*head){

charkey;

charbuf[1024];〃定义缓存读完输出流剩余

switch(isChange)

{

case1:

printf("你有添加数据未保存是否要保存(y/n)");

gets(buf);

scanf(”%c”,&key);

if(key=='y')saveList(head);

break;

case2:

printf(“你有修改数据未保存是否要保存(y/n)");

gets(buf);

scanf("%c,&key);

if(key=='y')saveList(head);

break;

case3:

printf("你有删除数据未保存是否要保存(y/n)");

gets(buf);

scanf("%c",&key);

if(key=='y')saveList(head);

break;

default:

break;

)

printf("欢迎下次使用该管理系统\n“);

systemf'pause");

)

voidout(NODE*head){

printList(head);

printf("输出完毕总共有%d条信息\n“,size(head));

}

voidselect(NODE*head){

charname[32];

NODE*info=NULL;

TRAINt;

inttype=1;

21

while(type!=0)

(

printf(“请输入你要根据什么信息查询的车次:\nl.序号\n2.车次号\n3.起点\n4.

终点\n>>“);

scanf("%d",&type);

switch(type)

(

case1:

printf("请愉入你要查询的车序号>>”);

scanf("%s"zt.id);

info=findfhead,t,type);

type=0;

break;

case2:

printf(“请输入你要查询的车次号>>");

scanf("%s"z);

info=findfhead,t,type);

type=0;

break;

case3:

printf(“请输入你要查询的车次起点》”);

scanf("%s",t.place);

info=find(head?t,type);

type=0;

break;

case4:

printf(“请输入你要查询的车次终点>>");

scanf("%s,t.dir);

info=findfhead,t,type);

type=0;

break;

default:

printf("没有该功能请重新输入\n");

break;

)

)

if(info)

(

printf("找到%d个数据\n",size(info));

printList(info);

)

elseprintf("没有相关信息\n");

)

voiddelete_m(NODE*head){

charid[5];

22

printf(“请输入要删除车次序号》”);

scanf("%s"Jd);

list_delByld(head,id);

}一

voidupdate(NODE*head){

charid[5];

NODE*tp=head->next;

printf("请输入要修改车次序号》”);

scanf(“%s”,id);

if(!tp)

(

printf(“没有数据可操作\n“);

return;

)

while(tp)

(

if(!strcmp(tp->data.id,id))

(

TRAINt;

printf("请输入修改的车次号(输入0不修改)>>");

scanf("%s",);

printf(“请输入修改的出发点(输入0不修改)>>");

scanf("%s,t.place);

printf("请输入修改的目的地(输入0不修改)>>");

scanf("%s",t.dir);

printf("请输入修改的出发时间(输入0不修改)>>");

scanf("%s",t.start);

printf("请输入修改的到达时间(输入0不修改)>>");

scanf("%s"zt.end);

printf(”请输入修改的车次票价(输入0不修改)>>");

scanf("%s"zt.price);

printf(”请输入修改的车次可买票数量(输入。不修改)>>");

scanf("%s",t.quantity);

if(,"0"))strcpy(tp->,);

if(strcmp(t.place,"0"))strcpy(tp->data.place,t.place);

if(strcmpft.start,"0"))strcpy(tp->data.start,t.start);

if(strcmp(t.dir,"0"))strcpy(tp->data.dir,t.dir);

if(strcmpft.end,"0"))strcpy(tp->zt.end);

if(strcmpft.price,"0"))strcpy(tp->,t.price);

if(strcmptt.quantity,"0"))strcpy(tp->zt.quantity);

printf("修改完毕.\n");

isChange=2;

break;

)

tp=tp->next;

23

}〃循环结束

if(!tp)

printf("没有该信息\n");

)

)

//*************轻量XML解析*****************X*

intgetNode(FILE*fp,char*s){

charc;

inti=0;

intres=0;

while(1)

(

c=fgetc(fp);

if(c==EOFJreturn-1;

if(c=='<')break;

}

〃开始读取

while(1)

(

c=fgetc(fp);

if(c==EOF){〃文件结束

res=-1;

break;

)

if(c=='>')break;〃节点结束

s[i]=c;

i++;

)

s[i]='\0';

returnres;

)

voidsavelnfo(TRAINt){〃保存文件到D://train.xml

//xml格式

//<train>

//<name></name>

//<name></name>

//</train>

FILE*fp=fopenC'Dy/train.xml","a");//a是追加

charcontents[1024]={'\0'};〃加\0才是字符串

if(!fp)printf("创建文件失败");

else

strcatfcontents,"<train>\n");

24

strcatlcontents,M\t<id>,');

strcatfcontents,t.id);

strcat(contentsz"<\\id>\n");

strcat(contents,"\t<name>");

strcat(contents,);

strcat(contents,"<\\name>\n");

strcatfcontents,"\t<start>");

strcatfcontents,t.start);

strcat(contents,"<\\start>\n");

strcatfcontents,n\t<end>");

strcatfcontents,t.end);

strcatfcontents,"<\\end>\n");

strcat(contents,"\t<place>");

strcatfcontents,t.place);

strcat(contents,"<\\place>\n");

strcat(contents,"\t<dir>");

strcat(contentszt.dir);

strcatfcontents,n<\\dir>\n");

strcatfcontents,n\t<price>");

strcatfcontents,t.price);

strcatfcontents,"<\\price>\n");

strcat(contents,n\t<quantity>");

strcatfcontents,t.quantity);

strcatfcontents,"<\\quantity>\n");

strcat(contents,"<\\train>\n");

fputs(contents,fp);

fclose(fp);

)

)

NODE*readlnfo(){

NODE*i

温馨提示

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

评论

0/150

提交评论