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

下载本文档

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

文档简介

1、停车场安全管理制度页脚内容-2 -University of International Business and Economics算法与数据结构课程设计题目:停车场的收费管理系统组长:张赛组员:王佳琪,袁洁莹,张瑜 完成日期:2013年12月25日停车场安全管理制度一、 设计目的与内容1 .问题描述任务:停车场可以同时停放M辆车,停车场的入口和出口可分别有 N辆车排 队。停车每小时收费5元,每天不超过50元,停车不满半小时不收费,超过半 小时按一小时收费。功能要求:完成停车场进出车的收费管理以及查询每辆车的停车记录(按照车牌号查询);停车场目前的状况(满或空的车位数)。规定:输入数据形式和

2、范围:车牌号、停车开始时间输出形式:有中文提示,停车的时间长短、离开停车场的时间、费用界面要求:有合理的提示。存储结构:学生自己根据系统功能要求自己设计, 但是要求停车记录要存储 在数据文件中。测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数 据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中 写明;2 .基本要求(1)停车场管理主要实现以下几个功能:、停车场车位的划分。、车辆进出管理及收费功能。、停车场车辆信息查询功能。、退出系统。(2)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入 数据序列进行模拟管理。(3)栈以顺序结构实现,队列以链

3、表结构实现。3 .目的:程序所能达到的功能:程序主要服务于停车场使用者和停车场管理者。对于使用停车场的停车者,在其等待期间,系统为使用者提供查询,修改,删 除车辆信息的操作。当使用者想要离开停车场,停车场自动计算出停车费用,并 自动让正在等待的使用者有序进入停车位。而管理者可以通过本系统查询过场,在场,等待的车辆信息,也可以统计24小时内的停车收入。停车场的管理系统利用栈和队列的这些特点来实现模拟停车场和便道。二、算法的基本思想1 .数据结构定义(1) 队列数据类型定义:ADT Queue数据对象:D=ai|ai ElemSet, i=1,2; ,n,n> 0数据关系:R1=|ai-1,

4、ai D,i=2,n基本操作:InitQueue(&Q)操作结果:构造一个空队列Q。DestroyQueue(&Q)初始条件:队列Q已存在。操作结果:队列Q被销毁,不再存在。ClearQueue(&Q)初始条件:队列Q已存在。操作结果:将Q清为空队列。QueueEmpty(&Q)初始条件:队列Q已存在。操作结果:若Q为空队列,则返回TRUE否则返回FALSEQueueLength(Q)初始条件:队列Q已存在。操作结果:返回Q的元素个数,即队列的长度。GetHead(Q, &e)初始条件:Q为非空队列。操作结果:用e返回Q的队头元素。EnQueue(&am

5、p;Q, e)初始条件:队列Q已存在。操作结果:插入元素e为Q的新的队尾元素。DeQueue(&Q, &e)初始条件:Q为非空队列。操作结果:删除Q的队头元素,并用e返回其值。QueueTraverse(Q, visit()初始条件:Q已存在且非空。操作结果:从队头到队尾,依次对 Q的每个数据元素调用函数 visit()。一旦 visit(佚败,则操作失败。ADT Queue(2) 栈数据类型定义ADT stack数据对象:D=ai|ai charset, i=1,2,n,n>0数据关系:R1=|ai-1,ai D,i=2,n基本操作:initstack(&S,

6、n)操作结果:构造一个空栈S该栈可存放n个元素push(&S, e)初始条件:栈S已存在。操作结果:在栈S的栈顶插入新的栈顶元素e。pop(&S, &e)初始条件:栈S已存在。操作结果:删除S的栈顶元素,并以e返回其值.DestroyStack(&S)初始条件:栈S已存在。操作结果:销毁栈SClearStack(&S)初始条件:栈S已存在。操作结果:将S清为空栈。StackLength(&S)初始条件:栈S已存在。操作结果:返回栈S的长度。StackEmpty(&S)初始条件:栈S已存在。操作结果:若S为空栈,则返回TRUE否则返回FAL

7、SEGetTop(S, &e)初始条件:栈S已存在。操作结果:若栈S不空,则以e返回栈顶元素。StackTraverse(S, visit()初始条件:栈S已存在。操作结果:从栈底到栈顶依次对 S中的每个元素调用函数visit()ADT stack2 .主程序流程基本框架:页脚内容57过场、在场与等待车辆信息查找(栈等待车辆队列删除(队列)已收取的总停车(D.车辆信息类型typedef struct int Htime;int Mtime;Time; /简单模拟时间信息,记录小时和分钟 typedef struct char num20;Time reachtime;Time leav

8、etime;carinfo;(2) .栈类型typedef struct stack carinfo car5;int top;Stack;int inistack(Stack *S) / 初始化栈S->top=-1;return 1;void Push(Stack *S,carinfo x) / 进栈操作 S->top+;S->carS->top=x;printf("进站成功!n");void Pop(Stack *S,carinfo x) / 出栈操作if(S->top=-1)printf("空栈,无法出栈!");x=S

9、->carS->top;S->top-;printf("出栈成功!n");int IsEmpty(Stack *S) / 判断栈空if(S->top=-1)return 1;elsereturn 0;(3) .队列类型(便道)typedef struct Nodecarinfo data;struct Node *next;QueueNode;typedef struct QueueNode *front;QueueNode *rear;Queue,*linkQueue;int EnterQ(Queue *Q,carinfo x);int iniQu

10、eue(Queue *Q) / 初始化便道 Q->front=(QueueNode *)malloc(sizeof(QueueNode)申请节点if(Q->front!=NULL) Q->rear=Q->front;Q->front->next=NULL;return 1;else return 0;int EnterQ(Queue *Q,carinfo x) / 进便道 QueueNode *newNode;newNode=(QueueNode *)malloc(sizeof(QueueNode);if(newNode!=NULL)newNode->

11、data=x;newNode->next=NULL;Q->rear->next=newNode;Q->rear=newNode;return 1;else return 0;int DeleteQ(Queue *Q,carinfo x) / 出便道QueueNode *p;p=Q->front->next;if(Q->front=Q->rear) /判断便道是否有车return 0;x=p->data;if(p->next=Q->rear)Q->rear=Q->front;Q->front->next=N

12、ULL;Q->front->next=p->next;free(p);return 1;(4)主函数及其他函数的算法void main() Queue *Q;Stack *S=NULL;S=(Stack *)malloczeof(Stack);/ 申请栈节点Q=(linkQueue)malloc(sizeof(Queue); / 申请便道节点 int i;iniQueue(Q);/初始化调用inistack(S);/初始化调用printf("n*欢迎使用停车场管理界面*n");*printf("*本停车场每小时收费2元,停车不满半小时不收费,超过

13、半小时按一小时收费*'、);printGraph();while(1)printf("n请输入操作");scanf("%d",&i);switch(i)case 1:Arrive(S,Q);printGraph(); break;case 2:Departure(S,Q);printGraph();break;case 3:Print(S);printGraph();break;case 0:exit(1);break;case 4:PrintQ(Q);break;case 5:Search(S);break;default :print

14、f("重新输入");printGraph();void Lpush(Stack *S,carinfo x) Push(S,x);/ 进临时栈void LPop(Stack *S,carinfo x)Pop(S,x);int Arrive(Stack *S,Queue *Q)游辆到达carinfo x;int a;printf("输入车牌号:");scanf("%s",x.num);printf("请输入进车场的时间(*:*):");scanf("%d:%d”,&x.reachtime.Htime,

15、&x.reachtime.Mtime);if(S->top=Size-1)/递归调用进便道操作printf("车场已满,不能进入,进便道n");a=EnterQ(Q, x);if(a=1)printf("OKn");elseprintf("No!n");elsePush(S,x);return 1;int Departure(Stack *S,Queue *Q)/ 车辆离开操作 carinfo a;int parktime,paytime;char x20;Time leavetime;Stack *p=NULL;int

16、 point1=S->top;int point2=S->top;printf(”请输入要离去的车牌号:");scanf("%s",x);while(point1!=-1&&point2!=-1)if(strcmp(S->carpoint1.num,x)=0) /匹配函数,是否输入的信息与车场信息匹配printf("请输入要离开的时间(*:*):");scanf("%d:%d",&leavetime.Htime,&leavetime.Mtime);for(;point1!=S

17、->top;point1+,point2+) / 扫描直到结束S->carpoint1=S->carpoint2; / 如果找到了 ,出车S->top-;printf("成功出车场n");parktime=(leavetime.Htime-S->carpoint1.reachtime.Htime)*60+(leavetime.Mtime-S->c arpoint1.reachtime.Mtime);if(leavetime.Htime-S->carpoint1.reachtime.Htime>=10)paytime=10;el

18、seif(leavetime.Mtime-S->carpoint1.reachtime.Mtime<=30)paytime=leavetime.Htime-S->carpoint1.reachtime.Htime;else paytime=leavetime.Htime-S->carpoint1.reachtime.Htime+1;printf("其在停车场内停留时间为d分钟,实际按照d小时计费,所需付费为: d元。n”,parktime,paytime,paytime*2);point2=-1;elsepoint2=point1;pointl-;if(Q-&

19、gt;front!=Q->rear) a=Q->front->next->data;printf("从便道进入停车场的车牌号:%s",a.num);printf("请输入进车场的时间:d:%d",leavetime.Htime,leavetime.Mtime);scanf("%d:%d”,&a.reachtime.Htime,&a.reachtime.Mtime);Push(S,a);DeleteQ(Q,Q->front->next->data);if(point1=-1)/如果到结束了

20、,还没有找到,则输出信息printf("此车没有在停车场! n");return 1;void Print1(carinfo x)/ 简单的输出操作printf("车牌号:sn",x.num);printf("进车场的时间:d:%dn",x.reachtime.Htime,x.reachtime.Mtime);printf("nAn");void Print(Stack *S)/左丁印车场信息 carinfo x;int point=S->top;/ 从栈头开始if(S->top=-1)printf(&

21、quot;车场没有车辆登记进入!n");else while(point!=-1)printf("nn");printf("车的位置号:dn",point);x=S->carpoint;/把依次扫描到的信息赋值给xPrint1(x);/调用输出函数point-;/输出所有的车场信息printf("显示车场信息成功!n");void PrintQ(Queue *Q) /打印便道车辆信息QueueNode *p;p=(QueueNode *)malloc(sizeof(Queue)/ 申请结点p=Q->front-&

22、gt;next;if(Q->front!=Q->rear)/*判断通道上是否有车*/printf("n等待车辆的车牌号为:");while(p!=NULL)/判断是否到结尾printf("%s ”,p->data.num);p=p->next;/如果没找到,继续向下找printf("n");elseprintf("nttt便道里没有车。n");int Search(Stack *S)/按车牌号查找车辆信息 char x20;Time leavetime;Stack *p=NULL;carinfo a;

23、int point1=S->top;int point2=S->top;printf("请输入要查找的车牌号:”);scanf("%s",x);while(point1!=-1&&point2!=-1)if(strcmp(S->carpoint1.num,x)=0) /匹配函数,是否输入的信息与车 场信息匹配 for(;point1!=S->top;point1+,point2+) / 扫描直到结束S->carpoint1=S->carpoint2; / 如果找到了 ,输出信息printf("该车目前在

24、停车场中。n");point2=-1;elsepoint2=point1;pointl-;if(point1=-1)/如果到结束了,还没有找到,则输出信息printf("此车没有在停车场!");return 1;void printGraph()int i;printf("n");for(i=0;i<80;i+) printf("-");printf("nttt*请选择操作序号 *");printf("nnttt-车辆到达请选 1-");printf("nnttt-车辆

25、离开请选 2-");printf("nnttt-查询停车场信息请选3-");printf("nnttt一查询便道信息请选 4-");printf("nnttt按车牌号查找请选 5-");printf("nnttt-退出系统请选 0-");printf("nn");for(i=0;i<80;i+) printf("-");3.各模块之间的调用关系主函数 void main()初始化调用iniQueue(Q);inistack(S);调用到达函数Arrive(S,

26、Q);调用离开函数 Departure(S);调用打印信息函数printGraph()三、测试数据全部合法数据:1主界面Sri C:Window55r 5teir3cmci.exeI 回欢迎使用停车场管理界面*停车场每小时收着2元.停至不满半小目不L攵象 超过斗田4安一才K收费HKXMHKK*1司超举墀作序号FKMHFK达港透1车辆离开请选?查询停车场信息请选”-查询便道信息请选4-小H鞫查找请选B 退出系统请选目情输入操作2 .到达:D:2De b j g2 .e«eEW注谷注次:现石称谷注整注制於 WM? WltiMltfiM Msg% 出|中阡| |学三|二阳言7十里 号 HJ

27、WKMHiMKiMltiM W=MM WMM WK墓Kil*本停牛场奇,卜时欣赞2元*停年不满半小时不收费超11半1】时技一J "时收黄xmmkxk*请j舞至操作序号KMXXMM车辆到达请选1车辆离开请选工 一查询停车场信息清选3一查询便道信息请范4一 一按车牌号查找清选5退出系统请选gi甲目并-巡入堪作1人车牌?LF时18时人用车场的时间ge:见地功T请选择操作序号MIZX一车辆到达请选1 一_ 一一车辆离开请选? -查询停车场信息请选J 一查询便道信息请选1一一按车牌号查找请选6 退出系统请选0JJ I :1 0加的工;场作号车十根注功人车人成请睡舞03 ;213 .离开:*.青

28、选S操作序号车!达请选车辆座开请进2一查询停车场信息请选3 一查询便道信息请近4一 一按车牌号查找请选5退出系统请送0主 or 主n主nITr.入麋但入要哥主敢专牌号.JU1123入萋声开的时I可m3 14:15售教内停留时间为站分钟,实际按晒小时计费,厮鬻付费为/元.""2青选择操作序号 H4车辆到达请选2车辆嚼开清选2 一杳询停车场信息清选A- 一查询便道信息请选4一 一按车牌号查找请选5 退出系统清选®请“入蓼常去的车牌号;L¥V>11K请加人要岗开的时间4*:*: 13:45其恚停车度内停留时间为酗分钟,实际按照2小时计费.所需付费为;4元

29、“请选择执作序号H”一一三辆到达请选1三辆离开请选a一直询停主场信息请选3一宜询便道信息请选4-按王牌号查找请选5HX间 情时 车时留 的的停 2去开内 隹西昌一 量要拿 八人入出停一一退出系统请选曲LF0118*) : 13:1065分钟,实际按小时计费,所霭付费为二N元0*请选J承嶷件序号1MMHMMf车醐达请选工车辆离开请选2 一查询停车物信息请选3一查询便道信息请选4一一按车牌号查找清逸5ifi出系统请选为车时雷 的的停 R+wt 内 柜离噜场 堤要要辜 人人人出停:55,实际按照1踉卜时计费,所需付费为:如兀。(若便道有车等待) 输出从便道中进入停车场的车牌号、进车场时间(即为从便道

30、中出车的时间)、进站成功!一车辆亶开道选拿一一查询停车场信息请送3查询便道信息请选一 一按车牌号直找请送5 退出系统清选a-L);LJe bu g2 .exe进便宜-车辆1附谙裁1.-车辆离开谙边2-查询停车场信息谙选3 - 一查询便道信息请进一 一按车牌号宜找请选S 一 退出系统请进口A-.4.输出车场信息*请选择操作序W «*«*«*车辆到达请送工车辆离开请选z一查询停车场信息请送3一查询便道信息请勒一一按车牌号查找请选5退出系统请选0请辅人操作g3籍留置第,旨车场由时间:2:34隹的位置身口屋牌号.B1庭本场的时同1 : 23原万车场信息成功,*1 司 型

31、手撵作 序言*静声*车辆到达请选1车辆离开请选2一查询停丰场信,息,请选多 一查询便道信息请完”-按车牌号直找请选写一退出系统请选05输出便车道信息*请选择操作序号1*率柄到达请选1车辆离开诸达2 一查询停车场信息清昧3 一查询便遒信息请光“一 一技车牌号置我请龙A- 退出系统请选u性俞人操作4便道里没有车.储辅入操作*请选择操作序号*» 车辆到达请选工车辆离开请选2 一查询停车场信息请起 一查询便道信息请逃一按军牌号查找请走E 退出系统请选目青输人操作。b待车辆的车牌号为二前团启6、按车牌号查找信息且亘操盘功 .A车入成 州入普 土弓盟.L. 1 .L- ! 1RFI1白时间*:S

32、fl CjWind3w?s!ystfiT 32cmdrex*i青选择操作序号一*丰 达 车辆离开请选土一查询停车场信息清选3 杳询伸二苜信息请先4 一由车牌号查找谙选弓退出系统请选目非法数据1主界面:2.车辆到达:。;2口? b u 乾a。间II时 网的 :场 作号车A .金人输 WAt 一请HMXXMMi才选择操作 小弓车辆到达请选1-车辆商开请诜W一查询停车场信息请选3一查询便道信息清逸,一-按车牌号查找睛出5-播出系统请诜d请选捍操作字号车辆至IJ这请选T一一车辆看开请选工一查询停车场信息清选3一直询便道信总清逸4 一按车牌号查接清出占一退出系统请选。永11H7砥的:场BA人幸人南3哭W

33、新,53.车辆离开 D;2D?bug2 ex#一查询便道信息请选4一校车牌号杳战请诜5追出系名花彘&同一_壹胡大霆作1电义车畴号:1 _青瑜人进车场的时间,-: 1243北拈成立,*请选择操咕序号*车辆到达清选工车辆离开请选2查询停车场信息请选3-查询便道信息请送4 一 一按车牌号查我请选5退出系统清选5 £-32207Lo所需付费为+MJ作离离寻场操要AJ、人人输入It入Hit 新输斯左四、源程序及系统文件使用说明#include<stdio.h>#include<stdlib.h>#include<string.h>#define Si

34、ze 2#define price 5typedef struct int Htime;int Mtime;Time;/简单模拟时间信息,记录小时和分钟typedef struct char num20;Time reachtime;Time leavetime;carinfo;/通过结构来保存来车的车牌号,到达时间,离开时间typedef struct stackcarinfo car5;int top;Stack;typedef struct Nodecarinfo data;struct Node *next;QueueNode;/结点的定义typedef struct QueueNod

35、e *front;QueueNode *rear;Queue,*linkQueue;/ 定义队列结点int EnterQ(Queue *Q,carinfo x);int inistack(Stack *S) / 初始化栈S->top=-1;return 1;void Push(Stack *S,carinfo x) / 进栈操作S->top+;S->carS->top=x;printf("进站成功!n");void Pop(Stack *S,carinfo x) / 出栈操作if(S->top=-1)printf("空栈,无法出栈!&

36、quot;);x=S->carS->top;S->top-;printf("出栈成功!n");int IsEmpty(Stack *S) / 判断栈空if(S->top=-1)return 1;elsereturn 0;int iniQueue(Queue *Q) / 初始化便道Q->front=(QueueNode *)malloc(sizeof(QueueNode)申请节点if(Q->front!=NULL)Q->rear=Q->front;Q->front->next=NULL;return 1;else r

37、eturn 0;int EnterQ(Queue *Q,carinfo x) / 进便道QueueNode *newNode;newNode=(QueueNode *)malloc(sizeof(QueueNode);if(newNode!=NULL)newNode->data=x;newNode->next=NULL;Q->rear->next=newNode;Q->rear=newNode;return 1;else return 0;int DeleteQ(Queue *Q,carinfo x) / 出便道QueueNode *p;p=Q->front

38、->next;if(Q->front=Q->rear) /判断便道是否有车return 0;x=p->data;if(p->next=Q->rear)Q->rear=Q->front;Q->front->next=NULL;Q->front->next=p->next;free(p);return 1;void Lpush(Stack *S,carinfo x) Push(S,x);/ 进临时栈void LPop(Stack *S,carinfo x)Pop(S,x);int Arrive(Stack *S,Queu

39、e *Q)游辆到达carinfo x;int a;printf("输入车牌号:");scanf("%s",x.num);printf("请输入进车场的时间(*:*):");scanf("%d:%d”,&x.reachtime.Htime,&x.reachtime.Mtime);if(S->top=Size-1)printf("车场已满,不能进入,进便道n");a=EnterQ(Q, x);/递归调用进便道操作if(a=1)printf("OKn");elsepri

40、ntf("No!n");elsePush(S,x);return 1;int Departure(Stack *S,Queue *Q)/ 车辆离开操作 carinfo a;int parktime,paytime;char x20;Time leavetime;Stack *p=NULL;int point1=S->top;int point2=S->top;printf(”请输入要离去的车牌号:”);scanf("%s",x);while(point1!=-1&&point2!=-1)if(strcmp(S->carp

41、oint1.num,x)=0) /匹配函数,是否输入的信息与车 场信息匹配printf("请输入要离开的时间(*:*):");scanf("%d:%d",&leavetime.Htime,&leavetime.Mtime);for(;point1!=S->top;point1+,point2+) / 扫描直到结束S->carpoint1=S->carpoint2; / 如果找到了 ,出车S->top-;printf("成功出车场n");parktime=(leavetime.Htime-S-&g

42、t;carpoint1.reachtime.Htime)*60+(leavetime.Mtime-S->c arpoint1.reachtime.Mtime);if(leavetime.Htime-S->carpoint1.reachtime.Htime>=10)paytime=10;elseif(leavetime.Mtime-S->carpoint1.reachtime.Mtime<=30)paytime=leavetime.Htime-S->carpoint1.reachtime.Htime;else paytime=leavetime.Htime-S

43、->carpoint1.reachtime.Htime+1;printf("其在停车场内停留时间为d分钟,实际按照d小时计费,所需付费为:d元。n”,parktime,paytime,paytime*2);point2=-1;elsepoint2=point1;pointl-;if(Q->front!=Q->rear) a=Q->front->next->data;printf("从便道进入停车场的车牌号:%s",a.num);printf("请输入进车场的时间:d:%d",leavetime.Htime,l

44、eavetime.Mtime);scanf("%d:%d”,&a.reachtime.Htime,&a.reachtime.Mtime);Push(S,a);DeleteQ(Q,Q->front->next->data);if(point1=-1)/如果到结束了,还没有找到,则输出信息printf("此车没有在停车场!n");return 1;void Print1(carinfo x)/ 简单的输出操作printf("车牌号:sn",x.num);printf("进车场的时间:d:%dn"

45、,x.reachtime.Htime,x.reachtime.Mtime);printf("nAn");void Print(Stack *S)/月丁印车场信息carinfo x;int point=S->top;/ 从栈头开始if(S->top=-1)printf("车场没有车辆登记进入!n");elsewhile(point!=-1)printf("nAn");printf("车的位置号:dn",point);x=S->carpoint;/把依次扫描到的信息赋值给xPrint1(x);/调用输

46、出函数point-;/输出所有的车场信息printf("显示车场信息成功!n");void PrintQ(Queue *Q) /打印便道车辆信息QueueNode *p;p=(QueueNode *)malloc(sizeof(Queue)/ 申请结点p=Q->front->next;if(Q->front!=Q->rear)/*判断通道上是否有车*/printf("n等待车辆的车牌号为:");while(p!=NULL)/判断是否到结尾printf("%s ”,p->data.num);p=p->next;

47、/如果没找到,继续向下找printf("n");elseprintf("nttt便道里没有车。n");int Search(Stack *S)/按车牌号查找车辆信息char x20;Time leavetime;Stack *p=NULL;carinfo a;int point1=S->top;int point2=S->top;printf("请输入要查找的车牌号:");scanf("%s",x);while(point1!=-1&&point2!=-1)if(strcmp(S->carpoint1.num,x)=0) /匹配

温馨提示

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

评论

0/150

提交评论