c语言车辆管理系统课程设计.docx

上传人:b****3 文档编号:5684075 上传时间:2023-05-09 格式:DOCX 页数:12 大小:19.43KB
下载 相关 举报
c语言车辆管理系统课程设计.docx_第1页
第1页 / 共12页
c语言车辆管理系统课程设计.docx_第2页
第2页 / 共12页
c语言车辆管理系统课程设计.docx_第3页
第3页 / 共12页
c语言车辆管理系统课程设计.docx_第4页
第4页 / 共12页
c语言车辆管理系统课程设计.docx_第5页
第5页 / 共12页
c语言车辆管理系统课程设计.docx_第6页
第6页 / 共12页
c语言车辆管理系统课程设计.docx_第7页
第7页 / 共12页
c语言车辆管理系统课程设计.docx_第8页
第8页 / 共12页
c语言车辆管理系统课程设计.docx_第9页
第9页 / 共12页
c语言车辆管理系统课程设计.docx_第10页
第10页 / 共12页
c语言车辆管理系统课程设计.docx_第11页
第11页 / 共12页
c语言车辆管理系统课程设计.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言车辆管理系统课程设计.docx

《c语言车辆管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《c语言车辆管理系统课程设计.docx(12页珍藏版)》请在冰点文库上搜索。

c语言车辆管理系统课程设计.docx

c语言车辆管理系统课程设计

#include

#incIude

#incIude

#defineMAX3/*车库容量*/

#definepriceOx5/*每车每分钟费用*/

typedefstruettime

{

qinthour;

intmin;

}Time;/*时间结点*/

typedefstruetnode

{

charnum[10];

oTimereach;

Timeleave;

ICarNode;/*车辆信息结点*/

typedefstructNODE

{

CarNode*stack[MAX+1];

qinttop;

}Moni_Cheku;

typedefstruetcar

CarNode*data;structcar*next;

}QueueNode;

typedefstructNode

{

oQueueNode*head;

QueueNode*rear;

*);/*初始化车库*/

}MoniBiandao;

voidInitStack(MoniChekuintlnitQueue(Moni_Biandao*);

/*初始化便道*/

intArrivaI(MoniCheku

沃.Moni_Biandao*);/*

车辆到达*/

voidLea

ve(MoniCheku

*,MoniCheku*,M

oniBiand

ao*);/*车辆离开*/

 

voidList

(Moni_Cheku,Moni_Biandao);/*显示车库

与便道得存车信息*/

intmain()oMoni_ChekuEnter,Temp;

Moni_BiandaoWait;

iritch;

InitStack(&Enter);/*初始化车站*/

InitStack(&Temp);/*初始化让路得临时链表*/

InitQueue(&Wait);/沃初始化便道沃/

printfCAnO;

printf(nl八欢迎进入停车场管理系统1!

—\n“);

printf(”\n“);

printf(”提示!

(1)、该车库得最大容量为:

%d;\n“,MAX);printf(H

(2)x该车库得收费标准为:

%4、2f元/(辆*分钟)、\n",price);

while

(1)

osystem("CLS");

printf("******头*************主菜单*******

********头****\门”);

…printf(“1、车辆到达”);

printf(H2、车辆离开”);

oprintf("3、列表显示”);

printf("4、退出系统\n");

bprintf("****************沃*****************

************\门”);

oprintf(n请选择(1-4):

[]\b\bn);

oowhile

(1)

»oscanf(”%d",&ch);

a®if(ch>=1&&ch<=4)break;

oooeIseprintf("错误!

请重选(1-4):

[]\b\b");

}

switch(ch)

{

case1:

ArrivaI(&Enter,&帕it);break;/*车

辆到达*/

»case2:

Leave(&Enter,&Temp,&Wait);break;/*车辆离开*/

case3:

List(Enter,Wait):

break;/*打印列表信息*/

£>ocase4:

exit(0);/*退出主程序*/

defau11:

break;

}

oreturn0;

}

voidInitStack(MoniCheku*s)/*初始化车库*/

ointi;

os->top二0;

ofor(i=0;i<=MAX;i++)

s->stack[s->top]=NULL;

}

intInitQueue(Moni_Biandao沃Q)/*初始化便道*/

{

oQ—>head=(QueueNode*)maIIoc(sizeof(QueueNod

e));

oif(Q->head!

=NULL)

{

oQ->head->next二NULL;

Q->rear=Q->head;

«return

(1);

}

oelsereturn(-1);

}

voidPRINT(CarNode*p,introom)/*输出出库车得信

息、*/

intA1,A2,B1,B2;

printf(”请输入离开得时间:

/**:

**/”);

ooseanf("%d:

%d",&(p->leave、hour),&(p—>leave、m

in));

oprintf(“离开车辆得车牌号为:

”);

puts(p->num);

printf("其到达时间为:

%d:

%d\n",p->reach、hour,p-〉reach、min);

oprintf("离开时间为:

%d:

%d\n",p—>leavexhour,p

—>1eave、min);

oA1=p—>reach、hour;

»A2=p->reach、min;

B1=p—>leave、hour:

ooB2=p->Ieavesmin;

printf(u应交费用为:

%4、2f元”,((B1一A1)*60+(B2-A2))*price);

oofree(p);

}

}

intArrivaI(MoniCheku*Enter,MoniBiandao*W)

/*车辆到达*/

qCarNode*p;oQueueNode*t;

p=(CarNode*)malloc(sizeof(CarNode));

offIush(stdin);

oprintfC请输入车牌号(例如:

中CUG888):

”);

scanf("%s",&(p—>num));

if(Enter->top

{

oEnter—>top++;

printfC1该车在车库位置%八\n”,Enter->top);

printf("请输入到达时间(**:

**):

”);

seanf("%d:

%d",&(p—>reachxhour),&(p->rea

ch、min));

o«>Enter->stack[Enter->top]=p;

oreturn

(1);

}

else/*车库已满,车进便道*/

{

printf(”该车须在便道等待!

\十);

t=(QueueNode*)maIIoc(sizeof(QueueNode));

t->data=p;

…t一>next二NULL;

0W->rear—>next二t;

qW->rear二t;

return

(1);

}

voidLeave(MoniCheku*EnterrMoniCheku

Moni_Biandao*W)/*车辆离开*/

{

inti,room;

CarNode*p,*t;

oQueueNode*q;

0/*判断车库内就是否有车沃/

if(Enter->top>0)/*有车*/

{

6printf("请输入车在车库得位置(1--%d):

",

p);/*输入车辆离开得信息*/

while

(1)

{

oscanf("%d",&room);

a。

if(room>=1&&room<=Enter->top)

*Temp,

Enter->to

break;

oeIseprintfC错误!

请重选:

");

0whiIe(Enter->top>room)/*车辆离开*/

aaTemp->top++;

qTemp->stack[Temp—>top]二Enter—>stack[Enter->top];

qqqEnter—>stack[Enter->top]=NULL;

qEnter->top-一;

QQ}

p=Enter->stack[Enter->top];

aEriter->stack[Enter—>top]二NULL;

Eriter->top-一;

while(Temp->top>=1)

0aEnter—>top++;

ooEnter->stack[Enter—>top]二Temp—>stack[Tetup->top];

qTernp->stack[Temp一〉top]=NULL;

nTemp->top—;

PRINT(p,room);/*判断通道上就是否有车及车库就是否

已;茜次/

if((W—>head!

二W->rear)&&Enter—>top<

MAX)/*便道得车辆进入车库*/

q=W->head->next;

…t二q—>data;

nEnter->top++;

qqprintf(u\n便道得%s号车进入车场第%d位置、t->num,

Enter—>top);bbbprintf("\n请输入现在得时间(**:

**):

”);

noscant("%d:

%d"r&(t->reach、hour).&(t->reachvmin));

qaqW->head-〉next=q->next;

ooif(q==W->rear)W~>rear=W->head;

QEriter->stack[Enter—>top]二t;

°free(q);

oelseprintfCAn便道里没有车、\nH);

elseprintf("车库里没有车!

\nM);/*没车*/

voidList1(Moni_Cheku*S)/*列表显示车库信息*/

if(S->top>0)/*判断车库内就是否有车*/

printfC车库号到达时间\t车牌号\n-);

for(i=1;i<=S—>top;i++)

{

oooprintf(”%d",i);

oooprintf("\t%d:

%d",S->stack[订一>reach、

hour,S->stack[i]->reach、min);

ooprintf("\t\t%s\n",S~>stack[i]->num);

00}

}

oelseprintfC1车库里没有车\n”);

}

voidList2(Moni_Biandao*W)/*列表显示便道信息次/

{

QueueNode*p;

op=W—>head->next;

if(W->head!

=W->rear)/*判断便道上就是否有车*/

{

printf(”在便道里等待得车辆得号码为:

\n");

owhile(p!

=NULL)

puts(p->data—>num);

op=p->next;

}

}

elseprintf(”便道里没有车、\nH);

}

voidList(Moni_ChekuS,Moni_BiandaoW)

{

intflag,tag;

oflag=1;

owhiIe(fIag)

{

printf(”**********查瞧**********、门");

printf(n1x车库2、便道3、返回\n");

oprintf("************************\nn);

oprintfC请选择(1-3):

[]\b\b");

owhiIe

(1)

00{

ooscanf("%d",&tag);

oooif(tag>=1&&tag<=3)break;

°elseprintf("错误!

请重选(1-3):

[]\b\b")

switch(tag)

easel:

List1(&S);

break;/*列表显示车库信息*/

case2:

l_ist2(&W);

break;/*列表显示便到信息*/

case3:

flag=0;

0break;

default:

break;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2