- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计 栈和队列实现停车场管理系统
//利用队列结构实现汽车出站暂时存储不出站儿需要让道地车辆,栈结构实现车站存储,队列结构实现便道存储
#includeiostream.h
#includestdio.h
#includestdlib.h
#includestring.h
#define MAX 3
#define price 0.05
typedef struct Time //时间结构体
{
int hour;
int min;
}Time;
typedef struct CarNode //汽车结构体
{
char num【10】;
Time reach;
Time leave;
}CarNode;
typedef struct StackCar //存储汽车地栈结构
{
CarNode *stack【MAX+1】;
int top;
}StackCar;
typedef struct QueueCarNode //存储汽车地队列结构
{
CarNode *data;
struct QueueCarNode *next;
}QueueCarNode;
typedef struct LinkQueueCar //定义队列结构指针
{
QueueCarNode *head;
QueueCarNode *rear;
}LinkQueueCar;
void InitStack(StackCar *);
int InitQueue(LinkQueueCar *);
int Arrival(StackCar *,LinkQueueCar *);
void Leave(StackCar *,StackCar *,LinkQueueCar *);
void List(StackCar,LinkQueueCar);
void main()
{
StackCar Enter,Temp;
LinkQueueCar Wait;
int a;
int b=1;
InitStack(Enter);
InitStack(Temp); //汽车出站时,暂时按次序存放汽车地栈结构
InitQueue(Wait);
while(b)
{
cout\n1. 汽车进站登记;
cout 2. 汽车出站登记;
cout 3. 车位状态显示;
cout 4. 退出系统\n;
cina;
while(b)
{
if(a==1||a==2||a==3||a==4) break;
else
{
cout\n错误! 退出系统\n;
b=0;
break;
}
}
switch(a)
{
case 1:Arrival(Enter,Wait);break;
case 2:Leave(Enter,Temp,Wait);break;
case 3:List(Enter,Wait);break;
case 4:exit(0);
default: break;
}
}
}
void InitStack(StackCar *s) //初始化栈
{
int i;
s-top=0;
for(i=0;i=MAX;i++)
s-stack【s-top】=NULL;
}
int InitQueue(LinkQueueCar *Q) //初始化队列
{
Q-head=(QueueCarNode *)malloc(sizeof(QueueCarNode));
if(Q-head!=NULL)
{
Q-head-next=NULL;
Q-rear=Q-head;
return(1);
}
else return(-1);
}
int Arrival(StackCar *Enter,LinkQueueCar *W) //进站登记
{
CarNode *p;
QueueCarNode *t;
p=(CarNode *)malloc(sizeof(CarNode));
cout\n请输入车牌号:;
cinp-num ;
if(Enter-topMAX) //有空车位
{
Enter-top++;
cout\n车辆在车场第 Enter-top 号车位;
cout\n车辆到达时间(时):;
cinp-reach.hour;
cout\n车辆到达时间(分):;
cinp-reach.min;
Enter-stack【Enter-top】=p;
return(1);
文档评论(0)