• 大小: 150KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-12
  • 语言: ASP
  • 标签: RFID  

资源简介

停车场管理系统源码 功能介绍: 双击软件的车位可以停车入库,右边显示 车位的停车比例。 车辆管理: 费率管理 车辆管理 车辆入库: 数据管理:车帘管理 出入日志 应用程序:重置 清零 注意: 使用之前需要先修改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


评论

共有 条评论

相关资源