




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
UniversityofInternationalBusinessandEconomics
《算法與數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)
題目:停車場(chǎng)的收費(fèi)管理系統(tǒng)
組長(zhǎng):張賽
成員:王佳琪,袁潔瑩,張瑜
完畢日期:2023年12月25日
一、設(shè)計(jì)目的與內(nèi)容
1.問(wèn)題描述
任務(wù):停車場(chǎng)可以同時(shí)停放M輛車,停車場(chǎng)的入口和出口可分別有N輛車排隊(duì)。停車每小時(shí)
收費(fèi)5元,天天不超過(guò)50元,停車不滿半小時(shí)不收費(fèi),超過(guò)半小時(shí)按一小時(shí)收費(fèi)。
功能規(guī)定:完畢停車場(chǎng)進(jìn)出車的收費(fèi)管理以及查詢每輛車的停車記錄(按照車牌號(hào)查詢):停
車場(chǎng)目前的狀況(滿或空的車位數(shù))。
規(guī)定:輸入數(shù)據(jù)形式和范圍:車牌號(hào)、停車開(kāi)始時(shí)間
輸出形式:有中文提醒,停車的時(shí)間長(zhǎng)短、離開(kāi)停車場(chǎng)的時(shí)間、費(fèi)用
界面規(guī)定:有合理的提醒。
存儲(chǔ)結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能規(guī)定自己設(shè)計(jì),但是規(guī)定停車記錄要存儲(chǔ)在數(shù)據(jù)文獻(xiàn)中。
測(cè)試數(shù)據(jù):規(guī)定使用1、所有合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部非法數(shù)據(jù)。進(jìn)行程序測(cè)試,
以保證程序的穩(wěn)定。測(cè)試數(shù)據(jù)及測(cè)試結(jié)果請(qǐng)?jiān)谏辖坏馁Y料中寫明;
2.基本規(guī)定
(1)停車場(chǎng)管理重要實(shí)現(xiàn)以下幾個(gè)功能:
①、停車場(chǎng)車位的劃分。
②、車輛進(jìn)出管理及收費(fèi)功能。
③、停車場(chǎng)車輛信息查詢功能。
④、退出系統(tǒng)。
(2)以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管
理。
(3)棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。
3.目的:
程序所能達(dá)成的功能:
程序重要服務(wù)于停車場(chǎng)使用者和停車場(chǎng)管理者。
對(duì)于使用停車場(chǎng)的停車者,在其等待期間,系統(tǒng)為使用者提供查詢,修改,刪除車輛信息的操
作。當(dāng)使用者想要離開(kāi)停車場(chǎng),停車場(chǎng)自動(dòng)計(jì)算出停車費(fèi)用,并自動(dòng)讓正在等待的使用者有
序進(jìn)入停車位。
而管理者可以通過(guò)本系統(tǒng)查詢過(guò)場(chǎng),在場(chǎng),等待的車輛信息,也可以記錄24小時(shí)內(nèi)的停車收
入。
停車場(chǎng)的管理系統(tǒng)運(yùn)用棧和隊(duì)列的這些特點(diǎn)來(lái)實(shí)現(xiàn)模擬停車場(chǎng)和便道。
二、算法的基本思想
1.數(shù)據(jù)結(jié)構(gòu)定義
(1)隊(duì)列數(shù)據(jù)類型定義:
ADTQueue{
數(shù)據(jù)對(duì)象:D={ai|aiGE1emSet,i=l,2,....,n,n20}
數(shù)據(jù)關(guān)系:R1={|ai-1,aieD,i-2...,n)
基本操作:
InitQueue(&Q)
操作結(jié)果:構(gòu)造一個(gè)空隊(duì)列Q。
DestroyQueue(&Q)
初始條件:隊(duì)列Q已存在。
操作結(jié)果:隊(duì)列Q被銷毀,不再存在。
CiearQueue(&Q)
初始條件:隊(duì)列Q已存在。
操作結(jié)果:將Q清為空隊(duì)列。
QueueEmpty(&Q)
初始條件:隊(duì)列Q已存在。
操作結(jié)果:若Q為空隊(duì)列,則返回TRUE,否則返回FALSEO
QueueLength(Q)
初始條件:隊(duì)列Q己存在。
操作結(jié)果:返回Q的元素個(gè)數(shù),即隊(duì)列的長(zhǎng)度。
GetHead(Q,&e)
初始條件:Q為非空隊(duì)列。
操作結(jié)果:用e返回Q的隊(duì)頭元素。
EnQueue(&Q,e)
初始條件:隊(duì)列Q已存在。
操作結(jié)果:插入元素e為Q的新的隊(duì)尾元素。
DeQueue(&Q,&e)
初始條件:Q為非空隊(duì)列。
操作結(jié)果:刪除Q的隊(duì)頭元素,并用e返回其值。
QueueTraverse(Q,visit())
初始條件:Q已存在且非空。
操作結(jié)果:從隊(duì)頭到隊(duì)尾,依次對(duì)Q的每個(gè)數(shù)據(jù)元素調(diào)用函數(shù)visit()?一旦visit。
失敗,則操作失敗。
}ADTQueue
(2)棧數(shù)據(jù)類型定義
ADTstack{
數(shù)據(jù)對(duì)象:D={ai|aiGcharset,i=l,2,....,n,n20}
數(shù)據(jù)關(guān)系:R1={IaiT,aieD,i=2...,n}
基本操作:
initstack(&S,n)
操作結(jié)果:構(gòu)造一個(gè)空棧S,該棧可存放n個(gè)元素。
push(&S,e)
初始條件:棧S已存在。
操作結(jié)果:在棧S的棧頂插入新的棧頂元素e。
pop(&S,&e)
初始條件:棧S已存在。
操作結(jié)果:刪除S的棧頂元素,并以e返回其值。
DestroyStack(&S)
初始條件:棧S已存在。
操作結(jié)果:銷毀棧S。
C1earStack(&S)
初始條件:棧S已存在。
操作結(jié)果:將S清為空棧。
StackLength(&S)
初始條件:棧S已存在。
操作結(jié)果:返回棧S的長(zhǎng)度。
StackEmpty(&S)
初始條件:棧S已存在。
操作結(jié)果:若S為空棧,則返回TRUE,否則返回FALSE。
GetTop(S,&e)
初始條件:棧S已存在。
操作結(jié)果:若棧S不空,則以e返回棧頂元素。
StackTraverse(S,visit())
初始條件:棧S己存在。
操作結(jié)果:從棧底到棧頂依次對(duì)S中的每個(gè)元素調(diào)用函數(shù)visit().
}ADTstack
2.主程序流程
基本框架:
入櫛
獨(dú)入
1入隊(duì)列
r
出櫛
駛出<
出隊(duì)列
c----->過(guò)場(chǎng)、在場(chǎng)與等待車輛信息查找(棧數(shù)組)
杳詢
榻作《----?
修改在場(chǎng)主輛信息修改(桂)
【刪除一
?等待車輛隊(duì)列刪除(隊(duì)列)
汨錄-------?
1已收取的總停車費(fèi)用
(1).車輛信息類型
typedefstruct{
intHtime;
intMtime;
}Time;//簡(jiǎn)樸模擬時(shí)間信息,記錄小時(shí)和分鐘
typedefstruct{
charnum[20];
◎Timereachtime;
Timeleavetime;
}carinfo;
(2).棧類型
typedefstruetstack
{carinfocar[5];
。inttop;}Stack;
intinistack(Stack*S)〃初始化棧
S->top=-l;
return1;
)
voidPush(Stack*S,carinfox)〃進(jìn)棧操作
{oS->toP++;
S->car[S->top]=x;
。printf("進(jìn)站成功!\n〃);
voidPop(Stack*S,carinfox)〃出棧操作
{if(S->top=-l)
。p「intf(〃空棧,無(wú)法出棧!〃);
x=S—>car[S->top];
S->top—;
printf(〃出棧成功!\n〃);
)
intIsEmpty(Stack*S)〃判斷???/p>
{if(S—>top==-l)
。return1;
else
greturn0;
)
(3).隊(duì)列類型(便道)
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))//申
請(qǐng)節(jié)點(diǎn)
if(Q->front!=NULL)
{Q->rear=Q->front;
。Q—>front—>next=NULL;
oreturn1;
}
elsereturn0;
)
intEnterQ(Queue*Q,carinfox)//進(jìn)便道
{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)主函數(shù)及其他函數(shù)的算法
voidmain()
{Queue*Q;
Stack*S=NULL;
S=(Stack*)mal1oc(sizeof(Stack));//申請(qǐng)棧節(jié)點(diǎn)
Q=(linkQueue)malloc(sizeof(Queue));//申請(qǐng)便道節(jié)點(diǎn)
inti;
iniQueue(Q);〃初始化調(diào)用
inistack(S);〃初始化調(diào)用
printf('\n****************************歡迎使用停車場(chǎng)管理界面******
************************\n");
printf(〃*******本停車場(chǎng)每小時(shí)收費(fèi)2元,停車不滿半小時(shí)不收費(fèi),超過(guò)半小時(shí)按一
小時(shí)收費(fèi)*******");
printGraph();
whi1e(1)
(
Printf(,z\n請(qǐng)輸入操作”);
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);〃進(jìn)臨時(shí)棧
)
voidLPop(Stack*S,carinfox)
(
Pop(S,x);
)
intArrive(Stack*S,Queue*Q)//車輛到達(dá)
(
carinfox;
ointa;
。printf(〃輸入車牌號(hào):〃);
oseanf(〃%s",x.num);
。printf("請(qǐng)輸入進(jìn)車場(chǎng)的時(shí)間(**:**):〃);
oscanf("%d:%d”,&x.reachtiine.Htime,&x,reachtime.Mtime);
if(S->top==Size-1)
0{
printf(〃車場(chǎng)已滿,不能進(jìn)入,進(jìn)便道\n〃);
a=EnterQ(Q,x);//遞歸
調(diào)用進(jìn)便道操作
gif(a==l){
gp「intf("0K\n〃);
g}
?>else
oprintffNo!\n");
)
oelse
°(
Push(S,x);
。)
return1;
I
intDeparture(Stack*S,Queue*Q)//車輛離開(kāi)操作
{carinfoa;
?>intparktime,paytime;
ocharx[20];
Timeleavetime;
oStack*p=NULL;
◎intpointl=S->top;
ointpoint2=S->top;
Printf(”請(qǐng)輸入要拜別的車牌號(hào):〃);
scanf(〃%s〃,x);
while(point1!=-1&&point2!=-l)
(
if(stremp(S->car[point1].num,x)==0)//匹配函數(shù),是否輸入的
信息與車場(chǎng)信息匹配
(
gprintf("請(qǐng)輸入要離開(kāi)的時(shí)間(**:**):〃);
ascanf(〃%d:%d〃,&leavetime.Htime,&1eavetime.Mtime);
for(;point1!=S—>top;point1++,point2++)//
掃描直到結(jié)束
S->car[pointl]=S->car[point2];〃假如找到了,
出車
S->top—;
printf(〃成功出車場(chǎng)\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(〃其在停車場(chǎng)內(nèi)停留時(shí)間為%d分鐘,實(shí)際按照%(1小時(shí)計(jì)費(fèi),所需付費(fèi)
為:%d元。\n”,parktime,paytime,paytime*2);
gpoint2=-1;
)
。else{
point2=pointl;
8pointl---;
)
I
if(Q->front!=Q->rear){
ga=Q->front->next->data;
printf("從便道進(jìn)入停車場(chǎng)的車牌號(hào):%s",a.num);
。printf("請(qǐng)輸入進(jìn)車場(chǎng)的時(shí)間:%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)//假如到結(jié)束了,還沒(méi)有找到,則輸出信息
{
。printf("此車沒(méi)有在停車場(chǎng)!\n");
return1;
)
}
voidPrintl(carinfox)//簡(jiǎn)樸的輸出操作
(
printf("車牌號(hào):%s\n",x.num);
printf(”進(jìn)車場(chǎng)的時(shí)間:%d:%d\n”,x.reachtime.Htime,x.reachtime.M
time);
printf(,z\n------------------------\n");
}
voidPrint(Stack*S)//打印車場(chǎng)信息
{carinfox;
intpoint=S—>top;//從棧頭開(kāi)始
if(S->top==-l)
8Printf("車場(chǎng)沒(méi)有車輛登記進(jìn)入!\n");
else
。{while(point!=-1)
8f
printf(〃\n-----------------------\n〃);
printf(〃車的位置號(hào):%d\n〃,point);
?x=S—>car[point];//把依次掃描到的信息賦值給x
Printi(x);〃調(diào)用輸出函數(shù)
point---;〃輸出所有的車場(chǎng)信息
。printf("顯示車場(chǎng)信息成功!\n");
}
voidPrintQ(Queue*Q)〃打印便道車輛信息
{
QueueNode*p;
o//p=(QueueNode*)malloc(sizeof(Queue));//申請(qǐng)結(jié)點(diǎn)
p=Q->front->next;
if(Q—>front!=Q—>rear){/*判斷通道上是否有車*/
叩rintf(〃\n等待車輛的車牌號(hào)為:〃);
while(p!=NULL){//判斷是否到結(jié)尾
printf('%s”,p->data.num);
P=p->next;〃假如沒(méi)找到,繼續(xù)向下找
8}
oprintf("\n");
)
else
printf("\n\t\t\t便道里沒(méi)有車。\n");
)
intSearch(Stack*S)//按車牌號(hào)查找車輛信息
{?charx[20];
?Timeleavetime;
Stack*p=NULL;
?carinfoa;
?intpointl=S->top;
ointpoint2=S—>top;
printf(〃請(qǐng)輸入要查找的車牌號(hào):");
seanf("%sz,,x);
whi1e(point1!=T&&point2!=-1)
(
if(strcmp(S->car[point1],num,x)==0)//匹配函
數(shù),是否輸入的信息與車場(chǎng)信息匹配
?{for(;pointl!=S—>top;point1++,point2++)//掃描直到
結(jié)束
S—>car[pointl]=S->car[point21;//假如找至IJ
了,輸出信息
printf("該車目前在停車場(chǎng)中。\n");
°point2=-1;
)
。else{
point2=pointl;
gpoint1一;
}
)
if(pointl-1)〃假如到結(jié)束了,還沒(méi)有找到,則輸出信息
{
。printf(〃此車沒(méi)有在停車場(chǎng)!”);
return1;
voidprintGraph(){
ointi;
oprintf(〃\n〃);
for(i=0;i<80;i++)printf。,);
printf(〃\n\t\t\t******請(qǐng)選擇操作序號(hào)******〃);
printf("\n\n\t\t\t----車輛到達(dá)請(qǐng)選1-----〃);
Printf(n\n\n\t\t\t-----車輛離開(kāi)請(qǐng)選2------〃);
printf("\n\n\t\t\t---查詢停車場(chǎng)信息請(qǐng)選3―〃);
printff\n\n\t\t\t——查詢便道信息請(qǐng)選4—〃);
printf(,z\n\n\t\t\t一按車牌號(hào)查找請(qǐng)選5一");
printf(〃\n\n\t\t\t-----退出系統(tǒng)請(qǐng)選0-----");
printfC\n\nH);
for(i=0;i<80;i++)printfC-n);
)
3.各模塊之間的調(diào)用關(guān)系
主函數(shù)voidmain()
初始化調(diào)用iniQueue(Q);
inistack(S);
調(diào)用到達(dá)函數(shù)Arrive(S,Q);
調(diào)用離開(kāi)函數(shù)Departure(S);
調(diào)用打印信息函數(shù)printGraph()
三、測(cè)試數(shù)據(jù)
所有合法數(shù)據(jù):
1.主界面
2.到達(dá):
■'D:\2\Debug\2.exe
KMXXXXXXXXXXXXXXXXXXXXXXXXX]卬用停'車_場(chǎng)I管^壬里界_面"XKXXXXXXXXXMXXXXXXXXXXXXXXXXXJ
?本停車場(chǎng)每小時(shí)收費(fèi)2元.停車不滿半小時(shí)不收費(fèi),超過(guò)半小時(shí)按一小時(shí)收費(fèi)?
******請(qǐng)選擇操作序號(hào)******
---車輛到達(dá)請(qǐng)選i-------
---車輛離開(kāi)請(qǐng)選2一—
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選。----
入
作1
車
號(hào)LF0
.i
場(chǎng)
向
人J1i8
間
車n0"<12
成.
******請(qǐng)選擇操作序號(hào)******
---車輛到達(dá)請(qǐng)選1-------
——車輛離開(kāi)請(qǐng)選2一—
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選。---
債辨心談作1
輸入車牌號(hào):JW1123
有鮑入進(jìn)車場(chǎng)的時(shí)間<**:**):13:30
3.離開(kāi):
請(qǐng)選擇操作序號(hào)*****
---車輛到達(dá)請(qǐng)選1一一
一一車輛離開(kāi)請(qǐng)選2——
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選。---
請(qǐng)輸入操作2
請(qǐng)輸入要離去的車牌號(hào):JWH23
,~開(kāi)的時(shí)間<**:?*>:14:15
具S在停車場(chǎng)內(nèi)停留時(shí)間為45分鐘,實(shí)際按照1小時(shí)計(jì)費(fèi),所需付費(fèi)為:2元。
****請(qǐng)選擇操作序號(hào)***
---車輛到達(dá)請(qǐng)選1-------
一一車輛離開(kāi)請(qǐng)選2
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選0-------
請(qǐng)輸入操作2
請(qǐng)箍入要離去的車牌號(hào):LF0118
嬲畬要曹開(kāi)的時(shí)間<**:”〉:13=45
矍翌曾奉招內(nèi)停留時(shí)間為皿分鐘,實(shí)際按照2小時(shí)計(jì)費(fèi),所需付費(fèi)為,4元。
******請(qǐng)選擇操作序號(hào)******
----車輛到達(dá)請(qǐng)選1------
一一車輛離開(kāi)請(qǐng)選2一—
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5―
----退出系統(tǒng)請(qǐng)選。----
青
人操
作2
離
人
去
的
車牌
號(hào)
要
一
土
入
開(kāi)
的
3時(shí)間13
要^:10
出<*
其§
內(nèi)
停
留時(shí)
至
場(chǎng)
停
實(shí)際按照1小時(shí)計(jì)費(fèi),所需付費(fèi)為:2元。
******1青選擇操作序號(hào)******
----車輛到達(dá)請(qǐng)選I------
一一車輛離開(kāi)請(qǐng)選2一—
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5—
----退出系統(tǒng)請(qǐng)選。----
操
主
作
人2
號(hào)
月
去
車
要
一
入
主
矍
入
開(kāi)
時(shí)23
理<*:55
寓
出
內(nèi)
留
苴
愷
時(shí)
場(chǎng)
停
(丁,實(shí)際按照1。小時(shí)計(jì)費(fèi),所需付費(fèi)為:2。元。
(若便道有車等待)輸出從便道中進(jìn)入停車場(chǎng)的車牌號(hào)、進(jìn)車場(chǎng)時(shí)間(即為從便道中出車
的時(shí)間)、進(jìn)站成功!
■D:\2\Debug\2.exeI=?I回
一一車輛離開(kāi)請(qǐng)選2一—
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5-
----退出系統(tǒng)請(qǐng)選。----
入
作1
車
馬03
.
人
間
場(chǎng)
白
勺S<
車
匕**:4?*>.3:45
已
不
育
入
匕
.,進(jìn)便道
請(qǐng)選擇操作序號(hào)
----車輛到達(dá)請(qǐng)選1---------
一一車輛離開(kāi)請(qǐng)選2一—
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5—
----退出系統(tǒng)請(qǐng)選。----
人
操作
請(qǐng)2
入
的車
去
牌
請(qǐng)
號(hào)
離
入
的時(shí)
開(kāi)
間
請(qǐng)
一4:34
出
成<*
像
停
內(nèi)停
其
時(shí)
S間為
堂
道
停車
的
車牌
從所需付費(fèi)為:4元。
:34
4.輸出車場(chǎng)信息
******請(qǐng)選擇操作序號(hào)******
----車輛到達(dá)請(qǐng)選1-------
----車輛離開(kāi)請(qǐng)選2-------
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
—按車牌號(hào)查找請(qǐng)選5—
----退出系統(tǒng)請(qǐng)選。----
請(qǐng)輸入操作。3
至由謔3丁
霹嬴需間,2:34
車的位置號(hào);0
季牌號(hào):01
迸暈玲的時(shí)間:i:23
應(yīng)^^信息麗;
******請(qǐng)選擇操作序號(hào)******
----車輛到達(dá)請(qǐng)選1-------
一--車輛離開(kāi)請(qǐng)選2——
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選。----
軍揚(yáng)沒(méi)有車輛登記進(jìn)入,
5輸出便車道信息
****i青選擇操作序號(hào)*****
---車輛到達(dá)請(qǐng)選1----
---車輛離開(kāi)請(qǐng)選2---
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
—按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選。---
請(qǐng)輸入操作4
便道里沒(méi)有車。
請(qǐng)輸入操作
******請(qǐng)選擇操作序號(hào)******
----車輛到達(dá)請(qǐng)選1----
———車輛離開(kāi)請(qǐng)選2
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選。----
青輸入操作4
軍待車輛的車牌號(hào)為:8304
6、按車牌號(hào)查找信息
39C:\Windows\system32\cmd.exe
主
作
、1
縣
號(hào)
.0。1
內(nèi)
才間
入
場(chǎng)-
I車£BZ
nX06:00
功
成
、
r!
<*
******請(qǐng)選擇操作序號(hào)******
----車輛到達(dá)請(qǐng)選1-------
----車輛離開(kāi)請(qǐng)選2-------
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
----退出系統(tǒng)請(qǐng)選0-------
非法數(shù)據(jù)
1.主界面:
?D:\2\Debug\2.exe
?歡迎使用停車場(chǎng)管理界面
本停車場(chǎng)每小時(shí)收費(fèi)2元,停車不滿半小時(shí)不收費(fèi),超過(guò)半小時(shí)按一小時(shí)收費(fèi)
*???*請(qǐng)選擇操作序號(hào)**??*
----車輛到達(dá)請(qǐng)選1---------
一一車輛離開(kāi)請(qǐng)選2
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
----退出系統(tǒng)請(qǐng)選。----
道輸公舞作6
董薪輸入
2.車輛到達(dá):
*D:\2\Debug\2.exeIoI回I
XXXXXX請(qǐng)?選J舉操作序^號(hào)XXXXXM
——車輛到達(dá)請(qǐng)選I——
-—車輛離開(kāi)請(qǐng)選2——
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
----退出系統(tǒng)請(qǐng)選0---------
贄
入
車餌
號(hào):001
第
入
車場(chǎng)的時(shí)間(**:24:05
輸入
3***請(qǐng)選擇操作序號(hào)*****
——車輛到達(dá)請(qǐng)選工——
----車輛離開(kāi)請(qǐng)選2---------
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選6—
----退出系統(tǒng)請(qǐng)選。----
贄入
售1
車001
喜.
象
場(chǎng)
向
出間
入.9
B23:61
入
輸
3.車輛離開(kāi)
,D:\2\Debug\2.exe-I回ay
一查詢便道信息請(qǐng)選4—
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選0----
父人
作
s主
艮
-車001
T事
間
向
曹人
場(chǎng)
時(shí)
nI223
Lk
井
成
V功
X-,
******請(qǐng)選擇操作序號(hào)*****
---車輛到達(dá)請(qǐng)選1----
---車輛離開(kāi)請(qǐng)選2----
一查詢停車場(chǎng)信息請(qǐng)選3—
一查詢便道信息請(qǐng)選4一
一按車牌號(hào)查找請(qǐng)選5—
---退出系統(tǒng)請(qǐng)選0----
主
操作
A入2
青
牌
去
時(shí)車
號(hào)
離
人
要
24
離
入
間
開(kāi)
的時(shí)
貴
江<E?34
畫
離
間
開(kāi)
的時(shí)23
住67
畫
一E
間
開(kāi)
的時(shí)23
出
M修
2間55
時(shí)
內(nèi)
停留
停
場(chǎng)
其實(shí)際按照10小時(shí)計(jì)費(fèi),所需付費(fèi)為:2。元。
四、源程序及系統(tǒng)文獻(xiàn)使用說(shuō)明
#include<stdio.h>
#inc1ude<std1ib.h>
#include<string.h>
#defineSize2
#defineprice5
typedefstruct
intHtime;
intMtime;
}Time;//簡(jiǎn)樸模擬時(shí)間信息,記錄小時(shí)和分鐘
typedefstruct{
ocharnum[20];
?Timereachtime;
Time1eavetime;
}carinfo;//通過(guò)結(jié)構(gòu)來(lái)保存來(lái)車的車牌號(hào),到達(dá)時(shí)間,
離開(kāi)時(shí)間
typedefstructstack
(
ocarinfocar[5];
。inttop;
}Stack;
typedefstructNode{
carinfbdata;
structNode*next;
}QueueNode;〃結(jié)點(diǎn)的定義
typedefstruct{
QueueNode*front;
QueueNode*rear;
}Queue,*linkQueue;〃定義隊(duì)列結(jié)點(diǎn)
intEnterQ(Queue*Q,carinfox);
intinistack(Stack火S)//初始化棧
(
S->top=-l;
。return1;
)
voidPush(Stack*S,carinfox)//進(jìn)棧操作
(
?S->top++;
S—>car[S->toP]=x;
。printf("進(jìn)站成功!\n”);
}
voidPop(Stack*S,carinfox)〃出棧操作
(
if(S->top=?1)
。printf("空棧,無(wú)法出棧!”);
x=S->car[S—>top];
S->top--;
Printf("出棧成功!'n”);
)
intIsEmpty(Stack*S)〃判斷???/p>
(
if(S—>top==-l)
?return1;
◎else
return0;
)
intiniQueue(Queue*Q)//初始化便道
(
Q->front=(QueueNode*)ma1loc(sizeof(QueueNode));//申請(qǐng)節(jié)
點(diǎn)
if(Q->front!=NULL)
{
Q—>rear=Q->front;
Q—>front—>next=NULL;
。return1;
)
elsereturn0;
)
intEnterQ(Queue*Q,carinfox)〃進(jìn)便道
(
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);//進(jìn)臨時(shí)棧
)
voidLPop(Stack*S,carinfox)
(
Pop(S,x);
)
intArrive(Stack*S,Queue*Q)//車輛到達(dá)
carinfox;
。inta;
。printf(“輸入車牌號(hào):“);
。scanf(0%sM,x.num);
。printf("請(qǐng)輸入進(jìn)車場(chǎng)的時(shí)間(**:**):**);
scanf("%d:%d”,&x,reachtime.Htime,&x.reachtime.Mtime);
if(S->top==Size—1)
。(
3printf("車場(chǎng)已滿,不能進(jìn)入,進(jìn)便道\n”);
a=EnterQ(Q,x);〃遞歸調(diào)用進(jìn)便
道操作
^if(a==l){
ooprintf(uOK\nH);
6)
ooe1se
“printfC'No!\nn);
)
。eIse
0(
Push(S,x);
°}
retum1;
intDeparture(Stack*S,Queue*Q)//車輛離開(kāi)操作
{carinfoa;
。intparktime,paytime;
ocharx[20];
??Timeleavetime;
oStack*p=NULL;
intpoint1=S->top;
。intpoint2=S->top;
Printf(”請(qǐng)輸入要拜別的車牌號(hào):”);
scanf(H%sM,x);
while(pointI!=-1&&point2!=-l)
(
if(strcmp(S->car[pointl].num,x)==0)〃匹配函數(shù),是否輸入的信息與車
場(chǎng)信息匹配
6{
。printf(”請(qǐng)輸入要離開(kāi)的時(shí)間(**:**):”);
oscanf("%d:%d",&leavetime.Htime,&1eavetime.Mtime);
for(;pointl!=S—>top;pointl++,point2++)〃掃描直到結(jié)束
S->car[point1]=S—>car[poin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何有效隱藏你的秘密信息
- 肥料配方基礎(chǔ)知識(shí)培訓(xùn)課件
- 老年人護(hù)理知識(shí)培訓(xùn)
- 明確學(xué)習(xí)目標(biāo)2024年稅務(wù)師考試試題及答案
- 羊毛衫紡織知識(shí)培訓(xùn)課件
- 綠化基礎(chǔ)知識(shí)培訓(xùn)課件
- 紋唇護(hù)理知識(shí)培訓(xùn)課件
- 統(tǒng)計(jì)師考試備戰(zhàn)過(guò)程中如何提高效率試題及答案
- 護(hù)理質(zhì)量敏感指標(biāo)監(jiān)控解讀
- 二零二五版阿里云開(kāi)發(fā)者社區(qū)用戶服務(wù)協(xié)議
- 2025年世界地球日知識(shí)答題活動(dòng)考試題庫(kù)300題(含答案)
- 2025屆浙江省溫州市高三下學(xué)期二模物理試題(含答案)
- 2025-2031年中國(guó)花卉行業(yè)競(jìng)爭(zhēng)格局分析及投資戰(zhàn)略咨詢報(bào)告
- 2025-2030中國(guó)汽車模具行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025年職業(yè)院校技能大賽(高職組)體育活動(dòng)設(shè)計(jì)與實(shí)施賽項(xiàng)參考試題(附答案)
- 23G409先張法預(yù)應(yīng)力混凝土管樁
- 2024年江蘇省中小學(xué)生金鑰匙科技競(jìng)賽(高中組)考試題庫(kù)(含答案)
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- 上海交通大學(xué)學(xué)生生存手冊(cè)
- (完整版)三角函數(shù)公式默寫模版
- 基礎(chǔ)工程計(jì)算題參考解答
評(píng)論
0/150
提交評(píng)論