2023年停车场实验报告_第1页
2023年停车场实验报告_第2页
2023年停车场实验报告_第3页
2023年停车场实验报告_第4页
2023年停车场实验报告_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

UniversityofInternationalBusinessandEconomics

《算法与数据结构》课程设计

题目:停车场的收费管理系统

组长:张赛

成员:王佳琪,袁洁莹,张瑜

完毕日期:2023年12月25日

一、设计目的与内容

1.问题描述

任务:停车场可以同时停放M辆车,停车场的入口和出口可分别有N辆车排队。停车每小时

收费5元,天天不超过50元,停车不满半小时不收费,超过半小时按一小时收费。

功能规定:完毕停车场进出车的收费管理以及查询每辆车的停车记录(按照车牌号查询):停

车场目前的状况(满或空的车位数)。

规定:输入数据形式和范围:车牌号、停车开始时间

输出形式:有中文提醒,停车的时间长短、离开停车场的时间、费用

界面规定:有合理的提醒。

存储结构:学生自己根据系统功能规定自己设计,但是规定停车记录要存储在数据文献中。

测试数据:规定使用1、所有合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,

以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

2.基本规定

(1)停车场管理重要实现以下几个功能:

①、停车场车位的划分。

②、车辆进出管理及收费功能。

③、停车场车辆信息查询功能。

④、退出系统。

(2)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管

理。

(3)栈以顺序结构实现,队列以链表结构实现。

3.目的:

程序所能达成的功能:

程序重要服务于停车场使用者和停车场管理者。

对于使用停车场的停车者,在其等待期间,系统为使用者提供查询,修改,删除车辆信息的操

作。当使用者想要离开停车场,停车场自动计算出停车费用,并自动让正在等待的使用者有

序进入停车位。

而管理者可以通过本系统查询过场,在场,等待的车辆信息,也可以记录24小时内的停车收

入。

停车场的管理系统运用栈和队列的这些特点来实现模拟停车场和便道。

二、算法的基本思想

1.数据结构定义

(1)队列数据类型定义:

ADTQueue{

数据对象:D={ai|aiGE1emSet,i=l,2,....,n,n20}

数据关系:R1={|ai-1,aieD,i-2...,n)

基本操作:

InitQueue(&Q)

操作结果:构造一个空队列Q。

DestroyQueue(&Q)

初始条件:队列Q已存在。

操作结果:队列Q被销毁,不再存在。

CiearQueue(&Q)

初始条件:队列Q已存在。

操作结果:将Q清为空队列。

QueueEmpty(&Q)

初始条件:队列Q已存在。

操作结果:若Q为空队列,则返回TRUE,否则返回FALSEO

QueueLength(Q)

初始条件:队列Q己存在。

操作结果:返回Q的元素个数,即队列的长度。

GetHead(Q,&e)

初始条件:Q为非空队列。

操作结果:用e返回Q的队头元素。

EnQueue(&Q,e)

初始条件:队列Q已存在。

操作结果:插入元素e为Q的新的队尾元素。

DeQueue(&Q,&e)

初始条件:Q为非空队列。

操作结果:删除Q的队头元素,并用e返回其值。

QueueTraverse(Q,visit())

初始条件:Q已存在且非空。

操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()„一旦visit。

失败,则操作失败。

}ADTQueue

(2)栈数据类型定义

ADTstack{

数据对象:D={ai|aiGcharset,i=l,2,....,n,n20}

数据关系:R1={IaiT,aieD,i=2...,n}

基本操作:

initstack(&S,n)

操作结果:构造一个空栈S,该栈可存放n个元素。

push(&S,e)

初始条件:栈S已存在。

操作结果:在栈S的栈顶插入新的栈顶元素e。

pop(&S,&e)

初始条件:栈S已存在。

操作结果:删除S的栈顶元素,并以e返回其值。

DestroyStack(&S)

初始条件:栈S已存在。

操作结果:销毁栈S。

C1earStack(&S)

初始条件:栈S已存在。

操作结果:将S清为空栈。

StackLength(&S)

初始条件:栈S已存在。

操作结果:返回栈S的长度。

StackEmpty(&S)

初始条件:栈S已存在。

操作结果:若S为空栈,则返回TRUE,否则返回FALSE。

GetTop(S,&e)

初始条件:栈S已存在。

操作结果:若栈S不空,则以e返回栈顶元素。

StackTraverse(S,visit())

初始条件:栈S己存在。

操作结果:从栈底到栈顶依次对S中的每个元素调用函数visit().

}ADTstack

2.主程序流程

基本框架:

入栉

独入

1入队列

r

出栉

驶出<

出队列

c----->过场、在场与等待车辆信息查找(栈数组)

杳询

榻作《----►

修改在场主辆信息修改(桂)

【删除一

►等待车辆队列删除(队列)

汨录-------►

1已收取的总停车费用

(1).车辆信息类型

typedefstruct{

intHtime;

intMtime;

}Time;//简朴模拟时间信息,记录小时和分钟

typedefstruct{

charnum[20];

◎Timereachtime;

Timeleavetime;

}carinfo;

(2).栈类型

typedefstruetstack

{carinfocar[5];

。inttop;}Stack;

intinistack(Stack*S)〃初始化栈

S->top=-l;

return1;

)

voidPush(Stack*S,carinfox)〃进栈操作

{oS->toP++;

S->car[S->top]=x;

。printf("进站成功!\n〃);

voidPop(Stack*S,carinfox)〃出栈操作

{if(S->top=-l)

。p「intf(〃空栈,无法出栈!〃);

x=S—>car[S->top];

S->top—;

printf(〃出栈成功!\n〃);

)

intIsEmpty(Stack*S)〃判断栈空

{if(S—>top==-l)

。return1;

else

greturn0;

)

(3).队列类型(便道)

typedefstructNode(

carinfodata;

structNode*next;

}QueueNode;

typedefstruct{

QueueNode*front;

QueueNode*rear;

}Queue,*1inkQueue;

intEnterQ(Queue*Q,carinfox);

intiniQueue(Queue*Q)//初始化便道

{Q->front=(QueueNode*)malloc(sizeof(QueueNode))//申

请节点

if(Q->front!=NULL)

{Q->rear=Q->front;

。Q—>front—>next=NULL;

oreturn1;

}

elsereturn0;

)

intEnterQ(Queue*Q,carinfox)//进便道

{QueueNode*newNode;

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

if(newNode!=NULL)

!

newNode->data=x;

newNode->next=NULL;

Q->rear->next=newNode;

Q->rear=newNode;

return1;

0}

elsereturn0;

)

intDe1eteQ(Queue*Q,carinfox)〃出便道

I

QueueNode*p;

op=Q->front->next;

if(Q—>front==Q->rear)〃判断便道是否有车

oreturn0;

x=p->data;

if(p->next==Q—>rear)

(

8Q->rear=Q->front;

8Q->front->next=NULL;

)

Q—>front->next=p->next;

。free(p);

return1;

)

(4)主函数及其他函数的算法

voidmain()

{Queue*Q;

Stack*S=NULL;

S=(Stack*)mal1oc(sizeof(Stack));//申请栈节点

Q=(linkQueue)malloc(sizeof(Queue));//申请便道节点

inti;

iniQueue(Q);〃初始化调用

inistack(S);〃初始化调用

printf('\n****************************欢迎使用停车场管理界面******

************************\n");

printf(〃*******本停车场每小时收费2元,停车不满半小时不收费,超过半小时按一

小时收费*******");

printGraph();

whi1e(1)

(

Printf(,z\n请输入操作”);

scanf(〃%d”,&i);

switch(i)

(

case1:Arrive(S,Q);printGraph();break;

case2:Departure(S,Q);printGraph();break;

case3:Print(S);printGraph();break;

case0:exit(1);break;

case4:PrintQ(Q);break;

case5:Search(S);break;

default:printf("重新输入");printGraph();

)

}

)

voidLpush(Stack*S,carinfox)

{Push(S,x);〃进临时栈

)

voidLPop(Stack*S,carinfox)

(

Pop(S,x);

)

intArrive(Stack*S,Queue*Q)//车辆到达

(

carinfox;

ointa;

。printf(〃输入车牌号:〃);

oseanf(〃%s",x.num);

。printf("请输入进车场的时间(**:**):〃);

oscanf("%d:%d”,&x.reachtiine.Htime,&x,reachtime.Mtime);

if(S->top==Size-1)

0{

printf(〃车场已满,不能进入,进便道\n〃);

a=EnterQ(Q,x);//递归

调用进便道操作

gif(a==l){

gp「intf("0K\n〃);

g}

«>else

oprintffNo!\n");

)

oelse

°(

Push(S,x);

。)

return1;

I

intDeparture(Stack*S,Queue*Q)//车辆离开操作

{carinfoa;

«>intparktime,paytime;

ocharx[20];

Timeleavetime;

oStack*p=NULL;

◎intpointl=S->top;

ointpoint2=S->top;

Printf(”请输入要拜别的车牌号:〃);

scanf(〃%s〃,x);

while(point1!=-1&&point2!=-l)

(

if(stremp(S->car[point1].num,x)==0)//匹配函数,是否输入的

信息与车场信息匹配

(

gprintf("请输入要离开的时间(**:**):〃);

ascanf(〃%d:%d〃,&leavetime.Htime,&1eavetime.Mtime);

for(;point1!=S—>top;point1++,point2++)//

扫描直到结束

S->car[pointl]=S->car[point2];〃假如找到了,

出车

S->top—;

printf(〃成功出车场\n〃);

eparktime=(1eavetime.Htime—S->car[pointl].reachtime.Htime)

^60+(1eavetime.Mtime-S->car[point1].reachtime.Mtime);

gif(1eavetime.Htime-S->car[pointl].reachtime.Htime>=10)payt

ime=10;

。elseif(leavetime.Mtime-S->car[pointl].reachtime.Mtime

<=30)paytime=1eavetime.IItime-S->car[pointi].reachtime.H

time;

。eIsepaytime=leavetime.Htime-S->car[point1].reachtime.II

time+1;

oprintf(〃其在停车场内停留时间为%d分钟,实际按照%(1小时计费,所需付费

为:%d元。\n”,parktime,paytime,paytime*2);

gpoint2=-1;

)

。else{

point2=pointl;

8pointl---;

)

I

if(Q->front!=Q->rear){

ga=Q->front->next->data;

printf("从便道进入停车场的车牌号:%s",a.num);

。printf("请输入进车场的时间:%d:%d",1eavetime.Htime,1eavetime.Mt

ime);

scanf(,z%d:%d",&a.reachtime.Htime,&a.reachtime.Mtime);

Push(S,a);De1eteQ(Q,Q->front->next->data);

)

if(pointl==T)//假如到结束了,还没有找到,则输出信息

{

。printf("此车没有在停车场!\n");

return1;

)

}

voidPrintl(carinfox)//简朴的输出操作

(

printf("车牌号:%s\n",x.num);

printf(”进车场的时间:%d:%d\n”,x.reachtime.Htime,x.reachtime.M

time);

printf(,z\n------------------------\n");

}

voidPrint(Stack*S)//打印车场信息

{carinfox;

intpoint=S—>top;//从栈头开始

if(S->top==-l)

8Printf("车场没有车辆登记进入!\n");

else

。{while(point!=-1)

8f

printf(〃\n-----------------------\n〃);

printf(〃车的位置号:%d\n〃,point);

®x=S—>car[point];//把依次扫描到的信息赋值给x

Printi(x);〃调用输出函数

point---;〃输出所有的车场信息

。printf("显示车场信息成功!\n");

}

voidPrintQ(Queue*Q)〃打印便道车辆信息

{

QueueNode*p;

o//p=(QueueNode*)malloc(sizeof(Queue));//申请结点

p=Q->front->next;

if(Q—>front!=Q—>rear){/*判断通道上是否有车*/

叩rintf(〃\n等待车辆的车牌号为:〃);

while(p!=NULL){//判断是否到结尾

printf('%s”,p->data.num);

P=p->next;〃假如没找到,继续向下找

8}

oprintf("\n");

)

else

printf("\n\t\t\t便道里没有车。\n");

)

intSearch(Stack*S)//按车牌号查找车辆信息

{»charx[20];

•Timeleavetime;

Stack*p=NULL;

»carinfoa;

»intpointl=S->top;

ointpoint2=S—>top;

printf(〃请输入要查找的车牌号:");

seanf("%sz,,x);

whi1e(point1!=T&&point2!=-1)

(

if(strcmp(S->car[point1],num,x)==0)//匹配函

数,是否输入的信息与车场信息匹配

•{for(;pointl!=S—>top;point1++,point2++)//扫描直到

结束

S—>car[pointl]=S->car[point21;//假如找至IJ

了,输出信息

printf("该车目前在停车场中。\n");

°point2=-1;

)

。else{

point2=pointl;

gpoint1一;

}

)

if(pointl-1)〃假如到结束了,还没有找到,则输出信息

{

。printf(〃此车没有在停车场!”);

return1;

voidprintGraph(){

ointi;

oprintf(〃\n〃);

for(i=0;i<80;i++)printf。,);

printf(〃\n\t\t\t******请选择操作序号******〃);

printf("\n\n\t\t\t----车辆到达请选1-----〃);

Printf(n\n\n\t\t\t-----车辆离开请选2------〃);

printf("\n\n\t\t\t---查询停车场信息请选3―〃);

printff\n\n\t\t\t——查询便道信息请选4—〃);

printf(,z\n\n\t\t\t一按车牌号查找请选5一");

printf(〃\n\n\t\t\t-----退出系统请选0-----");

printfC\n\nH);

for(i=0;i<80;i++)printfC-n);

3.各模块之间的调用关系

主函数voidmain()

初始化调用iniQueue(Q);

inistack(S);

调用到达函数Arrive(S,Q);

调用离开函数Departure(S);

调用打印信息函数printGraph()

三、测试数据

所有合法数据:

1.主界面

2.到达:

■'D:\2\Debug\2.exe

KMXXXXXXXXXXXXXXXXXXXXXXXXX]卬用停'车_场I管^壬里界_面"XKXXXXXXXXXMXXXXXXXXXXXXXXXXXJ

™本停车场每小时收费2元.停车不满半小时不收费,超过半小时按一小时收费™

******请选择操作序号******

---车辆到达请选i-------

---车辆离开请选2一—

一查询停车场信息请选3—

一查询便道信息请选4—

一按车牌号查找请选5—

---退出系统请选。----

作1

号LF0

.i

人J1i8

车n0"<12

成.

******请选择操作序号******

---车辆到达请选1-------

——车辆离开请选2一—

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

---退出系统请选。---

债辨心谈作1

输入车牌号:JW1123

有鲍入进车场的时间<**:**):13:30

3.离开:

请选择操作序号*****

---车辆到达请选1一一

一一车辆离开请选2——

一查询停车场信息请选3—

一查询便道信息请选4—

一按车牌号查找请选5—

---退出系统请选。---

请输入操作2

请输入要离去的车牌号:JWH23

,~开的时间<**:»*>:14:15

具S在停车场内停留时间为45分钟,实际按照1小时计费,所需付费为:2元。

****请选择操作序号***

---车辆到达请选1-------

一一车辆离开请选2

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

---退出系统请选0-------

请输入操作2

请箍入要离去的车牌号:LF0118

嬲畲要曹开的时间<**:”〉:13=45

矍翌曾奉招内停留时间为皿分钟,实际按照2小时计费,所需付费为,4元。

******请选择操作序号******

----车辆到达请选1------

一一车辆离开请选2一—

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5―

----退出系统请选。----

人操

作2

车牌

3时间13

要^:10

出<*

其§

留时

实际按照1小时计费,所需付费为:2元。

******1青选择操作序号******

----车辆到达请选I------

一一车辆离开请选2一—

一查询停车场信息请选3—

一查询便道信息请选4—

一按车牌号查找请选5—

----退出系统请选。----

人2

时23

理<*:55

(丁,实际按照1。小时计费,所需付费为:2。元。

(若便道有车等待)输出从便道中进入停车场的车牌号、进车场时间(即为从便道中出车

的时间)、进站成功!

■D:\2\Debug\2.exeI=»I回

一一车辆离开请选2一—

一查询停车场信息请选3—

一查询便道信息请选4—

一按车牌号查找请选5-

----退出系统请选。----

作1

马03

.

勺S<

匕**:4«*>.3:45

.,进便道

请选择操作序号

----车辆到达请选1---------

一一车辆离开请选2一—

一查询停车场信息请选3—

一查询便道信息请选4—

一按车牌号查找请选5—

----退出系统请选。----

操作

请2

的车

的时

一4:34

成<*

内停

S间为

停车

车牌

从所需付费为:4元。

:34

4.输出车场信息

******请选择操作序号******

----车辆到达请选1-------

----车辆离开请选2-------

一查询停车场信息请选3—

一查询便道信息请选4一

—按车牌号查找请选5—

----退出系统请选。----

请输入操作。3

至由谑3丁

霹嬴需间,2:34

车的位置号;0

季牌号:01

迸晕玲的时间:i:23

应^^信息丽;

******请选择操作序号******

----车辆到达请选1-------

一--车辆离开请选2——

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

---退出系统请选。----

军扬没有车辆登记进入,

5输出便车道信息

****i青选择操作序号*****

---车辆到达请选1----

---车辆离开请选2---

一查询停车场信息请选3—

一查询便道信息请选4一

—按车牌号查找请选5—

---退出系统请选。---

请输入操作4

便道里没有车。

请输入操作

******请选择操作序号******

----车辆到达请选1----

———车辆离开请选2

一查询停车场信息请选3—

一查询便道信息请选4—

一按车牌号查找请选5—

---退出系统请选。----

青输入操作4

军待车辆的车牌号为:8304

6、按车牌号查找信息

39C:\Windows\system32\cmd.exe

、1

.0。1

才间

场-

I车£BZ

nX06:00

r!

<*

******请选择操作序号******

----车辆到达请选1-------

----车辆离开请选2-------

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

----退出系统请选0-------

非法数据

1.主界面:

•D:\2\Debug\2.exe

™欢迎使用停车场管理界面

本停车场每小时收费2元,停车不满半小时不收费,超过半小时按一小时收费

*»••*请选择操作序号**»»*

----车辆到达请选1---------

一一车辆离开请选2

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

----退出系统请选。----

道输公舞作6

董薪输入

2.车辆到达:

*D:\2\Debug\2.exeIoI回I

XXXXXX请•选J举操作序^号XXXXXM

——车辆到达请选I——

-—车辆离开请选2——

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

----退出系统请选0---------

车饵

号:001

车场的时间(**:24:05

输入

3***请选择操作序号*****

——车辆到达请选工——

----车辆离开请选2---------

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选6—

----退出系统请选。----

贽入

售1

车001

喜.

出间

入.9

B23:61

3.车辆离开

,D:\2\Debug\2.exe-I回ay

一查询便道信息请选4—

一按车牌号查找请选5—

---退出系统请选0----

父人

s主

-车001

T事

曹人

nI223

Lk

V功

X-,

******请选择操作序号*****

---车辆到达请选1----

---车辆离开请选2----

一查询停车场信息请选3—

一查询便道信息请选4一

一按车牌号查找请选5—

---退出系统请选0----

操作

A入2

时车

24

的时

江<E»34

的时23

住67

一E

的时23

M修

2间55

停留

其实际按照10小时计费,所需付费为:2。元。

四、源程序及系统文献使用说明

#include<stdio.h>

#inc1ude<std1ib.h>

#include<string.h>

#defineSize2

#defineprice5

typedefstruct

intHtime;

intMtime;

}Time;//简朴模拟时间信息,记录小时和分钟

typedefstruct{

ocharnum[20];

©Timereachtime;

Time1eavetime;

}carinfo;//通过结构来保存来车的车牌号,到达时间,

离开时间

typedefstructstack

(

ocarinfocar[5];

。inttop;

}Stack;

typedefstructNode{

carinfbdata;

structNode*next;

}QueueNode;〃结点的定义

typedefstruct{

QueueNode*front;

QueueNode*rear;

}Queue,*linkQueue;〃定义队列结点

intEnterQ(Queue*Q,carinfox);

intinistack(Stack火S)//初始化栈

(

S->top=-l;

。return1;

)

voidPush(Stack*S,carinfox)//进栈操作

(

®S->top++;

S—>car[S->toP]=x;

。printf("进站成功!\n”);

}

voidPop(Stack*S,carinfox)〃出栈操作

(

if(S->top=・1)

。printf("空栈,无法出栈!”);

x=S->car[S—>top];

S->top--;

Printf("出栈成功!'n”);

)

intIsEmpty(Stack*S)〃判断栈空

(

if(S—>top==-l)

«return1;

◎else

return0;

)

intiniQueue(Queue*Q)//初始化便道

(

Q->front=(QueueNode*)ma1loc(sizeof(QueueNode));//申请节

if(Q->front!=NULL)

{

Q—>rear=Q->front;

Q—>front—>next=NULL;

。return1;

)

elsereturn0;

)

intEnterQ(Queue*Q,carinfox)〃进便道

(

QueueNodenewNode;

newNode=(QueueNode*)ma1loc(sizeof(QueueNode));

if(newNode!=NULL)

(

。newNode->data=x;

newNode->next=NULL;

Q->rear->next=newNode;

Q->rear=newNode;

return1;

0)

eIsereturn0;

)

intDe1eteQ(Queue*Q,carinfox)//出便道

(

。QueueNode*p;

。P=Q->front->next;

if(Q->front==Q->rear)//判断便道是否有车

。。return0:

x=p->data;

if(p—>next==Q->rear)

°{

gQ->rear=Q->front;

Q->front—>next=NULL;

)

Q->front->next=p->next;

°free(p);

return1;

)

voidLpush(Stack*S,carinfbx)

{-Push(S,x);//进临时栈

)

voidLPop(Stack*S,carinfox)

(

Pop(S,x);

)

intArrive(Stack*S,Queue*Q)//车辆到达

carinfox;

。inta;

。printf(“输入车牌号:“);

。scanf(0%sM,x.num);

。printf("请输入进车场的时间(**:**):**);

scanf("%d:%d”,&x,reachtime.Htime,&x.reachtime.Mtime);

if(S->top==Size—1)

。(

3printf("车场已满,不能进入,进便道\n”);

a=EnterQ(Q,x);〃递归调用进便

道操作

^if(a==l){

ooprintf(uOK\nH);

6)

ooe1se

“printfC'No!\nn);

)

。eIse

0(

Push(S,x);

°}

retum1;

intDeparture(Stack*S,Queue*Q)//车辆离开操作

{carinfoa;

。intparktime,paytime;

ocharx[20];

«»Timeleavetime;

oStack*p=NULL;

intpoint1=S->top;

。intpoint2=S->top;

Printf(”请输入要拜别的车牌号:”);

scanf(H%sM,x);

while(pointI!=-1&&point2!=-l)

(

if(strcmp(S->car[pointl].num,x)==0)〃匹配函数,是否输入的信息与车

场信息匹配

6{

。printf(”请输入要离开的时间(**:**):”);

oscanf("%d:%d",&leavetime.Htime,&1eavetime.Mtime);

for(;pointl!=S—>top;pointl++,point2++)〃扫描直到结束

S->car[point1]=S—>car[poin

温馨提示

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

评论

0/150

提交评论