- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟停车场管理系统
#includeiostream.h
#includestdlib.h
#includestring.h
#includestdio.h
#define MAX_PARK 5
#define X 1.2
#define PN 5
typedef struct //车辆信息;
{
char license[PN];
float time;
char state;//q表示停在便道上,p表示停在停车场;
}Car;
typedef struct //模拟停车场;
{
Car Park[MAX_PARK];
int top;
}ParkStack;
typedef struct qnode //链表结点;
{
Car data;
struct qnode* next;
}Qnode;
typedef struct //模拟便道;
{
Qnode *front,*rear;
}RoadQueue;
typedef struct //车出站时其前面车辆的储存位置;
{
Car buffer[MAX_PARK];
int top;
}BUFFER;
Car ini_car() //初始化汽车信息;
{
Car machine;
cout请输入车牌号:;
cinmachine.license;
machine.time=0;
machine.state=p;
return machine;
}
char a;
int judge(char num[],int len,ParkStack *parking)//(停车场内)判断车牌号输入是否正确;
{
int k=0,m=parking-top;
Car text;
text=parking-Park[m];
while(m-1)
{
if(strcmp(num,text.license)==0)
k++;
m--;
text=parking-Park[m];
}
return k;
}
int judge(char num[],int len,RoadQueue *Queue)//(便道内)判断车牌号输入是否正确;
{
int k=0;
Qnode *p;
p=(Qnode*)malloc(sizeof(Qnode));
p=Queue-front-next;
while(p!=NULL)
{
if(strcmp(num,p-data.license)==0)
k++;
p=p-next;
}
return k;
}
int in_park(ParkStack *parking,RoadQueue *Queue) //进入停车场或者便道;
{
Car machine;
machine=ini_car();
if(parking-top!=-1)
{
while(judge(machine.license,PN,parking))
{
cout此车辆已停放在停车场中!endl;
cout是否继续添加车辆?(Y/N)endl;
cina;
if(a==n||a==N)
return 0;
machine=ini_car();
}
while(judge(machine.license,PN,Queue))
{
cout此车辆已停放在便道中!endl;
cout是否继续添加车辆?(Y/N)endl;
cina;
if(a==n||a==N)
return 0;
machine=ini_car();
}
}
float time1;
if(parking-top==MAX_PARK-1)//停车场已满;
{
Qnode *s;
s=(Qnode*)malloc(sizeof(Qnode));
for(int i=0;iPN;i++)
s-data.license[i]=machine.license[i];
s-data.time=machine.time;
s-data.state=q; //停放在便道上;
Queue-rear-next=s;
s-next=NULL;
Queue-rear=s;
cout车辆的位置信息:endl;
coutmachine.license:停车场已满,车辆停放在便道上。endl;
}
else//停放在停车场上;
{
cout请输入该车进入停车场的时间:;
cintime1;
while(time1parking
文档评论(0)