当前位置:文档之家› 模拟停车场管理程序的设计与实现

模拟停车场管理程序的设计与实现

模拟停车场管理程序的设计与实现
模拟停车场管理程序的设计与实现

实验题目:模拟停车场管理程序的设计与实现

一、需求分析

1.程序的功能;

这是一个模拟停车场管理程序,设停车厂是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列,若停车场内已停满汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门后,为它让路的车辆再按原次序进入车场。汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。停放在便道上的汽车也收费,收费标准比停放在停车场的车低。每辆停放在停车场的车,在离开时按其在停车场停留时间的长短交费。

2.输入输出的要求;

每一组输入数据包括三个数据项:汽车“到达”或“离去”的信息、汽车牌照号码、汽车到达或离去的时刻;

对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出车辆在停车场内或便道上的停车位置;若是车辆离去,则输出车辆在停车场内停留的时间和应缴纳的费用3.测试数据。

当停车场容量为5时,连续有7辆车到来,牌照号分别为F001、F002、F003、F004、、F005、F006、F007,前5辆车应该进入停车位1-5车位,第6、7辆车应停入便道的1、2位置上。牌照号为F003的汽车从停车厂开走,应显示F005、F004的让路动作和F006从便道到停车位上的动作。(到达和离开时间请自行设定)。

二、概要设计

1.本程序所用的抽象数据类型的定义;

/*时间的类型定义*/

typedef struct

{

int hour;

int min;

}TIME;

/*汽车的类型定义*/

typedef struct

{

char license_plate[10]; /*汽车牌照号码*/

TIME time,time1; /*time,time1分别表示汽车进入停车场和便道的时刻*/

char state; /*汽车当前状态,p表示一直停放在停车位上,*/

/*q表示一直在便道上等候,*/

/*i表示由便道进入停车位*/ }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;

2.主模块的流程及各子模块的主要功能;

本程序从总体上分为四个功能模块,分别为:

(1)程序功能介绍和操作提示模块

提示用户进行正确的操作。

(2)汽车进入停车位的管理模块

记录进入停车场的汽车信息并插入栈或队中。

(3)汽车离开停车位的管理模块

释放离开汽车所占空间,计算汽车停车费用并输出。

(4)查看停车场状态的查询模块

列出停车场状态。

3.模块之间的层次关系。

三、详细设计

1.采用c语言定义相关的数据类型;

/*时间的类型定义*/

typedef struct

{

int hour;

int min;

}TIME;

/*汽车的类型定义*/

typedef struct

{

char license_plate[10]; /*汽车牌照号码*/

TIME time,time1; /*time,time1分别表示汽车进入停车场和便道的时刻*/ char state; /*汽车当前状态,p表示一直停放在停车位上,*/

/*q表示一直在便道上等候,*/

/*i表示由便道进入停车位*/

}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;

2.写出各模块的伪码算法;

//程序功能介绍和操作提示模块

void welcome()

{

cout<

cout<<" 本程序为停车场的模拟管理程序"<

cout<<"----------------------------------------"<

cout<<" 有车到来请按【C】键"<

cout<<" 有车要走请按【L】键"<

cout<<" 查询停车场状态请按【S】键"<

cout<<" 退出程序请按【Q】键"<

cout<

cin>>ch;

}

//汽车进入停车场的管理模块

void car_come()

{

Car newCar;

cout<

cout<<"请输入到来车辆的车牌号:";

cin>>newCar.license_plate;

if(Park_Car->top

{

cout<:";

cin>>newCar.time.hour>>newCar.time.min;

newCar.state='p';

Park_Car->top++;

Park_Car->Park[Park_Car->top]=newCar;

}

else //停车位满,车辆进去便道或开走

{

int i;

cout<

cin>>i;

if(i==1)

{

cout<:";

cin>>newCar.time1.hour>>newCar.time1.min;

newCar.state='q';

Qnode *p;

p=new Qnode;

if(!p)

{

cout<<"申请动态存储空间失败!"<

return ;

}

else

{

p->data=newCar;

p->next=NULL;

Road_Car->rear->next=p;

Road_Car->rear=p;

}

}

else

cout<

}

cout<

cin>>ch;

welcome();

}

//汽车离开停车场的管理模块

void car_leave()

{

char s[10];

int i;

TIME t;

cout<

cout<<"请输入要走的车辆号码:";

cin>>s;

for(i=0;i<=Park_Car->top;i++) //在停车位寻找要开走的汽车

if(strcmp(s,Park_Car->Park[i].license_plate)==0)

break;

if(i<=Park_Car->top) //在停车位找到要开走的汽车

{

cout<

cout<<"请输入当前时间<时分>:";

cin>>t.hour>>t.min;

print(Park_Car->Park[i],t);

while( (Park_Car->top) > i ) //该车前面的汽车暂时退出

{

Buffer_Car->top++;

Buffer_Car->Park[Buffer_Car->top]=Park_Car->Park[Park_Car->top];

Park_Car->top--;

cout<<"车牌号为"<Park[Buffer_Car->top].license_plate<<" 的汽车暂时退出停车场;"<

}

cout<<"车牌号为"<Park[i].license_plate<<" 的汽车从停车场开走;"<

Park_Car->top--;

while(Buffer_Car->top>-1) //暂时退出的汽车开回停车位

{

Park_Car->top++;

Park_Car->Park[Park_Car->top]=Buffer_Car->Park[Buffer_Car->top];

Buffer_Car->top--;

cout<<"车牌号为"<Park[Park_Car->top].license_plate<<" 的汽车停回停车场的"<top+1<<"车位;"<

}

if(Road_Car->front!=Road_Car->rear) //便道有车,则进入停车位

{

Qnode *p;

p=Road_Car->front->next;

Road_Car->front->next=p->next;

p->data.state='i';

p->data.time=t;

Park_Car->top++;

Park_Car->Park[Park_Car->top]=p->data;

delete p;

if(Road_Car->front->next==NULL)

Road_Car->rear=Road_Car->front;

cout<<"车牌号为"<Park[Park_Car->top].license_plate<<" 的汽车从便道进入停车位的"<top+1<<"车位;"<

}

}

else //在停车位未找到要开走的汽车,则在便道寻找

{

int k=0;

Qnode *p,*r;

p=Road_Car->front->next;

r=Road_Car->front->next;

while(p)

{

k++;

if(strcmp(p->data.license_plate,s)==0)

break;

p=p->next;

}

if(p) //在便道找到该车

{

cout<

cout<<"请输入当前时间<时分>:";

cin>>t.hour>>t.min;

print(p->data,t);

while(p!=r) //该车前面有车,前面的车要让路

{

cout<<"车牌号为"<data.license_plate<<"的汽车开出便道让路;

"<

Road_Car->front->next=r->next;

r->next=NULL;

BufferCar->rear->next=r;

BufferCar->rear=r;

r=Road_Car->front->next;

}

cout<<"车牌号为"<data.license_plate<<"的汽车从便道开走。"<

Road_Car->front->next=p->next; //删除结点

delete p;

if(Road_Car->front->next==NULL)//若便道只有一辆车,出队后便道为空

Road_Car->rear=Road_Car->front;

if(BufferCar->front!=BufferCar->rear)//辅助队列不为空,即有车让路

{

BufferCar->rear->next=Road_Car->front->next;

Road_Car->rear=Road_Car->front;

Road_Car->rear->next=BufferCar->front->next;

Road_Car->rear=BufferCar->rear;

BufferCar->rear=BufferCar->front;

cout<<"让路的车辆开回便道。"<

}

}

else

cout<<"没有在停车场找到该车!"<

cout<

cin>>ch;

welcome();

}

//显示停车场停车状态的查询模块

void car_display()

{

int i=0;

//停车位情况

cout<

while(i<=Park_Car->top)

{

cout<Park[i].license_plate;

if(Park_Car->Park[i].state=='p')

cout<<" "<Park[i].time.hour<<"时"<Park[i].time.min<<"分停入停车位。"<

else

{

cout<<" "<Park[i].time1.hour<<"时"<Park[i].time1.min<<"分进入便道等候;";

cout<Park[i].time.hour<<"时"<Park[i].time.min<<"分由便道进入停车位。"<

}

i++;

}

while(i

{

cout<

i++;

}

//便道上的情况

cout<

if(Road_Car->front==Road_Car->rear)

cout<

else

{

Qnode *p;

p=Road_Car->front->next;

i=1;

while(p)

{

cout<data.license_plate;

cout<<" "<data.time1.hour<<"时"<data.time1.min<<"分进入便道等候。"<

p=p->next;

i++;

}

}

cout<

cin>>ch;

welcome();

}

3.画出函数的调用关系图。

四、调试分析

1.调试中遇到的问题及对问题的解决方法;

经过两周的设计和开发,停车场管理系统基本开发完毕。其功能基本符合用户需求,能够完成对车辆的管理和查询以及各类相关报表的打印。

对于车辆进去和离开停车场的时间,也进行了完善,具体到了小时和分钟。

该程序给用户提供了选择机会,采用比较友好的界面显示。

但由于设计时间较短,该系统仍有不尽人意的地方,如不同类型车辆收费情况不够完善等。

五、使用说明及测试结果

(1)使用说明

程序操作简单,在车辆到来时,选择【C】,然后根据提示输入车牌号及当前时刻;有车要走时,选择【L】,然后根据提示输入此时时刻;要查询停车场信息时,只需选择【S】;若退出程序,则选择【Q】。

(2)测试结果

程序运行时的欢迎界面。

当停车场容量为5时,连续有7辆车到来,牌照号分别为F001、F002、F003、F004、、F005、F006、F007,前5辆车应该进入停车位1-5车位,第6、7辆车应停入便道的1、2位置上。

显示停车场信息。

牌照号为F003的汽车从停车厂开走,应显示F005、F004的让路动作和F006从便道到停车位上的动作。(到达和离开时间请自行设定)。

牌照号为F003的汽车从停车厂开走后,显示停车场信息。

六、源程序

#include

#include

#include

#include

#define MAX_PARK 3 /*停车场容量*/

#define Price 0.5 /*停车位收费标准:每分钟每车.5元*/

#define price 0.3 /*便道收费标准:每分钟每车.3元*/

typedef struct

{

int hour;

int min;

}TIME;

typedef struct/*汽车的类型定义*/

{

char license_plate[10];/*汽车牌照号码,定义为一个字符数组*/

TIME time,time1; /*time,time1分别表示汽车进入停车场和便道的时刻*/

char state; /*汽车当前状态,p表示一直停放在停车位上,q表示一直在便道上等候,i表示由便道进入停车位*/

}Car;

typedef struct/*表示停车位的顺序栈*/

{

Car Park[MAX_PARK]; /*各汽车信息的存储空间*/

int top; /*用来指示栈顶位置的静态指针*/

}ParkStack;

ParkStack *Park_Car,*Buffer_Car; //Park_Car和Buffer_Car分别指向表示停车场和辅助栈的指针变量

typedef struct qnode /*链队列来模拟便道*/

{

Car data; /*各汽车信息的存储空间*/

struct qnode *next;

}Qnode;

typedef struct

{

Qnode *front, *rear; /*用来指示队头和队尾位置的指针*/

}RoadQueue;

RoadQueue *Road_Car,*BufferCar; //Road_Car和BufferCar分别指向表示便道和辅助队列的指针变量

char ch;

void car_display();

//顺序栈的初始化

ParkStack *Init_ParkStack()

{

ParkStack *s;

s=new ParkStack;

if(s==NULL)

return NULL; //未申请到足够大的存储空间,返回空指针

else

{

s->top=-1;

return s; //申请到新空间,返回栈空间地址

}

}

//链队列的初始化

RoadQueue *Init_RoadQueue()

{

RoadQueue *q;

Qnode *p;

q=new RoadQueue;

p=new Qnode;

if(!q || !p)

return NULL;

{

p->next=NULL;

q->front=q->rear=p;

return q;

}

}

//打印要离开汽车的信息及收费清单

void print(Car car,TIME t)

{

cout<

if(car.state=='p') //车辆一直停放在停车位

{

cout<<"汽车车牌号 "<

cout<<" "<

cout<<" "<<"共"<<(t.hour-car.time.hour)*60+(t.min-car.time.min)<<"分钟,";

cout<<"应付费"<<((t.hour-car.time.hour)*60+(t.min-car.time.min))*Price<<"元(停车位每小时每车"<

}

else if(car.state=='q') //车辆一直在便道等候

{

cout<<"汽车车牌号 "<

cout<<" "<

"<

cout<<" "<<"共"<<(t.hour-car.time1.hour)*60+(t.min-car.time1.min)<<"分钟,";

cout<<"应付费"<<((t.hour-car.time1.hour)*60+(t.min-car.time1.min))*price<<"元(便道每小时每车"<

}

else if(car.state=='i') //车辆由便道进入停车位

{

int m,n;

m=(car.time.hour-car.time1.hour)*60+(car.time.min-car.time1.min);

n=(t.hour-car.time.hour)*60+(t.min-car.time.min);

cout<<"汽车车牌号 "<

cout<<" "<

cout<<" 共"<

cout<<" "<

"<

cout<<" 共"<

cout<<" 应付总费用:"<

}

cout<

}

//程序功能介绍和操作提示模块

void welcome()

{

cout<

cout<<" 本程序为停车场的模拟管理程序"<

cout<<"----------------------------------------"<

cout<<" 有车到来请按【C】键"<

cout<<" 有车要走请按【L】键"<

cout<<" 查询停车场状态请按【S】键"<

cout<<" 退出程序请按【Q】键"<

cout<

cin>>ch;

}

//汽车进入停车场的管理模块

void car_come()

{

Car newCar;

cout<

cout<<"请输入到来车辆的车牌号:";

cin>>newCar.license_plate;

if(Park_Car->top

{

cout<:";

cin>>newCar.time.hour>>newCar.time.min;

newCar.state='p';

Park_Car->top++;

Park_Car->Park[Park_Car->top]=newCar;

}

else//停车位满,车辆进去便道或开走

{

int i;

cout<

cin>>i;

if(i==1)

{

cout<:";

cin>>newCar.time1.hour>>newCar.time1.min;

newCar.state='q';

Qnode *p;

p=new Qnode;

if(!p)

{

cout<<"申请动态存储空间失败!"<

return ;

}

else

{

p->data=newCar;

p->next=NULL;

Road_Car->rear->next=p;

Road_Car->rear=p;

}

}

else

cout<

}

cout<

cin>>ch;

welcome();

}

//汽车离开停车场的管理模块

void car_leave()

{

char s[10];

int i;

TIME t;

cout<

cout<<"请输入要走的车辆号码:";

cin>>s;

for(i=0;i<=Park_Car->top;i++) //在停车位寻找要开走的汽车if(strcmp(s,Park_Car->Park[i].license_plate)==0)

break;

if(i<=Park_Car->top) //在停车位找到要开走的汽车

{

cout<

cout<<"请输入当前时间<时分>:";

cin>>t.hour>>t.min;

print(Park_Car->Park[i],t);

while( (Park_Car->top) > i ) //该车前面的汽车暂时退出

{

Buffer_Car->top++;

Buffer_Car->Park[Buffer_Car->top]=Park_Car->Park[Park_Car->top];

Park_Car->top--;

cout<<"车牌号为"<Park[Buffer_Car->top].license_plate<<" 的汽车暂时退出停车场;"<

}

cout<<"车牌号为"<Park[i].license_plate<<" 的汽车从停车场开走;"<

//该车开出停车场

Park_Car->top--;

while(Buffer_Car->top>-1) //暂时退出的汽车开回停车位

{

Park_Car->top++;

Park_Car->Park[Park_Car->top]=Buffer_Car->Park[Buffer_Car->top];

Buffer_Car->top--;

cout<<"车牌号为"<Park[Park_Car->top].license_plate<<" 的汽车停回停车场的"<top+1<<"车位;"<

}

if(Road_Car->front!=Road_Car->rear) //便道有车,则进入停车位

{

Qnode *p;

p=Road_Car->front->next;

Road_Car->front->next=p->next;

p->data.state='i';

p->data.time=t;

Park_Car->top++;

Park_Car->Park[Park_Car->top]=p->data;

delete p;

if(Road_Car->front->next==NULL)

Road_Car->rear=Road_Car->front;

cout<<"车牌号为"<Park[Park_Car->top].license_plate<<" 的汽车从便道进入停车位的"<top+1<<"车位;"<

}

}

else//在停车位未找到要开走的汽车,则在便道寻找

{

int k=0;

Qnode *p,*r;

p=Road_Car->front->next;

r=Road_Car->front->next;

while(p)

{

k++;

if(strcmp(p->data.license_plate,s)==0)

break;

p=p->next;

}

if(p) //在便道找到该车

{

cout<

cout<<"请输入当前时间<时分>:";

cin>>t.hour>>t.min;

print(p->data,t);

while(p!=r) //该车前面有车,前面的车要让路

{

cout<<"车牌号为"<data.license_plate<<"的汽车开出便道让路;"<

Road_Car->front->next=r->next;

r->next=NULL;

BufferCar->rear->next=r;

BufferCar->rear=r;

r=Road_Car->front->next;

}

cout<<"车牌号为"<data.license_plate<<"的汽车从便道开走。"<

Road_Car->front->next=p->next; //删除结点

delete p;

if(Road_Car->front->next==NULL) //若便道只有一辆车,出队后便道为空

Road_Car->rear=Road_Car->front;

if(BufferCar->front!=BufferCar->rear)//辅助队列不为空,即有车让路

{

BufferCar->rear->next=Road_Car->front->next;

Road_Car->rear=Road_Car->front;

Road_Car->rear->next=BufferCar->front->next;

Road_Car->rear=BufferCar->rear;

BufferCar->rear=BufferCar->front;

cout<<"让路的车辆开回便道。"<

}

}

else

cout<<"没有在停车场找到该车!"<

}

cout<

cin>>ch;

welcome();

}

//显示停车场停车状态的查询模块

void car_display()

{

int i=0;

//停车位情况

cout<

while(i<=Park_Car->top)

{

cout<Park[i].license_plate;

if(Park_Car->Park[i].state=='p')

cout<<" "<Park[i].time.hour<<"时

"<Park[i].time.min<<"分停入停车位。"<

else

{

cout<<" "<Park[i].time1.hour<<"时

"<Park[i].time1.min<<"分进入便道等候;";

cout<Park[i].time.hour<<"时"<Park[i].time.min<<"分由便道进入停车位。"<

}

i++;

}

while(i

{

cout<

i++;

}

//便道上的情况

cout<

if(Road_Car->front==Road_Car->rear)

cout<

else

{

Qnode *p;

p=Road_Car->front->next;

i=1;

while(p)

{

cout<data.license_plate;

cout<<" "<data.time1.hour<<"时"<data.time1.min<<"分进入便道等候。"<

p=p->next;

i++;

}

}

cout<

cin>>ch;

welcome();

}

//主函数模块

void main()

{

cout<

Park_Car=Init_ParkStack(); //初始化表示停车场的顺序栈Buffer_Car=Init_ParkStack(); //初始化辅助栈

Road_Car=Init_RoadQueue(); //初始化表示便道的链队列BufferCar=Init_RoadQueue(); //初始化辅助队列

welcome();

while( ch!='q' && ch!='Q' )

{

if( ch=='c' || ch=='C')

car_come();

else if( ch=='l' || ch=='L')

car_leave();

else if( ch=='s' || ch=='S')

car_display();

else

{

cout<<" 您的输入有误,请重新选择您要进行的操作...";

cin>>ch;

}

}

cout<

cout<

}

智能停车场管理系统方案

第一章系統總體概述 1.1 前言 傳統停車場管理存在著管理成本高、勞動強度大、服務效率低、資金流失和車輛失竊嚴重等各種弊端,無法保障投資者的收益及停放車輛的安全,因而嚴重制約了停車場事業的發展。 本圖像型感應卡停車場管理系統借鑒了國際上發達國家同行業的先進管理模式,采用了國際上最先進的感應式IC 卡、單片及微型計算機技術,結合本國實際情況開發了具有完全自主知識產權及核心技術的停車場管理系統。 該系統采用非接觸式操作,具有方便快捷、收費準確、穩定可靠、適合國情、安全性好、形式靈活、功能強大等眾多優點。 GAGGAGAGGAFFFFAFAF

該系列產品能夠有效地解決人工管理停車場所存在的問題,深受業主、車主雙方好評。幾年來,在國內同行的努力下,已成功地替代了國外紙帶式條碼卡、磁卡、接觸式IC卡等落后的收費系統而成為當今停車場設備的主流,對中國停車場事業的發展起到了十分重要的作用。 1.2 系統概述 采用感應卡停車場管理系統,在停車場的出入口設置一套出入口管理設備,使停車場形成一個相對封閉的場所,進出車只需將IC卡在讀卡箱前輕晃一下,系統即能瞬時完成檢驗、記錄、核算、收費等工作,擋車道閘自動啟閉,方便快捷地進行著停車場的管理。 進場車主和停車場的管理人員均持有一張具有自己私人密碼的非接觸IC卡,作為個人的身份識別,只有通過系統檢 GAGGAGAGGAFFFFAFAF

驗認可的IC卡才能進行操作(管理卡)或進出(停車卡),充分保證了系統的安全性、保密性,有效地防止車輛失竊,免除車主后顧之憂。 管理卡分級發行、確定權限,以杜絕管理人員作弊。任何一張管理卡持有者上機操作前均要憑卡進行操作登記。對出口值班員來講,操作登記完畢后則可進入收費管理,期間該出口所有收費均自動記入該值班員名下并存入電腦數據庫。由于值班員持操作卡受權限限制,不能進入系統中更高的軟件菜單項,所以對電腦所記錄的數據無法干涉;上級管理者可以憑卡隨時查詢,核對或打印一個值班段或任何一段時間乃至整個停車場的工作記錄。這樣就從根本上杜絕了停車費用流失和財務統計的失誤,同時系統自動運行,杜絕了人情車、霸王車造成的經濟損失。 停車卡可根據需求不同,分別發行月租卡(月票卡)、儲 GAGGAGAGGAFFFFAFAF

停车场管理系统设计

面向对象程序设计(C++课程大作业 设计题目:停车场管理系统设计 院系:计算机科学与信息工程学院专业班级: 学号姓名: 指导教师:

目录 一、成员分工 (1) 二、需求分析 (2) 三、总体设计 (3) 四、详细设计 (6) 五、系统测试 (17) 六、总结 (20) 七、参考文献 (21)

成员分工 我们小组成员共有三名,分别是,为了能按时圆满的完成这次 VC++课程设计,我们小组进行了详细的分工,以确保设计能按时完成。经过周密的考虑和详细的调查最终确定该停车场管理系统需要以下 几个功能模块: (1)需求分析 (2)界面的设计 (3)添加功能 (4)显示功能 (5)查询功能 (6)编辑功能 (7)删除功能 (8)统计功能 (9)保存功能 (10)读取功能 经过小组成员的讨论,并根据个人的特长和具体爱好做如下具体分工 神 1 具体完成以下模块的设计与实现: (1 )需求分析 (2 )界面的设计 (3 )添加功能 保存功能 (4 ) 神 2 具体完成以下模块的设计与实现: (1)显示功能 (2)查询功能 显示功能 (3) 神 3 主要具体完成以下模块的设计与实现: (1)编辑功能 (2)删除功能 (3)读取功能

二需求分析 1. 问题描述 定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、至U达的时间和离开的时间等信息和相关的对属性做操作的行为。定义一个管理类,完成对停车场的管理。停车场的具体 要求:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场 内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走, 则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。 2. 基本要求 (1)添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一, 如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 (2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息; (3)显 示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。(4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。 (5 )删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,贝U提示“记录为空!”并返回操作。 (6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。 (7 )保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。 (8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。 3 .系统运行环境 (1)硬件环境。联想双核处理器, 2G内存,2G独立显卡,80G硬盘。 (2) 软件环境。Microsoft Visual C++6 ?0,WindosXP 系统。

停车场管理系统源代码

//停车场管理系统 #include #include #define OVERFLOW 0 #define ERROR 0 #define OK 1 #define STACKSIZE 2 //车库容量 //时间节点 typedef struct time{ int hour; int min; }Time; //车辆信息 typedef struct{ char CarNum; float time; int pos_a; //车在停车场中的位置 int pos_b; //车在便道上的位置 int flag; }Car,Car2; //车库信息(顺序栈) typedef struct{ Car *top; Car *base; int stacksize; }SqStack; //初始化 int InitStack(SqStack &S){ S.base=new Car[STACKSIZE]; if(!S.base) exit(OVERFLOW); S.top=S.base; S.stacksize=STACKSIZE; return OK; } //判空 int StackEmpty(SqStack S){ if(S.top==S.base) return OK; else return ERROR; }

//判满 int StackFull(SqStack S){ if(S.top-S.base>=S.stacksize) return OK; else return ERROR; } //入栈 int Push(SqStack &S,Car e){ if(S.top-S.base==S.stacksize) return ERROR; *S.top++=e; return OK; } //出栈 int Pop(SqStack &S,Car &e){ if(S.top==S.base) return ERROR; e=*--S.top; return OK; } //遍历栈 int StackTraverse(SqStack S) { Car *p=S.top; Car *q=S.base; int l=1; if(StackEmpty(S)){ for(int j=1;j<=STACKSIZE;j++){ printf("\t车牌:"); printf("\t\t到达时间:"); printf("\t位置%d:空空",j); printf("\n"); } return OK; } while(p!=q){ Car car=*(q); printf("\t车牌: %d",car.CarNum); printf("\t\t到达时间:%5.2f",car.time); printf("\t\t位置:%d",l++); printf("\n");

数据结构课程设计停车场管理系统

实验二停车场管理 班级:A0712 学号:12 姓名:冷清淼成绩:__________ 指导教师签名:__________ 一、问题描述 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的长短交费(在便道上停留的时间不收费)。 设计要求: 1.模拟上述管理过程。要求以顺序栈模拟停车场,以链队列模拟便道。 2.从终端读入汽车到达或离去的数据,每组数据包括三项: (1)是“到达”还是“离开”; (2)汽车牌照号码; (3)“到达”或“离开”的时刻。 3.与每组输入信息相应的输出信息为:如果是到达的车辆,则输出其在停车场中或便道上的位置;如果是离去的车辆,则输出其在停车场中停留的时间和应交的费用。 二、算法说明 1.数据结构说明 (1)用到两个堆栈:一个为车场栈;另一个为临时栈temp typedef struct NODE{ CarNode *stack[MAX+1]; int top; }SeqStackCar; /*模拟车场*/ (2)一个队列结构,存储便道车辆信息:

typedef struct Node{ QueueNode *head; QueueNode *rear; }LinkQueueCar; /*模拟便道*/ 2.算法说明 (1) 功能模块说明:停车场管理系统含有三个模块,即:车辆到达、离开、列表显示 停车场系统车辆到达 车辆离开列表显示 3 2 1 图1 (2)以模块为单位分析算法 1、“到达”模块:到达时有两种情况,即车场是否满,未满则直接进入停车场;满时,到便道等待。如图2。 车辆到达 停车场是否满 结束 进入停车场 进入便道 是 否 图2

停车场系统管理软件

深圳市德立达科技有限公司 TCP200停车场管理系统 Version 使 用 说 明 书 2014年4月23日 目录

TCP200停车场管理系统使用说明书........................ 错误!未定义书签。第一章概述.......................................... 错误!未定义书签。 系统特点........................................ 错误!未定义书签。 系统主要功能.................................... 错误!未定义书签。第二章配置系统...................................... 错误!未定义书签。 安装包相关说明.................................. 错误!未定义书签。 软件安装说明.................................... 错误!未定义书签。 登陆后台管理系统................................ 错误!未定义书签。 后台管理界面详解................................ 错误!未定义书签。 配置服务器IP 地址............................... 错误!未定义书签。 配置收费电脑IP地址.............................. 错误!未定义书签。 配置车库........................................ 错误!未定义书签。 获取和设置控制器IP地址.......................... 错误!未定义书签。 配置入口、出口控制器IP地址及车库等.............. 错误!未定义书签。 基本设置相关.................................... 错误!未定义书签。第三章账户管理...................................... 错误!未定义书签。 添加账户........................................ 错误!未定义书签。 账户管理........................................ 错误!未定义书签。 权限设置........................................ 错误!未定义书签。第四章费率设置...................................... 错误!未定义书签。 设置费率........................................ 错误!未定义书签。 添加节假日...................................... 错误!未定义书签。

停车场管理系统 c语言

2015-2016学年第二学期《高级语言程序设计》 课程设计报告 题目:停车场管理系统 专业:计算机科学与技术 班级:15级计科<1>班 姓名:胡玉玉 指导教师:陈广宏 成绩: 计算机学院 2016 年 4月 25 日

目录 1. 设计内容及要求 (1) 1.1 课程设计内容 (1) 1.2 课程设计的要求 (2) 2概要设计 (3) 2.1 设计思路 (3) 2.2 程序基本框架结构图 (4) 3设计过程或程序代码 (5) 3.1 主要程序代码及解释 (5) 4设计结果与分析 (13) 4.1 程序运行结果截图与分析 (13) 5参考文献 (16)

1.设计内容及要求 1.1 课程设计内容 ①通过本次课程设计,强化上级动手能力,在理论和实践的基础 上巩固《C语言程序设计》课程的学习内容。掌握软件设计的基本方法。 ②熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C 语言的基本编写及运行。 ③了解程序的分模块编写并对程序的每个模块进行详细的设计并 且能理解一般C语言编写的程序。 ④掌握书写程序设计说明文档的能力。 ⑤熟悉C程序设计的开发环境及C程序的调试过程 1.2 课程设计的要求 ①分析课程设计题目的要求。 ②写出详细设计说明。 ③编写程序代码,调试程序使其能正确运行。 ④设计完成的软件要便于操作和使用。 ⑤设计完成后提交课程设计报告。

2.概要设计 2.1设计思路 停车场是一个可停放n辆汽车的狭长通道,并只有一个大门可供汽车进出,汽车在停车场内按车辆到达的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),如车长内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用,以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理.每一组输入数据包括三个数据项:汽车”到达” 或”离去”信息,汽车牌照号码以及到达或离去的时刻(到达或离去的时刻也可用计算机控制).对每一组输入数据进行操作后的输入信息为:如是车辆到达,则输入汽车在停车场。 2.2程序基本框架结构图

停车场模拟管理系统报告(附源代码)

实训报告 专业: 班级: 学号: 姓名: 课设题目:停车场模拟管理系统指导教师:

目录 一、需求分析 (1) 二、总体设计 (1) 2.1系统功能概述 (1) 三、到达停车场准备进入停车场 (2) 3.1进入停车场函数 (2)

四、离开停车场 (3) 五、详细设计 (5) 5.1函数的调用关系 (5) 5.2主要算法的流程图 (6) 六、软件说明: (7) 6.1使用环境:Visual C++ 6.0. (7) 操作要求:程序运行后,用户根据所要进行的操作选择是进入停车场还是离开停车场并输入车牌号和时间 (7) 6.2测试图: (7) 七、总结 (9) 附录:程序代码 (9)

一、需求分析 停车场模拟管理系统现在很多的大型超市等都有智能的停车场当你进入停车场门口就会自动的显示里面还有多少的空位并且指引你走到空的车位停下避免了把车辆开进去并且找不到空的车位和因为车子在停车场内乱走而导致想出来的车没有足够的时间出来。导致空间和时间各种不必要的麻烦所以急需我们做一个停车场管理系统。我们的停车场模拟管理系统有以下方面功能: 1 记录进入停车场的车辆的车牌号从而进入后可以知道其所停的停车位。 2 车子离开停车场根据离开时间和进入时间从而计算出所需要交的费用。 3 如果队列已经满了可以让要进入停车场的车子停在旁边的等候队列。 二、总体设计 2.1系统功能概述 (1) 如果选择进入停车场就要判断停车场是否已经满了,如果未满直接进

入,如果满了的话就直接排在旁边的便道上等待有车子离开停车场从而进入停车场。 (2)同时改程序还设立多了一个位置以便与有车进入同时有车离开可以停留在这里等候车子离开再进入。(以防止车子停车场内的车未能离开进入的车又正在进入从而导致停车场堵塞的情况) (3)离开的时候根据离开的车牌号从而把它从停车场中的位置移开并且通过离开时间和进入停车场的时间来计算出该车子所需要交纳的费用。 如果等候队列不为空的话进入停 2.11 总体设计图 三、到达停车场准备进入停车场 void parkingmanagement::arrival(carstack &cs,carqueue &cq,int cnum,double ctime)

智能车牌识别停车场管理收费系统软件操作说明书

智能车牌识别停车场管理收费系统软件操作说明书 2017-05-17 10:56 多奥智能车牌识别停车场管理收费系统软件操作说明书 一、数据库的安装 安装数据库Microsoft SQL Server 2000 1)选择SQL Server 2000文件夹下的应用程序。 2)选择第一项,即安装SQL Server 2000组件(C)。 3)选择安装数据服务器(S)。 4)选择本地电脑(L)。 5)选择创建新的SQL Server实例,或安装客户端工具(C)。 6)选择服务器和客户端工具(S)。 7)选择默认。点击下一步。 8)选择典型,点击下一步。 9)选择使用本地系统账户,点击下一步。 10)选择混合模式与空密码,点击下一步。 11)继续下一步直到安装结束。重启电脑,数据库安装完成后。 二、停车场软件的安装 安装停车场软件 1)打开光盘,运行,根据提示安装完成后出现。

2)选择“创建本地数据库”,点击“执行选择”后出现连接数据库的界面, 3)点击“连接数据库”后,创建数据库、备份数据库、还原数据库的按钮会显示出来。 4)点击“创建数据库”,创建数据库成功后,退出。再选择“安装加密狗” 5)点击“执行选择”,出现SoftDog Windows驱动安装和卸载程序界面 6)勾选“USB狗驱动”点击“安装”,安装成功后,退出。加密狗驱动安装完成。 三、停车场软件操作 软件的登陆 1)运行软件的安装包,安装好软件。 2)创建好数据库后,点击图标打开软件 3)出现智能停车场管理系统登录窗口,如图示2,输入用户编号101,点击三次回车,进入软件操作界面。或者输入用户编号101后,直接点击“确定”按钮进入软件操作界面

停车场管理系统实验报告汇总

华北水利水电学院数据结构实验报告 2011~2012学年第二学期2011级计算机专业 班级:**** 学号:***** 姓名:**** - 实验二栈和队列及其应用 一、实验目的: 1.掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。 2.掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活运用。 二、实验内容: 1.链栈的建立、入栈、出栈操作。 2.环形队列的建立、入队、出队操作。 3.停车场管理。设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 实现提示:以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表(带头结点)实现。 需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。 设n=2,输入数据为:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3,20),(‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其中,‘A’表示到达;‘D’表示离去,‘E’表示输入结束。 三、实验要求: 1.C/ C++完成算法设计和程序设计并上机调试通过。 2.撰写实验报告,提供实验结果和数据。 3.写出算法设计小结和心得。 四、程序源代码: 1.#include #include typedef struct stnode { int data; stnode *next;

停车场管理系统(需求分析)

停车场管理系统应用软件 需求分析 1. 引言 IT 行业的高速发展让计算机技术深入日常生活的每一个细节,在各个领域中,计算机技术的应用帮助人们减少劳动量,提高工作效率,发挥着越来越重要的作用。随着城市化程度的加深,房地产行业日益兴盛,越来越多的停车场散布在城市里,停车场中来往的车辆与日俱增,对停车场的管理也就是非常重要。本讨论组结合此次的课程设计开发以下的停车场管理系统,使停车场里的车辆能得到有序并且相对全面的管理。 2. 数据流程图分析 2.1. 数据流程图基本符号: 数据接口 数据处理 数据存储 数据流 2.2. 入场停车与出场取车。 2.2.1. 入场流程图: (1)入场 根据系统提示的停车场的现有信息控制车辆的入场,停车场在有车位切卡被识别的情况下方能停车。 (2)停车 指定停车位置提示给用户。 2.2.2. 出场流程图: (1)收费 根据车辆信息,卡的类型以及停车的时间等依据收费标准计算收费额度实施审核通过

收费环节。 (2)出场 交费之后在出场的相关信息提示下完成停车管理过程。 3. 数据字典 数据字典的作用就是给数据流程图上的每个成分以定义与说明。停车场管理系统的数据流程图加上数据字典。能给出一个具有详细的、具体的文字内容与图形的系统逻辑模型,形成一个完整的说明。 基于本系统的规模较大,数据字典的内容繁杂等原因,现只对部分具有代表性的给予说明。 表1、1用户名 表1、2密码 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画,如果就是派生属性则用虚线椭圆表示。 联系:联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常就是指组成实体的各属性之间的联系。 4.2. E-R 图及基本符号:

停车场管理的模拟系统

广东海洋大学信息学院课程设计报告 设计题目停车场管理的模拟系统 课程名称数据结构 姓名(学号) 联系电话 专业名称计算机科学与技术 所在班级计科1112 指导教师谢仕义 教师职称教授 起止时间2011 年12月26日至2012年1月6日评定成绩

一、课程设计的主要内容 熟悉理解栈和队列的逻辑结构和存储结构,设计实现停车场管理的模拟系统,其主要内容如下:设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出,其模型如下图1所示。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆汽车停放在车场的最北端),若车场内已停满n辆车,那么后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆汽车要离开时,在它之后进入的车辆必须先退出停车场按顺序开入临时停放道为其让路,待其开出大门外后,再按原次序进入车场,每辆停放在停车场的汽车在它离开停车场时必须按其停留的时间长短缴纳费用(从进入停车场开始计费)。 二、功能和结构设计 I.主界面 为实现各项功能,首先设计一个汉多个功能的主控菜单子程序,已连接系统各项功能,方便用户使用。系统主控菜单界面如下:

II ,系统的主要要求: 1.以栈模拟停车场,以队列模拟停车场外的便道,同时用另一个栈模拟为离去车辆让路而从停车场退出来的车辆的临时停放道。 2.每一组输入数据包括三个数据项:车辆“到达”或“离去”信息、车辆牌照号码、车辆到达或离去的时刻。 3对每一组输入数据进行操作后的输出信息为:每当有车辆到达或离去时,动态输出停车场内、便道上以及临时停放道的车辆排队情况,若是车辆离去,还应输出汽车在停车场内停留的时间和应缴纳的费用(在便道上停车不收费)。 III.记录到达车辆: 临时停放为给离去的汽车让而从停车场退

停车场系统收费软件使用说明

停车场收费软件 使 用 说 明

第一章概述 系统特点 本系统采用最新编程技术,界面友好,方便易用。 ●功能齐全,使用方便 管理员权限登录后,可以自由组合收费软件功能提供给值班员使用,灵活性强。 ●自动适应不同屏幕分辨率 支持1024×760等屏幕分辨率。分辨率高表示图像精度高,显示内容多。 ●支持脱机使用 支持临时卡脱机收费,联网后收费记录自动上传。 ●WINDOWS 认正规格编程 应用程序在WINDOWS环境中具有一致的界面和行为。只要用户使用过其他应用程序,他就会发现这个应用程序也是容易学会的。 第二章收费软件配置 注意:需要使用管理员账号登陆。普通值班员是不能对收费软件进行配置的。配置本机不会对其他收费软件照成影响。 管理员初始帐户admin 密码123456 2.1基本设置 恢复出场设置:点击[恢复默认设置]按钮后,收费软件设置将恢复默认设置. 应用程序模式: 目前版本仅支持TCP/IP模式。 显示内卡卡号:此模式下,显示在收费软件信息中的卡号为车卡的内码卡号,一般来说,内卡卡号较长,不易记忆。 显示印刷编号:此模式下,显示的卡号为车卡上印刷的编号,前提是在发行车卡的时候,需要将编号一起录入。 收费模式: 出口收费模式:此模式下,临时卡出场收费是在出口完成的,此时收费软件刷卡计费后,此临时卡就算出场,收费后临时卡就直接交由值班员。一般的停车场都是这种模式。 中央收费模式:此模式一般应用在出口没有值班员值守的情况下,临时卡在中央值班室缴费后,此临时卡会返回给车主,车主带着卡到出口,将临时卡插入收卡机中,即可开闸。 岗亭收费立即保存数据:此模式主要用于控制值班员的收费流程。选择此模式后,一旦读卡器读到一张入场的临时卡,并且按照默认车型计算出费用后,不管值班员是否确认放行,费用直接累加。(注意:此模式下无法选车型,所有临时卡都按照默认车型计费)

停车场管理系统程序设计书

停车场管理系统程序设计书 一、程序设计目标 1、通过本次课设进一步的了解栈和队列等有关概念。掌握栈和队列的建立,掌握栈和队列的基本操作,深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们。 2、复习巩固C语言知识。通过C语言课程设计,使我们了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,更加了解C语言的好处和其可用性。进一步加深对C语言、数据结构、离散数学等基础技能的理解和掌握。 3、掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 4、掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!让我们有一个既动手又动脑,独立实践的机会,锻炼我们的分析解决实际问题的能力。同时增加了同学之间的团队合作精神!更加体会到工作中团队合作的重要性和必要性! 二、问题描述 ※按照题目要求,我们把程序分为三个模块 a.车辆到达模块:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待。 b.车辆离开模块:一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在他

之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。 c.显示模块:当需要列表显示时,系统判断输入值(1-3),如果输入1,则调用显示车场列表,如果输入2,则调用显示便道信息,如果输入3,则返回主菜单。 三、需求分析 这个程序的关键是车辆的进站和出站操作,以及车辆的通道之间的相互关系。由于停车场是一个很窄的、一边开口的车道,先进后出,类似数据结构中的栈结构,故车场用顺序栈这种数据结构来描述。 外面的狭长的通道,先进后出,通道的车辆可以随时退出,故可用链式队列结构来描述。考虑到车场和通道在整个程序中都要用到,故把这两个变量定义为全局变量。本程序中的数据对象是汽车,可以认为车牌号是每个元素的关键项,不能重复,和现实中的一样,车的入场时间以及出场时间都将作收费项目来考虑。在通道上的车由于没有入场,故不用收取费用。 ※功能实现方式: (1).以栈S作为停车场,栈S1作为让路的临时停车点,队列Q作为车等待时用的便道,stack[Max+1]作为车场能够容纳的车辆数,num[10]作为车所在位置的编号,并且限定车场最多能够容纳10辆车. (2).用户根据系统所规定并提示的要求输入有关内容,车场所能容纳的车辆数由收费人员来确定,车辆离开时,车主还可以得到收据,便于收费的管理使用,并且系统程序所提供的一些信息可通过特殊硬件显示出来,供车主了解信息,准确有效的停车。

停车场管理系统方案

目录 第一节停车场管理系统施工方案 (2) 5.停车场管理系统施工方案 (2) 第二节停车场管理系统技术方案 (6) 1.总体设计标准和依据 (6) 2.总体设计原则及目标 (6) 3.系统功能特点 (6) 4.系统构成介绍 (9)

第一节停车场管理系统施工方案 5.停车场管理系统施工方案 5.1施工准备 1)人员 项目工程师1名:负责工程调配、进度及技术指导。 专业施工人员2名:负责工程具体工作。 安全与质量监督员1名:负责工程质量控制及安全文明施工。 2)工具 路面切割机1台:在混凝土路面上切割地感线圈槽。 布线布管工具1套。 专业接线调试工具1套:主要包括压线钳、万用表、电阻计、电脑等。 3)施工现场环境 AC220V 2000W临时电源(100米范围内)。 自来水源(200米范围内)。 良好的通风条件。 无杂物堆放的施工表面。 5.2 切割并制作地感线圈 车辆检测器的地感线圈是停车场管理系统中的重要零件,它的工作稳定性直接影响整个系统的运行效果,因此地感线圈的制作是工程安装过程中很重要的一个工作环节。制作地感线圈前要考虑以下几点: (1)周围50公分范围内不能有大量的金属,如井盖、雨水沟盖板等。 (2)周围1米范围内不能有超过220V的供电线路。 (3)制作多个线圈时,线圈与线圈之间的距离要大于2米,否则会互相干扰。 1)切割地感线圈槽 按照图纸在路面上规画好地感线圈尺寸的线条,用路面切割机按线条切割方形的线圈槽,要求: 停车场中地感线圈大小一般为1.8米宽、1.2米长左右,转角处切割10公分X10公分的倒角,防止坚硬的混凝土直角割伤线圈。 槽的深度为4公分,线圈槽宽度为0.5公分,线圈引线槽的宽度为1公

停车场管理系统-软件工程导论课程设计

中南民族大学计算机科学学院 课程设计报告 课程软件工程导论 题目停车场管理系统年级 2013级 指导教师 2015年12 月15 日

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。 本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。本文在结构上首先论述了程序设计目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用图片、说明和代码的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的添加、修改、删除、查询等功能,本系统界面友好,操作简单,比较实用,思路缜密严谨,管理起来方便快捷,能有效的达到停车场车位的管理的目的。 关键词:Myeclipse,SQL server2008,界面,权限

目录 摘要 (2) 目录 (3) 1 绪论 (4) 1.1 设计目的 (5) 1.2 开发工具选择 (5) 1.3 开发环境 (5) 1.4 本报告的主要内容 (6) 2 需求分析 (6) 2.1系统任务描述 (6) 2.1.1系统目标 (6) 2.1.2系统设计与功能分析 (7) 2.1.3性能需求分析 (7) 2.1.4开发环境和软件 (7) 2.2 系统概要设计 (7) 2.2.1 数据需求 (7) 2.2.1.1 数据字典 (7) 2.2.1.2 数据流图 (8) 2.2.2 功能需求 (10) 2.3 系统详细设计 (10) 2.3.1 概念结构设计 (10) 2.3.2 逻辑结构设计 (12) 2.3.3 物理结构设计……………………………………………………错 误!未定义书签。 2.3.4 系统功能设计……………………………………………………错 误!未定义书签。 3 总体设计 (15) 3.1设计概述 (15) 3.2系统总体结构及功能模块划分 (15) 3.2.1信息查询模块 (15) 3.2.2信息管理模块 (16) 3.4安全保密设计 (16) 3.4.1用户登录安全性 (17) 4 详细设计 (17) 4.1概述 (17) 4.2系统程序流程图 (18)

数据结构课程设计报告停车场管理系统

课程设计报告 课程名称数据结构课程设计 课题名称停车场管理系统 专业信息管理与信息系统 班级 09级1班 学号 200903110112 姓名洪俊斌 指导教师赵锦元、李峰、罗敬 2011年 1 月 9 日

湖南工程学院 课程设计任务书 课程名称数据结构 课题停车场管理系统 专业班级信息管理0901班 学生姓名洪俊斌 学号200903110112 指导老师赵锦元、李峰、罗敬 审批 任务书下达日期2011 年1 月 3 日任务完成日期2011 年1 月20 日

一、设计内容与设计要求 1.设计内容: [问题描述] 设停车场只是一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出,还有一个等停的的狭长通道。汽车在停车场内按车辆的先后顺序依次排列,若车站内已停满汽车,则后来的汽车只能在门外的通道上等停,一旦停车场内有车开走,则排在通道上的第一辆车即可进入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入的车辆必须先退出车站为它让路,待该车辆开出大门,为它让路的车辆再按原来次序进入车场。在这里假设汽车不能从便道上开走,试设计这样一个停车场模拟管理程序。 [基本功能] (1)车辆成批入站。 当一个停车场刚开始投入运行的时候,会有很多车进来,因此,要设计一个函数来实现车辆批量进站。并要检测车辆的数目是否超过规定的最大容量,给出相关提示信息。 (2)单个车辆入站。 当系统正常投入运行后,会有零散的车辆进进出出,因此,设计一个函数实现单个车辆入站。 (3)车站内信息实时显示。 车站内信息包括两个部分:停车场内停放的车辆以及在外面通道上等停的车辆。 (4)车辆出站。 当停车场内车辆出站后,检查通道上是否有车等停,如果有,则要把排在最前面的车调入停车场内。

停车场管理系统的设计与实现方案

停车场管理系统的设计与实现方案 一、停车场管理系统的作用与类型 随着我国国民经济的迅速发展,机动车数量增长很快,并已逐步进入家庭。因此合理的停车场设施与管理系统不仅解决城市的市容与交通及管理收费问题,而且是智能大厦或智能小区正常运营和加强安全的必要设施。停车场的主要功能分为停车与管理两大部份。停车功能由相应建筑物的合理设计满足,管理部份则由停车场管理系统实现。 根据不同类型建筑工程的管理标准和服务等级、服务对象的不同,停车场管理系统常分为大型停车场管理系统及一般小区内停车场管理系统。针对小区内停车场的规模及服务对象,又常分为: 1、仅限小区内部使用的停车场管理系统:其应用范围为小区内的车辆保安与管理。外部车辆被禁止入内。主要采用近距离或远距离的感应式IC卡实现门禁管理。 2、小区内外共用型停车场管理系统:该类型停车场同时允许小区内部及外部车辆进入。对小区内部停车实行定期租车位管理方式,对外部临时停车采取计时收费管理方式。 二、本方案中小区及其停车场情况介绍 本方案所设计停车场是某高级住宅小区内的半地下停车场。该小区总用地72700m,总户数538户。总停车数456辆,图1为停车场总平面图。小区内以多层的跃层式住宅为主,同时亦有部份联体别墅及高层住宅。客户群体定位为具有一定消费水平的成功人士。小区临街位置建有对外营业的大型商务会馆及小型超市。小区采用智能化技术进行管理,其建筑智能化系统按乙级标准设计。整个小区希望营造一种高品质、现代化的居住环境。为做到人车

分流,机动车平时不进入小区内部。受小区地形及功能分区限制,该停车场平面分布特殊,交叉道口较多,故对停车场内的通道信号指示要求较高。 三、停车场管理系统总体功能设计 根据前述小区建筑情况可见,停车场以固定停车位为主。为满足商务会馆及访客临时停车的需要,停车场采用小区内外共用型管理系统。整个车库出入口、通道皆为双车道,根据车库地形,将其车位分为A~E共5个大区域进行编号管理,其中A区距商务会馆最近,故作为临时停车区域,该区车辆从出入口1进出,在管理上可部分独立于固定停车区域。其它区域作为固定停车区,该区车辆可随意选择出入口2、3进出停车场。 停车场主要构成为: 1、出入口管理站。主要设备有:发卡机、读卡机、控制器,车辆探测器,收费计算机,电源等。并采用防迂回(Anti-Passby)措施对定期车辆出入权限进行管理,以防止一卡多用情况发生。采取防冲站措施避免逃票现象。 2、自动挡车道闸。主要设备有:直杆或可弯曲型闸杆、电动机组、电源。采用防人为抬杆保护、发热保护、时间保护、防砸车保护等措施。

智能停车场管理系统简述

智能停车场管理系统简述 根据多年设计、安装停车场收费系统的实际经验,停车场系统在设备选型上选用了适合地下车场管理的耐用可靠设备,在工程施工质量上做到严格施工要求;在软件和系统设计上为贵车场提供了一套最严格、最先进、易用、便于维护和运行可靠的智能停车场管理系统。 一、智能停车场管理系统概述 随着科技的进步和人类文明的发展,智能停车场管理系统在住宅小区、大厦、机关单位的应用越来越普遍。而人们对停车场管理的要求也越来越高,智能化程度也越来越高,使用更加方便快捷,也给人类的生活带来了方便和快乐。不仅提高了现代人类的工作效率,也大大的节约了人力物力,价低了公司的运营成本,并使得整个管理系统安全可靠。包括车辆人员身份识别、车辆资料管理、车辆的出入情况、位置跟踪和收费管理等等。 二、智能停车场管理系统的构成 停车场管理系统配置包括停车场控制器、远距离IC卡读感器、感应卡(有源卡和无源卡)、自动道闸、车辆感应器、地感线圈、通讯适配器、摄像机、MP4NET 视频数字录像机、传输设备、停车场系统管理软件等。 这种系统有助于公司企业、政府机关等对于内部车辆和外来车辆的进出进行现代化的管理,对加强企业的管理力度和提高公司的形象有较大的帮助。 三、智能停车场管理系统需求 停车场管理系统设立在小区内,有若干入口和出口。所有出入口都要求联网,式线数据通讯,并采用统一的计算机管理。最远的出入口之间的距离约为800米,和两个办公楼的地下室设有一个出入口,整个停车场采用IC卡和视频图像管理。 出、入口系统功能需求 车辆感应IC卡,可以存储持卡人的各种信息。感应IC卡安装在每辆车的驾驶室里面,当车驶过读感器的感应区(离读感器2米左右)时,感应IC卡通过读感器发过来的激发信号产生回应信号发回给读感器。读感器再将这个读取信号

停车场管理系统C语言实现

一.问题描述 1.实验题目: 设停车场是一个可停放n 辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端)。若停车场内已经停满n辆车,那么后来的车只能在门外的便道上等候。一旦有车开走,则排在便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用。试为停车场编制按上述要求进行管理的模拟程序。 要求:根据各结点的信息,调用相应的函数或者语句,将结点入栈入队,出栈或者出队。 二.需求分析 1.程序所能达到的基本可能: 程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行模拟管理。栈以顺序结构实现,队列以链表结构实现。同时另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。输入数据按到达或离去的时刻有序。当输入数据包括数据项为汽车的“到达”(‘A’表示)信息,汽车标识(牌照号)以及到达时刻时,应输出汽车在停车场内或者便道上的停车位置;当输入数据包括数据项为汽车的“离去”(‘D’表示)信息,汽车标识(牌照号)以及离去时刻时,应输出汽车在停车场停留的时间和应缴纳的费用(便道上停留的时间不收费);当输入数据项为(‘P’,0,0)时,应输出停车场的车数;当输入数据项为(‘W’, 0, 0)时,应输出候车场车数;当输入数据项为(‘E’, 0, 0),退出程序;若输入数据项不是以上所述,就输出"ERROR!"。 2.输入输出形式及输入值范围: 程序运行后进入循环,显示提示信息:“Please input the state,number and time of the car:”,提示用户输入车辆信息(“到达”或者“离开”,车牌编号,到达或者离开的时间)。若车辆信息为“到达”,车辆信息开始进栈(模拟停车场),当栈满,会显示栈满信息:“The parking place is full!”,同时车辆进队列(模拟停车

相关主题
文本预览
相关文档 最新文档