版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩
指导教师
普田粤院
PUTIANUNIVERSITY
《数据结构与算法》
课程设计报告
题目:停车场管理系统
姓名:____________________________
专业:智能科学与技术
班级:___________________________
学号:____________________________
指导教师:____________________________
新工科产业学院
2021年12月日
目录
1'项目简介.................................................1
2、设计要求.................................................2
3、引言.....................................................3
4、需求分析.................................................4
5、可行性分析...............................................5
6、系统分析与设计..........................................6
7、代码实现.................................................7
8、测试运行.................................................8
9、项目总结.................................................9
停车场管理系统
一'项目简介
模拟一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。
(1)车辆到达需输入汽车牌照号码及到达时刻;
(2)车辆离开需输入汽车在停车场的位置、离开时刻及在停车场内停留的时间和应
缴纳的费用(在便道上停留的时间不收费);
(3)停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为
它让路,待其开出停车场后,这些车辆再按照原来的次序进场;
(4)如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且
仍然保持在便道上等待的车辆的次序。
二、设计要求
(1)以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据的方式进行模拟管理。
输入1,表示车辆到达;
输入2,表示车辆离开;
输入3,表示显示出停车场内及便道上的停车情况;
输入4,表示退出系统。
(2)建立一个共享栈,两个栈共享空间,分别作为停车场和从停车场退出的汽车临时停放让道。
(3)要求有友好的操作界面,以上功能都能在界面中以适当的形式体现并方便地操作。
三、引言
本实验以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进
行模拟管理。每一组输入数据包括两个数据项:汽车牌照号码以及达到的时刻。如果停车场
已满,则会停在便道上。然后会输出汽车在停车场内或便道上停车位置。若是选择汽车离开
登记,则需要先输入汽车离开的时间,接着程序自动计算停车费用并输出。栈以顺序结构实
现,队列以链表结构实现。
四、需求分析
此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且
要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,
待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆
栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开
时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个
链队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变
通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道
上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的链队列的头结点连到原来
的第二辆车上就可以了。
五、可行性分析
设计环境:Dev-C++5.11
空间复杂度分析:
以栈模拟停车场,队列模拟车场外的便道
汽车离开时存在停车场栈的另一端,也就是运用了双栈,节省了汽车离开时所需要额
外花费的储存空间。
时间复杂度分析:
汽车离开停车场时,因为停车场是用栈,而栈是运用数组实现的,本项目中选择离开
的汽车是直接输入其停车的位置就可以实现汽车离开的操作,也就是可以直接找到该汽车的
位置,并不需要多余的查找操作,时间复杂度为0(1);
因为便道是采取的链表实现的,所以汽车在离开便道时,需要从头开始遍历查找,时
间复杂度为0(n)。
六、系统分析与设计
6.1所采用的数据结构
时间信息结构体,包括分钟和秒钟;
typedefstruct{
inthour;
intmin;
}Time;
车辆信息结构体,包括车牌号、到达时间、离开时间等信息;
typedefstructnode{//定义车辆信息结构体
charnum[10];
Timereach;〃到达时间
Timeleave;〃离开时间
}CarNode;
停车场最大容量,实验中设置为3;
#defineMAX3
停车场信息结构体,包括车辆数组,双向栈的两个顶点信息;
typedefstructNODE{〃用顺序栈栈表示停车场
CarNode*stack[MAX+l];
inttop[2];
}SeqStackCar;
便道结点信息结构体,包括车辆,next指针信息;
typedefstructcar{〃便道结点
2
CarNode*data;
structcar*next;
}QueueNode;
便道信息结构体,头指针,尾指针,车辆数量等信息;
typedefstructNode{〃链队列实现便道
QueueNode*head;〃头指针
QueueNode*rear;〃尾指针
intnum;
}LinkQueueCar;
停车场,用SeqStackCarEnter保存,其中,Enter数组的每个单元代表一个停车位。
Enter设置为全局变量。
便道,用LinkQueueCarWait保存,其中Wait的每个节点代表一个车位。
6.2showlist函数
展示菜单信息;
6.3InitStack函数
初始化停车场栈;
6.4InitQueue函数
初始化便道;
6.5Arrival函数
3
输入欲进库车9号
先检测停车场有没有停满,若没有,则录入车辆车牌号和到达时间信息,并且将该车辆
信息加入停车场栈中;若已满,则将车辆信息录入便道队列中。
6.6Pop函数
汽车信息入栈。
6.7Pop函数
汽车信息出栈。
6.8EnterQue函数
汽车信息入队列。
6.9DeleteQueue函数
汽车信息出队。
6.10Leave函数
检测停车场和便道是否有车,若没
有车,则直接提示没有任何车辆信息;
若有,则选择将要离开的车辆在停车场
和便道的哪个位置,再将此车辆信息从
栈和队列中删除,若该车辆信息储存在
栈的底部,则先将顶部的车辆信息取出
并存储到栈数组的尾部,直到取到对应
的车辆信息,删除此信息后,再将刚刚
移到栈尾部的车辆信息依次再放回栈的
头部。
6.11leavl函数
需要离开的车在停车场。
6.12leave2函数
需要离开的车在便道
6.13Listl函数
显示停车场里的车辆情况
6.14List2函数
显示便道上的车辆情况
6.15List函数
查看车辆列表显示函数。
6.16PRINT函数、
计算车辆收费函数。
七、代码实现
7.1showlist函数
voidshowlist()
printf("\n\t\t
”);
printf("\n\t\t
”);
printf("\n\t\t\t\t\t欢迎使用停车场系统.\t\n〃);
printf(,z\n\t\t\t\t\t[1]车辆到达登记.\t\n");
printf("\n\t\t\t\t\t[2]车辆离开登记.\t\n");
printf("\n\t\t、\t\t[3]车辆列表显示.\t\n");
printf('\n\t\t\t\t\t[0]退出管理系统.\t\n〃);
printfC\n\t\t1本停车场收费标准为一分钟0.05元,便道停车0.02一分钟望周
知[\n");
printfC\t\t
”);
)
7.2PRINT函数
voidPRINT(CarNode*p,inti){//车辆收费
intAl,A2,Bl,B2;
floatm;
printfC\n\t\t车辆离开的时间:”);
scanf&(p->leave.hour),&(p->leave.min));
printfC\n\t\t离开车辆的车牌号为:“);
puts(p->num);
5
Al=p->reach.hour;
A2=p->reach.min;
Bl=p->leave.hour;
B2=p->leave.min;
printfC\n\t\t其到达时间为:%d:%d\n,,Al,A2);
printf(〃\n\t\t离开时间为:%d:%d\n〃,Bl,B2);
switch(i){
case1:
n尸((Bl-Al)*60+(B2-A2))*PRICE1;break;〃小时跟小时求差换算成分与分钟求
和得出价格
case2:
m=((Bl-Al)*60+(B2-A2))*PRICE2;break;
)
if(m>0)
printf(zz\n\t\t应交费用为:%2.If元\n〃,m);
else
printfCz\n\t\t无需收费\n〃);
free(p);
)
7.3InitStack函数
voidInitStack(SeqStackCar*s){//栈的初始化
inti;
s->top[0]=-l;
s->top[l]=MAX;
for(i=0;i<MAX;i++)
s->stack[i]=NULL;
)
7.4InitQueue函数
intInitQueue(LinkQueueCar*Q){//队列的初始化
Q->head=(QueueNode*)malloc(sizeof(QueueNode));〃头结点生成
if(Q->head!=NULL)
(
Q->head->next=NULL;〃头指针next域置空
Q->rear=Q->head;〃尾指针指向头结点
Q->num=0;
return(1);
)
elsereturn(-1);
)
7.5Push函数
intPush(SeqStackCar*s,CarNode*p,inti){〃入栈
if(s->top[0]+l==s->top[1])return0;//栈满
switch(i){
case0:
s->top[0]++;
6
s->stack[s->top[0]]=p;
break;
case1:
s->top[l]一;
s->stack[s->top[l]]=p;
break;
default:
return0;
}
return1;
)
7.6Pop函数
CarNode*Pop(SeqStackCar*s,inti){〃出栈
CarNode*p;
switch(i){
case0:
if(s->top[0]==-l)returnNULL;
p=s->stack[s->top[0]];//0号栈元素出栈
s->top[0]一;
break;
case1:
if(s->top[l]==MAX)returnNULL;
p=s->stack[s->top[1]];//0号栈元素出栈
s->top[l]++;
break;
default:
returnNULL;
)
returnp;
}
7.7EnterQue函数
intEnterQue(LinkQueueCar*W,CarNode*p){〃链队列入队,生成队列节点,存入节点
信息,将尾指针的next指向它,移动尾指针
QueueNode*t;
t=(QueueNode*)malloc(sizeof(QueueNode));〃生成队列结点空间
if(t!=NULL){
t->data=p;
t->next=NULL;
W->rear->next=t;
W->rear=t;
W->num++;
system("pause");
return1;
else
7
return0;
)
7.8DeleteQueue函数
CarNode*DeleteQueue(LinkQueueCar*W,CarNode*x,intm){〃出队
QueueNode*p,*q;
inti;
p=W->head->next;
q=W->head;
if(W->head==W->rear)return0;〃队列为空
for(i=l;i<m;i++){
q=P;
p=p->next;
)
q->next=p->next;
if(W->rear=q)〃如果队中只有一个元素则p出队以后成为空队
W->rear=W->head;
x=p->data;
free(p);
W->num-;
returnx;
)
7.9leavel函数
voidleavel(SeqStackCar*Enter,LinkQueueCar*W){〃停车场的车离开
introom;
CarNode*p,*x;
if(Enter->top[0]>T)〃判断车场是否为空
(
while(1)
(
printf(z,\n\t\t请输入车在车场的位置/I--%d/:〃,Enter->top[0]+l);
scanf(〃%d〃,&room);//获取停车位
room——;
if(room>=0&&room<=Enter->top[0])break;〃判断输入位置是否有效
elseprintf(〃\n\t\t输入有误,请重输:〃);
)
while(Enter->top[0]〉room)〃把要删除的车辆的前面的车开出来,进临时栈。
(
x=Pop(Enter,0);
Push(Enter,x,1);
}
p=Pop(Enter,0);
PRINT(p,l);//调用计费函数计费
if((W->head!=W->rear))〃若便道不为空
p=DeleteQueue(W,p,1);
8
Push(Enter,p,0);
printfC\n便道里的车进入停车场\n〃);
)
whi1e(Enter->top[l]<MAX)〃再把临时栈里辆进停车场
(
x=Pop(Enter,1);
Push(Enter,x,0);
}
)
elseprintfC\n\t\t车场里没有车.\n〃);〃停车场空直接出去
)
7.10leave2函数
voidleave2(LinkQueueCar*W){〃便道离开函数
introom;
CarNode*p;
if(W->head!=W->rear){〃队列不为空
while(1)
(
printf(z,\n\t\t请输入车在便道的位置/I--%d/:,z,W->num);
scanf(〃%d〃,&room);
if(room>=l&&room<=W->num)break;〃判断输入位置是否有效
elseprintf(〃\n\t\t输入有误,请重输:〃);
)
p=DeleteQueue(W,p,room);
PRINT(p,2);
)
else{
printf(〃\t\t便道里没有车〃);
)
)
7.11Arrival函数
intArrival(SeqStackCar*Enter,LinkQueueCar*W){〃车辆进入函数
CarNode*p;
p=(CarNode*)malloc(sizeof(CarNode));〃生成车辆节点
printfC\n\t\t请输入车牌号(例:豫B1234):〃);
scanf(〃%s〃,p->num);
printf(z,\n\t\t车辆到达时间:〃);
scanf(zz%d:%dz/,&(p->reach.hour),&(p->reach.min));
if(Enter->top[0]+1<Enter->top[1]){
Push(Enter,p,0);
printf(/z\n\t\t车辆在车场第%d位置.\n\n〃,Enter->top[0]+l);
system("pause");
return(1);
)
9
else〃停车场已满需要进入便道等待,便道用队列实现
printf("\n\t\t该车须在便道等待!有车位时进入车场\n\n");
EnterQue(W,p);
return(1);
)
)
7.12leave函数
voidLeave(SeqStackCar*Enter,LinkQueueCar*W)〃车辆离开函数
(
〃车辆的离开
inta=l,b=0;
while(a)
systemC'cls'O;
printf(〃\n\t\t
〃);
printf(zz\n\t\t
〃);
printf(z/\n\t\t\t\t\t欢迎使用停车场系统.\t\n〃);
printf(z,\n\t\t\t\t\t[1]停车场.\t\n〃);
printf("\n\t\t\t\t\t[2]便道.\t\n〃);
printf(z,\n\t\t\t\t\t[0]返回上一级.\t\n〃);
printf(〃\t\t
〃);
printf(〃\n\t\t请选择您需要出库车辆的存在场地:〃);
scanf(级d〃,&b);
switch(b)
(
case0:a=0;break;
case1:leavel(Enter,W);break;
case2:leave2(W);break;
default:printf(,z\n\t\t输入错误请重新输入:〃);break;
system("pause");
}
7.13Listl函数
voidListl(SeqStackCarS)〃显示车场里的车辆情况
inti;
if(S.top[0]>=0)
(
printf(z/\n\t\t车场:\n");
printf(〃\n\t\t位置\t到达时间\t车牌号\n\n〃);
io
for(i=0;i<=S.top[0];i++)
(
printf("\t\t%d”,i+1);
printf(,,\t%d:%d\t\t//,S.stack[i]->reach.hour,S.stack[i]->reach.min);
puts(S.stack[i]->num);
printf("\n");
}
)
elseprintf(z/\n\t\t车场里没有车\n\n");
)
7.14List2函数
voidList2(LinkQueueCar*W)//显示便道上的车辆情况
(
QueueNode*p;
inti;
p=W->head->next;
if(W->head!=W->rear)
(
printf("\n\t\t便道:\n");
for(i=l;(p!=NULL);i++)
{
printf('\n\t\t第%d辆车:",i);
puts(p->data->num);
p=p->next;
)
)
elseprintf(/z\n\t\t便道里没有车\n\n");
)
7.15List函数
voidList(SeqStackCarS,LinkQueueCarW)〃查看列表显示,遍历
(
intflag,tag;
flag=l;
while(flag)
(
system("cls");
printf("\n\t\t
_");
printf("\n\t\t
—");
printf(z/\n\t\t\t\t\t查看车辆列表显示\t\n");
printf(/?\n\t\t\t\t\t[1]车场列表.\t\n");
printf(z/\n\t\t\t\t\t[2]便道列表.\t\n");
printf(z,\n\t\t\t\t\t[0]返回主菜单.\t\n")
11
printfC\t\t
___________________________________________________________________〃);
printf("\n\t\t请选择0~2:〃);
while(1)
(
scanf(〃%d〃,&tag);
if(tag>=0&&tag<=2)
break;
else
printf(〃\n\t\t输入有误,请重新选择0~2:〃);
}
switch(tag)
(
case1:
Listl(S);
system(,zpause,z);
break;
case2:
List2(&W);
printf(〃\n〃);
system("pause");
break;
case0:
flag=0;
break;
default:
break;
)
system(,,cls/,);
}
)
八、测试运行
8.1主页面测试
12
固C:\Users\86152\Desktop\test⑵X[+v—□X
欢迎使用停车场系统.
[1]车辆到达登记.
[2]车辆离开登记.
[3]车辆列表显示.
[0]退出管理系统.
【本停车场收费标准为一分钟@5元,便道停车e.02一分钟望周知】
请选择:
8.2车辆到达登记功能测试
国C:\Users\86152\Desktop\test⑵X,+一□X
欢迎使用停车场系统.
[1]车辆到达登记.
[2]车辆离开登记.
[3]车辆列表显示.
[0]退出管理系统.
【本停车场收费标准为一分钟0.05元,便道停车@.62一分钟望周知】
请选择:1
请输入车牌号(例:豫B1234):123
车辆到达时间:12:22
车辆在车场第1位置.
请按任意键继续.・,
8.3车辆离开停车场功能测试
13
回C:\Users\86152\Desktop\test(2)X+7□X
欢迎使用停车场系统.
[1]停车场.
[2]便道.
[0]返回上一级.
落—籥:由京不福而至这法施不
请输入车在车场的位置/1--1/:1
车辆离开的时间:12:33
离开车辆的车牌号为:123
其到达时间为:12:22
离开时间为:12:33
应交费用为:9.6元
请按任意键继续...
8.4车辆停入便道功能测试
囱C:\Users\86152\Desktop\test⑵X+□X
欢迎使用停车场系统.
[1]车辆到达登记.
[2]车辆离开登记.
[3]车辆列表显示.
[0]退出管理系统.
【本停车场收费标准为一分钟9.05元,便道停车9.02一分钟望周知】
请选择:1
请输入车牌号(例:豫B1234):567
车辆到达时间:15:U
该车须在便道等待!有车位时进入车场
请按任意键继续...
8.5查看停车场车辆信息功能测试
14
国C:\Users\86152\Desktop\test⑵X'+v-□X
查看车辆列表显示
[1]车场列表.
[2]便道列表.
[0]返回主菜单.
请选择0~2:1
车场:
位置到达时间车牌号
112:11123
213:22234
314:33345
请按任意键继续.・・
8.6查看便道车辆信息功能测试
国C:\Users\86152\Desktop\test⑵X+-□X
查看车辆列表显示
[1]车场列表.
[2]便道列表.
[0]返回主菜单.
请选择0-2:2
便道:
第1辆车:567
第2辆车:789
请按任意键继续...
8.7车辆从便道离开功能测试
15
回C:\Users\86152\Desktop\test⑵X|+7-□X
欢迎使用停车场系统.
[1]停车场.
[2]便道.
[0]返回上一级.
请选择您需要出库车辆的存在场地:2
清输入车在便道的位置/1--2/:1
车辆离开的时间:15:33
离开车辆的车牌号为:567
其到达时间为:15:11
离开时间为:15:33
应交费用为:@.4元
请按任意键继续...
8.7当便道有车辆时车辆从停车场第一位置离开功能测试
EC:\Users\86152\Desktop\test(2)X+7□X
欢迎使用停车场系统.
[1]停车场.
[2]便道.
[0]返回上一级.
请选择您需要出库车辆的存在场地:1
请输入车在车场的位置/1-3/:1
车辆离开的时间:13:22
离开车辆的车牌号为:123
其到达时间为:12:11
离开时间为:13:22
应交费用为:3.5元
便道里的车进入停车场
请按任意键继续...
8.7便道车辆进入停车场后查看停车场车辆信息
16
叵]C:\Users\86152\Desktop\test(2)X[+v-□X
查看车辆列表显示
[1]车场列表.
[2]便道列表.
[e]返回主菜单.
请选择0-2:1
车场:
位置到达时间车牌号
116:11789
213:22234
314:33345
请按任意键继续.・・
九、项目总结
本次项目是栈和队列的基本算法,是基础练习,关键是车辆的离开,具体谈谈我理解的停车
场。停车场系统总的来说分为五大块,第一块和第二块属于基本操作,包括初始化栈和队列;
第三块是车到达,分为两个层次:
1.车到达了进栈
2.栈满,进队列。
第四块是车离开,分为五个层次:
1.车离开,判断该车后面是否还有车
2.有车的话,后面的车让路,进临时栈
3.然后该车离开,打印出离开信息
4.离开后,判断临时栈上是否有车,有车重新进车站
5.再判断便道上是否有车,有车也进车站。
第五块是显示车站信息,分为三个层次:
1.显示车站信息
2.显示便道信息
3.返回。
17
附录:(程序源代码)
〃头文件
#ifndefCarParking_H_INCLUDED
#defineCarParking_HJNCLUDED
#defineMAX3
/**********************************************************
功能描述:头文件
*其它说明:消息字段之间用分号(;)分隔
************************************************************/
typedefstruct(
inthour;
intmin;
}Time;
typedefstructnode{//定义车辆信息结构体
charnum[10];
Timereach;〃到达时间
Timeleave;〃离开时间
JCarNode;
typedefstructNODE{〃用顺序栈栈表示停车场
CarNode*stack[MAX+l];
intlop[2];
JSeqStackCar;
typedefstructcar{〃便道结点
CarNode*data;
structcar*next;
IQucucNode;
typedefstructNode{〃链队列实现便道
QueueNode*head;〃头指针
QucueNodc*rcar;〃尾指住十
intnum;
JLinkQueueCar;
voidshowlist();
voidInitStack(SeqStackCar*);
intlnitQueue(LinkQueueCar*);
intArrival(SeqStackCar*,LinkQueueCar*);
voidLcave(SeqStackCar*,LinkQucueCar*);
voidList(SeqStackCar,LinkQueueCar);
voidleave1(SeqStackCar*Enter,LinkQueueCar*W);
voidleave2(LinkQueueCar*W);
intPush(ScqStackCar*s,CarNode*p,inti);
CarNode*Pop(SeqStackCar*s,inti);
intEnterQue(LinkQueueCar*W,CarNode*p);
#endif//CarParking_H_INCLUDED
18
#include<stdio.h>
#include<stdlib.h>
#includc"test.h"
〃主程序
intmain()
(
ScqStackCarEnter;〃定义栈和便道
LinkQueueCarWait;
intch;
system("color09”);
InitStack(&Entcr);〃对栈进行初始化
InitQueue(&Wait);〃队列初始化
while(l)
(
showlist();
printf("\n\n\t\t请选择:");
scanf(*'%d",&ch);
switch(ch)
(
case1:
Arrival(&Enter,&Wait);
break;
case2:
Leave(&Enter,&Wait);
break;
case3:
List(Enter.Wait);
break;
case0:
exit(O);
default:
printf("\n输入有误,请重新选择:0-3:");
break;
)
system(Hcls");
1
}//自定义函数
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<cstdlib>
#include<string.h>//停车场最大容量为3辆,便于观察
#definePRICE10.05
#definePRICE20.02
#include"test.h"
voidshowlist()
19
printf("\n\t\t____—
printf(n\n\t\t_____
printf("\n\t\t\t\t\t欢迎使用停车场系统.\t\n");
printf("\n\t\t\t\t\t[1]车辆到达登记.\t\n");
printf("\n\t\t\t\t\t[2]车辆离开登记.\l\n");
printf("\n\t\t\t\t\t[3]车辆列表显示.\t\n");
printf("\n\t\t\t\t\t[0]退出管理系统.\t\n");
printf("\n\t\t【本停车场收费标准为一分钟0.05元,便道停车0.02一分钟望周知]\n");
printf("\t\t”);
)
voidPRINT(CarNode*p,inti){//车辆收费
intAl,A2,Bl,B2;
floatm;
printf("\n\t\t车辆离开的时间
scanf(H%d:%d'\&(p->leave.hour),&(p->leave.min));
printf("\n\t\t离开车辆的车牌号为:");
puts(p->num);
A1=p->reach.hour;
A2=p->rcach.min;
Bl=p->leave.hour;
B2=p->leave.min;
printf("\n\t\t其到达时间为:%d:%d\n\A1,A2);
printf("\n\t\t离开时间为:%d:%d\n",Bl,B2);
switch(i){
case1:
m=((Bl-Al)*60+(B2・A2))*PRICEl;break;〃小时跟小时求差换算成分与分钟求和得出价格
case2:
m=((Bl-A1)*60+(B2-A2))*PRICE2;break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程项目管理课程设计任务书及实施方案
- 2018年高考生物(三月)中等生课外练(17)及解析
- 192家庭电路中电流过大的原因2
- 12徐州3年中考物理压轴题解析
- 工程外观质量评定表
- 2024-2025学年课时作业人教版地理课时作业82
- 人教部编八年级语文上册《一着惊海天》公开课教学课件
- 1.1 地球的宇宙环境 课件 高一上学期地理湘教版(2019)必修第一册
- 六年级下册-生命生态安全-教案备课讲稿
- 机场翻新垃圾清运服务
- 《Monsters 怪兽》中英对照歌词
- 华东地区SMT公司信息
- 物业管理公司法律顾问服务方案
- 拌合站粉罐基础验算(共11页)
- 自动售货机投放协议(模板)
- 隧道弃渣及弃渣场处理方案
- 签证用完整户口本英文翻译模板
- 初三数学第一单元测试卷(共4页)
- 甘肃省公路路产损坏赔偿收费标准
- 骨折病人伤肢肿胀的护理
- 复习酒水投标书
评论
0/150
提交评论