资源简介
停车场管理系统源码
功能介绍:
双击软件的车位可以停车入库,右边显示
车位的停车比例。
车辆管理: 费率管理 车辆管理
车辆入库:
数据管理:车帘管理 出入日志
应用程序:重置 清零
注意:
使用之前需要先修改App.config中的数据库连接。
开发环境为Visual Studio 2008,数据库为SQL Server 2005,数据库文件在
DB_51aspx文件夹中附加就行。
代码片段和文件信息
#include
#include
#include
#include
#define OVERFLOW -2
#define OK 1
#define ERROR 0
#define MaxSize 1
typedef struct
{
int carnumber; //汽车牌号
int time; //汽车到达或离开的时间
}carInfo; //汽车有关信息
typedef struct
{
carInfo *top; //栈顶指针
carInfo *base; //栈底指针
int stacksize;
}SeqStack; //模拟车站的顺序栈
typedef struct Qnode
{
int carnumber;
int time;
struct Qnode *next;
}QNode*QueuePark; //临时顺序栈模拟车辆规避所
typedef struct
{
QueuePark front; //队头指针
QueuePark rear; //队尾指针
int lenth;
}linkQueue; //模拟便道
void InitStack(SeqStack *s)
{
s->base=(carInfo *)malloc(MaxSize*sizeof(carInfo));
if(!s->base)
exit(OVERFLOW);
s->top=s->base;
s->stacksize=0;
} //栈的初始化
void Push(SeqStack *scarInfo e)
{
*s->top++=e; //栈顶指针值加1,将e入栈
s->stacksize++;
}
carInfo Pop(SeqStack *s)
{
carInfo e;
if(s->top==s->base)
{
cout<<“\t\t 停车场内没有该车辆!“< exit(0) ;
}
e=*--s->top; //若栈不为空,则删除s的栈顶元素用e返回其值,栈顶指针减1
s->stacksize--; //栈长度减1
return e;
}
int InitQueue(linkQueue *Q)
{
Q->front=Q->rear=(QueuePark)malloc(sizeof(QNode));
if(!Q->front)
exit(OVERFLOW);
Q->front->next=NULL;
Q->lenth=0;
return OK;
} //初始化队列(便道)
void InsertQueue(linkQueue *QcarInfo *a )
{ //插入c车辆到新的队尾(插入到便道上)
QueuePark p;
p=(QueuePark)malloc(sizeof(QNode)); //申请内存空间
if(!p)
exit(OVERFLOW); //申请失败退出
p->carnumber=a->carnumber; //把新车辆的信息存放到新申请的内存空间中去
p->time=a->time;
p->next=NULL;
Q->rear->next=p; //p插入到队尾
Q->rear=p; //队尾指针后移
Q->lenth++; //队长度加1
}
QueuePark DeleteQueue(linkQueue *Q)
{
QueuePark pes={0};
if(Q->front==Q->rear)
{
cout<<“\t\t 便道上没有车辆!“< return s;
}
p=Q->front->next; //p指向队头指针的下一个存储空间
e=p; //用e返回其值
Q->front->next=p->next; //Q指针后移
Q->lenth--; // 队列长度减1
if(Q->rear==p)
Q->front=Q->rear; //保存队尾指针
return e;
}
void arrive(SeqStack *slinkQueue *pcarInfo aint n)
{
if(s->stacksize {
Push(sa); //n代表用户确定栈的大小 ,若栈中未满,则将车辆进入栈(停车场)中,同时显示出车辆位于栈中的位子
cout<<“\n\t\t 车牌号为“<stacksize<<“号车道“<
}
else
{
InsertQueue(p&a); //若队列已满,则车辆进入队列(便道)中,同时显示位于队列(便道)中的位子
cout<<“\n\t\t 停车场已满车牌号为“<lenth <<“号位置“<
}
}
void leave(SeqStack *tccSeqStack *dcclinkQueue *pcarInfo afloat pay)
{
carInfo xss;
QueuePark b;
int find=1arrivetime=0;
float cost=0.0;
while(find)
{
ss=Pop(tcc); //将停车场中的tcc车从车站中出栈
Push(dccss);
if(ss.carnumber==a.carnumber) //若要离开的车辆在车站中则算出它一共停留的时间,并计算出它的停车费
{
find=0;
cost=(a.time-ss.time)*pay;
arrivetime=ss.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7252 2008-01-06 10:36 停车场管理系统\CarManage.cpp
文件 4320 2007-12-28 17:49 停车场管理系统\CarManage.dsp
文件 543 2007-12-28 13:55 停车场管理系统\CarManage.dsw
文件 50176 2008-01-07 17:07 停车场管理系统\CarManage.ncb
文件 53760 2008-01-07 17:07 停车场管理系统\CarManage.opt
文件 1341 2008-01-06 10:37 停车场管理系统\CarManage.plg
文件 339 2007-12-28 21:09 停车场管理系统\CarManage.sln
..A..H. 7168 2007-12-28 21:09 停车场管理系统\CarManage.suo
文件 217199 2008-01-06 10:37 停车场管理系统\Debug\CarManage.exe
文件 26083 2008-01-06 10:37 停车场管理系统\Debug\CarManage.obj
文件 590848 2008-01-06 10:37 停车场管理系统\Debug\CarManage.pdb
文件 61440 2008-01-06 10:37 停车场管理系统\Debug\vc60.pdb
目录 0 2008-01-07 15:46 停车场管理系统\Debug
目录 0 2008-01-07 17:07 停车场管理系统
----------- --------- ---------- ----- ----
1020469 14
评论
共有 条评论