?? management.cpp
字號:
///////////////////////////////////
// 基于棧實現的停車場管理系統 //
// yangshaobo //
///////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
char State;
int Id;
int StartTime;
int LeftTime;
}AutoInfo;
typedef struct
{
AutoInfo elem[50];
int top;
}SeqStack;
void InitStack(SeqStack *Q)
{
Q->top=-1;
}
int PushStack(SeqStack *S,char State,int Id,int StartTime)
{
S->top++;
S->elem[S->top].State=State;
S->elem[S->top].Id=Id;
S->elem[S->top].StartTime=StartTime;
//printf("?????\n");
//S->elem[S->top]->LeftTime=T->LeftTime;
return 1;
}
AutoInfo PopStack(SeqStack *S)
{
AutoInfo temp;
temp=S->elem[S->top];
S->top--;
return temp;
}
/*char GetTop(SeqStack *S)
{
char T;
T=S->elem[S->top]->State;
return T;
}*/
void main()
{
// SeqStack temp;
// temp.elem[1]->Id=001;
int N;
char State;
int Id;
int StartTime;
int LeftTime;
AutoInfo Memory;
SeqStack ParkLot;
SeqStack Path;
SeqStack TempM;
//SeqStack *T;
SeqStack *M;
int flag;
InitStack(&ParkLot);
InitStack(&Path);
InitStack(&TempM);
printf("*********歡迎使用停車場管理系統!哈哈!*********\n");
printf("\n");
printf("請輸入可以停放的車輛數:");
scanf("%d",&N);
printf("請依次輸入汽車的“狀態”、“車牌號”、“到達時間”、“離開時間”,\n");
printf("輸入(E,0,0)結束。\n");
while(flag!=1)
{
if(State!='E')
{
int i;
for(i=0;i<N;i++)
{
scanf("%c",&State);
scanf("%d",&Id);
scanf("%d",&StartTime);
if(State=='A')
{
PushStack(&ParkLot,State,Id,StartTime);
}
else if(State=='D')
{
while(Id!=Memory.Id)
{
Memory=PopStack(&ParkLot);
}
printf("%d號車即將離開!\n",Memory.Id);
printf("請交費%d元!\n",StartTime-Memory.StartTime);
}
}
if(i>=N)
{
printf("停車場車位已滿,請在場外通道處等候!謝謝!");
}
}
else
{
flag=1;
}
}
//printf("%c\n",State);
//printf("%d\n",StartTime);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -