⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 management.cpp

📁 这个小程序师以顺序栈来模拟停车场
💻 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 + -