C停车场管理系统简单代码实现Word文档下载推荐.docx
- 文档编号:14983456
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:10
- 大小:16.46KB
C停车场管理系统简单代码实现Word文档下载推荐.docx
《C停车场管理系统简单代码实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C停车场管理系统简单代码实现Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
structcar*next;
}QueueNode;
typedefstructNode
QueueNode*head;
QueueNode*rear;
}LinkQueueCar;
/*模拟通道*/
voidInitStack(SeqStackCar*);
/*初始化栈*/
intInitQueue(LinkQueueCar*);
/*初始化便道*/
intArrival(SeqStackCar*,LinkQueueCar*);
/*车辆到达*/
voidLeave(SeqStackCar*,SeqStackCar*,LinkQueueCar*);
/*车辆离开*/
voidList(SeqStackCar,LinkQueueCar);
/*显示存车信息*/
voidmain()
system("
color00f"
);
SeqStackCarEnter,Temp;
LinkQueueCarWait;
intch;
InitStack(&
Enter);
/*初始化车站*/
Temp);
/*初始化让路的临时栈*/
InitQueue(&
Wait);
/*初始化通道*/
while
(1)
{
cout<
<
"
欢迎光临"
endl;
**************************"
1.车辆到达"
cout<
2.车辆离开"
3.列表显示"
4.退出系统"
请选择所需要的服务!
请注意正确输入时间,不要为非数字!
{
cin>
>
ch;
if(ch>
=1&
&
ch<
=4)break;
elsecout<
请选择:
1|2|3|4."
}
switch(ch)
{
case1:
Arrival(&
Enter,&
break;
/*车辆到达*/
case2:
Leave(&
Temp,&
case3:
List(Enter,Wait);
/*列表打印信息*/
case4:
exit(0);
/*退出主程序*/
default:
break;
}
}
voidInitStack(SeqStackCar*s)/*初始化栈*/
{
inti;
s->
top=0;
for(i=0;
i<
=MAX;
i++)
stack[s->
top]=NULL;
intInitQueue(LinkQueueCar*Q)/*初始化便道*/
Q->
head=(QueueNode*)malloc(sizeof(QueueNode));
if(Q->
head!
=NULL)
{
Q->
head->
next=NULL;
rear=Q->
head;
return
(1);
elsereturn(-1);
voidPRINT(CarNode*p,introom)/*打印出站车的信息*/
intA1,A2,B1,B2;
请输入离开的时间:
/**:
**/"
cin>
p->
leave.hour;
while(p->
leave.hour<
reach.hour||p->
leave.hour>
23)
error!
请输入离开的时间的时("
reach.hour<
-23)"
B1=p->
}
:
leave.min;
endl<
离开车辆的车牌号为:
puts(p->
num);
其到达时间为:
"
reach.min<
离开时间为:
leave.min<
A1=p->
reach.hour;
A2=p->
reach.min;
B1=p->
B2=p->
应交费用为:
((B1-A1)*60+(B2-A2))*price<
元!
free(p);
intArrival(SeqStackCar*Enter,LinkQueueCar*W)/*车辆到达*/
CarNode*p;
QueueNode*t;
p=(CarNode*)malloc(sizeof(CarNode));
flushall();
请输入车牌号(例:
A1234):
gets(p->
if(Enter->
top<
MAX)/*车场未满,车进车场*/
Enter->
top++;
车辆在车场第"
Enter->
top<
位置!
请输入到达时间:
0||p->
reach.hour>
请输入到达时间的时(0-23)!
reach.min>
59)
请输入到达时间的分(0-59)!
Enter->
stack[Enter->
top]=p;
else/*车场已满,车进便道*/
该车须在便道等待!
t=(QueueNode*)malloc(sizeof(QueueNode));
t->
data=p;
W->
rear->
next=t;
rear=t;
voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQueueCar*W)
{/*车辆离开*/
introom;
CarNode*p,*t;
QueueNode*q;
/*判断车场内是否有车*/
top>
0)/*有车*/
while
(1)/*输入离开车辆的信息*/
cout<
请输入车在车场的位置1--"
;
cin>
room;
if(room>
room<
=Enter->
top)break;
while(Enter->
room)/*车辆离开*/
Temp->
Temp->
stack[Temp->
top]=Enter->
top];
top--;
}
p=Enter->
while(Temp->
=1)
Enter->
top]=Temp->
PRINT(p,room);
/*判断通道上是否有车及车站是否已满*/
if((W->
=W->
rear)&
MAX)/*便道的车辆进入车场*/
{
q=W->
next;
t=q->
data;
便道的"
t->
num<
号车进入车场第"
请输入现在的时间如/*:
*/:
if(p->
{
}
next=q->
if(q==W->
rear)W->
rear=W->
top]=t;
free(q);
便道里没有车!
车场里没有车!
/*没车*/
voidList1(SeqStackCar*S)/*列表显示车场信息*/
if(S->
0)/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 停车场 管理 系统 简单 代码 实现