当前位置:文档之家› C语言 停车场管理系统

C语言 停车场管理系统

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

附件二【学生用】

西北农林科技大学信息工程学院

数据结构实习报告

题目:停车场管理系统

学号2011013200

姓名阮屹

专业班级电子商务111

指导教师戴涛、杨会君

实践日期2012-7-6至2012-7-15

目录

一、综合训练目的与要求 (1)

二、综合训练任务 (1)

三、总体设计 (1)

四、详细设计说明 (1)

五、调试与测试 (7)

六、实习日志 (13)

七、实习总结 (13)

八、附录:核心代码清单 (14)

一、综合训练目的与要求

正文

综合训练的目的

本综合训练是计算机科学与技术、信息管理与信息系统、软件工程专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》、《数据结构》课程后进行的一次全面的综合练习。本课综合训练的目的和任务:

1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握

2. 掌握C语言编程和程序调试的基本技能

3. 利用C语言进行基本的软件设计

4. 掌握书写程序设计说明文档的能力

5. 提高运用C语言、数据结构解决实际问题的能力

综合训练要求

1. 分析综合训练题目的要求

2. 写出详细设计说明

3. 编写程序代码,调试程序使其能正确运行

4. 设计完成的软件要便于操作和使用

4. 设计完成后提交课程设计报告

二、综合训练任务

通过此系统可以实现如下功能:

若是车辆到达,则输入汽车在停车场内或便道上的停车位置以及进站时间,当车子出站时,则显示在停车场内停车时间,并;应当支付的金额

要求:设计合理的存储结构,设计界面,设计程序完成功能;

三、总体设计

该程序是模拟了一个特殊车站,车站是一条直线,只有一个入口,车子要出站则他前边的车子都要为其让路,然后再回来并且覆盖出站车子原来的位置,这明显是一个要用到栈的环境。而当车站满了之后,便在一旁的便道里排队等待,先排队的当然先进车站。这是原题,我做了些许改动,设计了会员系统,会员享受9折优惠并且有会员专用便道,在车站满的情况下优先进入车站。

四、详细设计说明

整体设计如上,那么现在详细分析程序。这个程序每辆车实际在内存中保存了两次,一个是在主函数中的Car c的结构体数组中,一个在栈或队列中,而不是只用栈来储存,这样方便后来的车辆的查找和程序的管理,当然这样也相对好编写程序,思路相对清晰。这也是我本身对数据结构不熟练的结果。程序中用到的结构体:

时间的结构体:

ypedef struct

{

int hour;

int min;

}time;

对于每辆车的结构体:

typedef struct

{

int num;

int position;

time t;

float money;

}Car;

车站,也就是栈的结构体

typedef struct

{

Car elem[SIZE+1];

int top;

}Stack;

便道,也就是队列的结构体

typedef struct Node

{

Car data;

struct Node *next;

}CQueueNode;

这个结构体包含队列的首尾指针

typedef struct

{

CQueueNode *front;

CQueueNode *rear;

}LinkQueue;

主函数的功能以及内容:

主函数包括主要结构的内存的分配,子函数的调用,子函数分为两个部分,一个是对整

个程序的初始化,包括密钥的设定,程序文字、背景颜色的设定。然后就是整个大程序的循环中按选择进行不同子函数调用。包括:菜单显示子函数,车子进站的子函数调用,车子出站的子函数调用,车辆搜索的子函数调用,整个车站车子显示的子函数调用,以及屏幕保护子函数的反复调用。

每一次主函数大循环子函数之间与主函数之间的联系如下图所示:

判定输入的密钥是否和设定一致

一致不一致主函数中再次大

循环

显示菜单,并进

行选择

1.车辆到达

5.

4.

3.

2.

6.直接退出整个程序

下面是一辆车进站和出站的完整过程流程图:

车辆显示则是通过循环将栈和队列中的内容全部显示出来,由于便道还有普通和会员之分,所以一共建立了3个子函数来显示3个储存结构。

void print1(Stack *S) //显示站内车辆 {

int mark,a=200;

车辆到达 车站和便道已建立好

车场未满,车进车场 车场已满,车进便道

输入车子到达时间,车牌

会员便道

是否是会员 否

有车出站,优

先进站

是 普通便道

会员便道为空,有车出站则进站

车进入车场

有车出站

有车出站,会员便道空

选择出站选项,并该车被选中

输入离开车辆的离开时间,进行停车费用的计算 非会员

会员

原价*1

原价*0.9

车子离开 此车后面的车辆退出并进入

临时栈

Car x;

printf("停车场停车情况:\n");

if(EmptyorNot(S))

{

printf("当前停车场没有任何车辆!");

}

for(mark=S->top;S->top>0;S->top--)

if(GetTop(S,&x))

{

printf("车牌号%d,所在位置%d,到达时间%d:%d\n",x.num,x.position,x.t.hour,x.t.min);

Sleep(a);

}

S->top=mark;

}

void print2(LinkQueue *Q) //显示普通便道车辆

{

CQueueNode *p;

int a=200;

p=Q->front->next;

for(;p!=NULL;p=p->next)

{

printf("普通等待车牌号%d, 到达时间%d:%d",p->data.num,p->data.t.hour,p->data.t.min);

Sleep(a);

}

}

void print3(LinkQueue *Q) //显示会员便道车辆{

CQueueNode *p;

int a=200;

p=Q->front->next;

for(;p!=NULL;p=p->next)

{

printf("会员等待车牌号%d, 到达时间%d:%d",p->data.num,p->data.t.hour,p->data.t.min);

Sleep(a);

}

}

车辆搜索则是用到了顺序查找,查找的关键字就是车牌号了,由于车牌号是乱的没有规

律,所以只好采用这个查找方式了,下面是查找部分:

case 4: //搜索车辆的位置

printf("\n请输入车牌号:");

scanf("%d",&n);

for(j=0;j<10;j++)

if(n==c[j].num)

break;

if(j==10)

{

printf("未搜寻到该车辆,请核对后再进行搜索\n");

}

else

printf("你的车子在%d号位!\n",j);

printf("按任意键返回主菜单!\n");

getch();

system("cls");

break;

其实程序锁定很简单,就是设定一个标记变量,用条件判断并执行就完成了。屏幕保护是我额外加的功能,反复执行这个子函数就可以了:

void pingbao()

{

system("cls");

int d=1;

int a=rand()%18+1;

int b=rand()%8+1;

for(;d

printf("\n");

d=1;

for(;d

printf("\t");

printf("欢");

Sleep(120);

printf("迎");

Sleep(120);

printf("使");

Sleep(120);

printf("用");

Sleep(120);

printf("停");

Sleep(120);

printf("车");

Sleep(120);

printf("场");

printf("管");

Sleep(120);

printf("理");

Sleep(120);

printf("系");

Sleep(120);

printf("统");

Sleep(120);

printf("!");

Sleep(120);

printf("按");

Sleep(120);

printf("任");

Sleep(120);

printf("意");

Sleep(120);

printf("键");

Sleep(120);

printf("退");

Sleep(120);

printf("出");

Sleep(120);

printf("屏");

Sleep(120);

printf("保\n");

Sleep(500);

}

看起来有点长,其实内容很简单的,这个是自动反复执行的那么我们怎么做到案件就中断呢?这样循环就可以了:

while(!kbhit())

{

pingbao();

Sleep(f);

}

Sleep是让程序暂停的效果,kbhit才是真正的作用!功能就是判断是否有按键,按键返回1。!kbhit 就会返回0,就中断循环了。

五、调试与测试

由于是测试程序,所以我定义车站只有3个位置,包括站内外所有车位不能多于10个。下边就是程序进入时的密钥设定:

主菜单界面:

车辆进入选项:

车站满,会员进入会员专用通道:

车站内外停车情况:

查看车子的位置:

屏保界面(实际为动态的):

屏保后解锁了:

会员车子出站:

加的对话框:

程序结束了:

六、实习日志

第一天:拿到了自己的题目,停车场管理喜用,脑子就出现了指针数组之类的东西,一个x*y的矩阵?恩,结构体记录坐标和时间,最后算个价格就搞定。仔细一看题就被雷到了!这种停车场还真是第一次见!好吧,没办法,有开始想这个题怎么做。

第二天:老师和我讨论了我的题,发现了需要改进的地方,新加入了一些内容,并且写了任务计划书。

第三天,做好了整个程序的框架,主函数的框架出来了。以后的几天就有序进行了。

第四天:做了一个子函数,就是栈的子函数,这才几周没碰就这个样子了,看来以后还是要多编程才行啊!

第五天:继续编写子函数,并且完善主函数不足的地方。

第六天:继续编写程序,试着开始执行整个程序。没有语法错误,不代表BUG不多,好吧!太多的BUG,修改了好久!

第七天:看了看同学们的程序,都做得挺漂亮的,我也不能落后,就开始寻思怎么把程序弄得漂亮点。

第八天:经过自己的完善,BUG修改的差不多了,肯定还是有没有改到的地方,以后会改好的!看着自己的程序,成就感油然而生!

第九天:写论文,做PPT,准备最后的答辩。

第十天:答辩。

七、实习总结

这次实习真是收获不少,不仅有问老师问题,解决了不少问题,还在百度解决了好多问

题。最厉害的还是贴吧,我的有些问题真的在白素搜不到,就到贴吧去问,真的有高手能够解决,感谢那些帮助我的人们!编程真的是一件需要细心的事情,中间出现了好多BUG都是自己完全能够避开的,自己却没有避开,后来检查的时候真是难堪。饭好多低级错误,程序才开始编译是,红色一大堆,血淋淋的一片,不过早已习惯。一个一个去检查,慢慢排除语法错误,然后在检查逻辑错误。记得才开始学C语言时,老师说,语法错误好解决,最难办的时逻辑错误。后来真的是深有体会啊!语法错误解决完了,只是进行了调试的一小部分。

经过这次实习,我把学习和实际运用结合的更加紧密了,希望以后能更快的进步!八、附录:核心代码清单

#include

#include

#include

#include

#define SIZE 3

#include

#include

typedef struct

{

int hour;

int min;

}time;

typedef struct

{

int num;

int position;

time t;

float money;

}Car;

typedef struct

{

Car elem[SIZE+1];

int top;

}Stack;

typedef struct Node

{

Car data;

struct Node *next;

}CQueueNode;

typedef struct

{

CQueueNode *front;

CQueueNode *rear;

}LinkQueue;

void InitStack(Stack *S)

{

S->top=0;

}

void InitStack2(Stack *S)

{

S->top=0;

}

void Push(Stack *S,Car *r)

{

S->top++;

S->elem[S->top].num=r->num;

r->position=S->elem[S->top].position=S->top;

S->elem[S->top].t.hour=r->t.hour;

S->elem[S->top].t.min=r->t.min;

}

int EmptyorNot(Stack* S)

{

if(S->top==0)

return 1;

else

return 0;

}

int FullorNot(Stack *S)

{

if(S->top==SIZE)

return 1;

else

return 0;

}

int GetTop(Stack *S,Car *n)

{

n->num=S->elem[S->top].num;

n->position=S->elem[S->top].position;

n->t.hour=S->elem[S->top].t.hour;

n->t.min=S->elem[S->top].t.min;

return 1;

}

void InitQueue(LinkQueue *Q)

{

Q->front=(CQueueNode*)malloc(sizeof(CQueueNode));

if(Q->front!=NULL)

{

Q->rear=Q->front;

Q->front->next=NULL;

}

}

void InitQueue2(LinkQueue *Q)

{

Q->front=(CQueueNode*)malloc(sizeof(CQueueNode));

if(Q->front!=NULL)

{

Q->rear=Q->front;

Q->front->next=NULL;

}

}

int EnterQueue(LinkQueue *Q,Car *t)

{

CQueueNode *Jiedian;

Jiedian=(CQueueNode*)malloc(sizeof(CQueueNode));

if(Jiedian!=NULL)

{

Jiedian->data.num=t->num;

Jiedian->data.t.hour=t->t.hour;

Jiedian->data.t.min=t->t.min;

Jiedian->next=NULL;

Q->rear->next=Jiedian;

Q->rear=Jiedian;

return 1;

}

else return 0;

}

int DeleteQueue(LinkQueue *Q,Car *x)

{

CQueueNode *p;

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

{

return 0;

}

p=Q->front->next;

Q->front->next=p->next;

if(Q->rear==p)

{

Q->rear=Q->front;

}

x->num=p->data.num;

x->t.hour=p->data.t.hour;

x->t.min=p->data.t.min;

free(p);

return 1;

}

void print1(Stack *S) //显示站内车辆{

int mark,a=200;

Car x;

printf("停车场停车情况:\n");

if(EmptyorNot(S))

{

printf("当前停车场没有任何车辆!");

}

for(mark=S->top;S->top>0;S->top--)

if(GetTop(S,&x))

{

printf("车牌号%d,所在位置%d,到达时间%d:%d\n",x.num,x.position,x.t.hour,x.t.min);

Sleep(a);

}

S->top=mark;

}

int EnterQueue2(LinkQueue *Q,Car *t)

{

CQueueNode *Jiedian;

Jiedian=(CQueueNode*)malloc(sizeof(CQueueNode));

if(Jiedian!=NULL)

{

Jiedian->data.num=t->num;

Jiedian->data.t.hour=t->t.hour;

Jiedian->data.t.min=t->t.min;

Jiedian->next=NULL;

Q->rear->next=Jiedian;

Q->rear=Jiedian;

return 1;

}

else return 0;

}

void print2(LinkQueue *Q) //显示普通便道车辆{

CQueueNode *p;

int a=200;

p=Q->front->next;

for(;p!=NULL;p=p->next)

{

printf("普通等待车牌号%d, 到达时间%d:%d",p->data.num,p->data.t.hour,p->data.t.min);

Sleep(a);

}

}

void print3(LinkQueue *Q) //显示会员便道车辆{

CQueueNode *p;

停车场管理系统设计

面向对象程序设计(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 系统。

停车场管理系统—C语言课程设计.doc

停车场管理系统 1题目要求 设有一个可以停放n 辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n 辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。停车站内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车站为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。 【基本要求】要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场是的停车时间及它应该交的费用。 2需求分析 根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。 3总体设计 这个系统可以分为:初始化、有车进入、有车离开、退出四个模块。 4详细设计 main()函数体内包含了界面选则部分menu(),并单独 抽出来作为一个独立函数,目的在于系统执行每部分 模块后能够方便返回到系统界面。即main()函数写为 如下: void main()/*主函数*/ { menu();/*菜单函数*/ } 菜单函数: void menu() { int n,w; do { puts("\t\t**************MENU**************\n\n"); puts("\t\t\t 1.初始化"); puts("\t\t\t 2.有车进入"); puts("\t\t\t 3.有车离开"); puts("\t\t\t 4.退出"); puts("\n\n\t\t*********************************\n"); printf("Please choice your number(1-4): [ ]\b\b"); scanf("%d",&n); if(n<1||n>4) /*对选择的数字作判断*/ { w=1; getchar(); } else w=0; }while(w==1); switch(n) { case 1:chushi();break; /*初始化函数*/ case 2:jinru();break; /*车辆进入函数*/

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

停车场管理系统应用软件 需求分析 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 图及基本符号:

停车场管理系统 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程序基本框架结构图

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

实验二停车场管理 班级: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

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

一.问题描述 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!”,同时车辆进队列(模拟停车

智能化停车场管理系统组成及施工方法【最新版】

智能化停车场管理系统组成及施工方法停车场管理系统主要由以下三部分组成: 管理中心 管理控制中心由高性能工控机、打印机、停车场系统管理软件组成,管理控制中心负责处理进、出口设备采集的信息,并对信息进行加工处理,控制外围设备,并将信息处理成合乎要求的报表,供管理部门使用。该部分主要用得的接口转换器一般是485转换卡,TCP/IP 集线器,光纤转换器,停车场卡授权器等设备. 入口设备 进口设备由图像抓拍系统、智能补光、道闸、停车场出入口控制机,车辆检测器,自动发卡系统,远距离读卡设备等组成,主要负责对进入停车场的内部车辆进行自动识别、身份验证并自动起落道闸;对外来车辆进行发卡,抓拍记录进入时间、车辆信息并自动起落道闸。该部分有时候需要安装停车场管理系统车位显示屏系统,还有的需要安装停车场诱导系统! 出口设备

出口设备由图像抓拍系统、智能补光、道闸、停车场出入口控制器,车辆检测器,远距离读卡设备,临时计费器等组成,主要负责对驶出停车场的内部车辆进行自动识别、身份验证并自动起落道闸;对外来车辆进行计费,收费后自动起落道闸。 工作原理 固定卡用户车辆进入停车场时,入口控制机主动检测到车辆的进入,并检测卡是否有效。如有效,则道闸开启,车辆便可开进停车场,摄像机并抓拍下该车辆的照片,并存储在管理电脑。车辆离开停车场时,出口控制机自动检测到车辆的到来,并判断所持卡的有效性。如有效,则道闸开启,并触发出口摄像机对车辆进行抓拍,车辆便可离开停车场。 临时卡用户车辆进入停车场时,从入口控制机领取临时卡,入口摄像机抓拍下该车辆的照片,并存储在电脑里,控制器记录下该车辆进入的时间,联机时传入电脑。离开停车场时,入口控制机能检测到是临时卡,提示司机必须交费,临时车必须将临时卡交还保安,并需交一定的费用,经保安确认后方能离开。 说完了原理,那咱们说说施工。按先后顺序,可分为以下几个步

停车场管理系统源代码

//停车场管理系统 #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");

大学 C语言 停车场管理系统 设计c语言课程设计 (含调试图)

Xxxxx大学 xxxxxxxxxxx系 20xx-20xx学年第一学期 《C程序设计》课程设计 题目名称:停车场管理系统设计 姓名: 学号: 班级: 指导教师: 编写日期: 20 年1月5日—20 年1月31日 成绩:

目录 (一)需求分析 (3) 1-1停车 (3) 1-2取车 (3) 1-3功能的选择 (3) (二)总体设计(程序设计组成框图) (3) 2-1停车模块 (3) 2-2取车模块 (3) 2-3车辆信息浏览模块 (4) 2-4程序设计组成框图 (4) (三)详细设计 (4) 3-1停车场分析 (4) 3-2停车操作 (4) 3-3收费管理(取车) (5) 3-4车辆信息 (5) 3-5退出系统 (5) (四)程序运行结果测试与分析 (5) (五)结论与心得 (7) (六)参考文献 (7) (七)致谢 (8) 附录: (8)

(一)需求分析 1-1停车 车辆信息要用文件存储,因而要提供文件的输入输出操作。 1-2取车 当车离开时,要删除文件中该车的信息,因而要提供文件的删除操作。 1-3功能的选择 提供现实操作和用键盘式菜单实现功能选择。 (二)总体设计(程序设计组成框图) 2-1停车模块 对车辆信息赋值,分配前检查车位使用情况(按行查找park 数组,元素为0 表示车位为空,则允许分配)。把新添加的车辆信息以追加的方式写入汽车信息文件,并更改汽车信息文件中其他汽车信息的停车时间(停车时间加5)。 2-2取车模块 计算费用(停车费用=停车时间*0.2 元),从文件中删除该车信息。并将该车位对应的二位数组变量设为0,表示该车位可用。输出提示信息:是否输出停车费用总计?(Y/N)如果选择Y,则输出停车费用,否则回到上级菜单。

停车场管理系统 C语言实习报告

C 语 言 课 程 实 习 报 告 【要求】 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟停车场管理。 【提示】 汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。 基本要求:要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某

辆车离开停车场时应交纳的费用和它在停车场内停留的时间。 根据题目要求,停车场可以用一个长度为n 的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后进来的车辆都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场,所以可以设两个堆栈。 一、需求分析 根据题目要求,程序应该提供“到达/离去,汽车牌照号码,到达/离去”的输入、输出操作;在程序中需要浏览停车场的车位信息,应提供显示、查找、排序等操作;此外还应提供键盘式菜单实现功能选择。 二、总体设计: 根据需求分析,可以将系统的设计分为以下五大模块:(1)车辆进入;(2)车辆退出; (3)车辆等待;(4)车辆查询;(5)退出。 一、详细设计: 主函数中只包含菜单函数,菜单部分单独写成函数,只提供输入、功能处理和输出部分的函数调用,其中各功能模块用菜单方式选择。 [程序] #define N 30 /*等待车辆*/ #define M 20 /*车位*/ #define P 2 /*单位时间所收费用*/ #include #include #include struct cars /*定义车辆信息*/ { char state; int num; int in_time; 停车场 管理系统 车辆进入 车辆退出 车辆等待 车辆信息 显示 车辆查询 退出系统

停车场系统管理软件

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

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

C语言课程设计报告停车场管理系统

停车场管理一 一.要求: 1.设计一个停车场用长度为N的堆栈来模拟。由于停车场内如有某辆车要开走,在它之后进来的车都必须先退出为它让道,待其开出停车场后,这些车再依原来的顺序进入。 2.程序输出每辆车到达后的停车位置,以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。 二、程序中所采用的数据结构及存储结构的说明 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。栈以顺序结构实现,队列以链表实现。 程序中分别采用了“栈”和“队列”作为其存储结构。 “栈”的定义可知,每一次入栈的元素都在原栈顶元素之上成为新的元素,每一次出栈的元素总是当前栈顶元素使次栈元素成为新的栈顶元素,即最后进栈者先出栈。程序中采用的结构是: typedef struct NODE{ CarNode *stack[MAX+1]; int top; }SeqStackCar; /*模拟车库*/ “队列”是限定所有插入操作只能在表的一端进行,而所有的删除操作都只能在表的另一端进行。插入端叫队尾,删除端叫对头。按先进先出规则进行。程序中采用的结构是:typedef struct Node{ QueueNode *head; QueueNode *rear; }LinkQueueCar; /*模拟通道*/ 三、算法的设计思想 由于停车场是一个狭窄通道,而且只有一个大门可供汽车进出,问题要求汽车停车

场内按车辆到达时间的先后顺序,依次由北向南排列。由此很容易联想到数据结构中的堆栈模型,因此可首先设计一个堆栈,以堆栈来模拟停车场,又每个汽车的车牌号都不一样,这样一来可以根据车牌号准确找到汽车位置,所以堆栈里的数据元素我设计成汽车的车牌号。当停车场内某辆车要离开时,在他之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场。这是个一退一进的过程,而且让道的汽车必须保持原有的先后顺序,因此可再设计一个堆栈,以之来暂时存放为出站汽车暂时让道的汽车车牌号。当停车场满后,继续进来的汽车需要停放在停车场旁边的便道上等候,若停车场有汽车开走,则按排队的先后顺序依次进站,最先进入便道的汽车将会最先进入停车场,这完全是一个先进先出模型,因此可设计一个队列来模拟便道,队列中的数据元素仍然设计成汽车的车牌号。另外,停车场根据汽车在停车场内停放的总时长来收费的,在便道上的时间不计费,因此必须记录车辆进入停车场时的时间,车辆离开停车场时的时间不需要记录,当从终端输入时可直接使用。由于时间不象汽车一样需要让道,我设计了一个顺序表来存放时间。又用顺序表用派生法设计了一个堆栈,恰好满足上面模拟停车场的需要。 四.设计原理、框图

停车场管理系统c语言

停车场管理系统c 语言

- 第二学期 《高级语言程序设计》 课程设计报告 题目:停车场管理系统 专业:计算机科学与技术班级:15级计科<1>班 姓名:胡玉玉 指导教师:陈广宏 成绩: 计算机学院 年 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、通过本次课设进一步的了解栈和队列等有关概念。掌握栈和队列的建立,掌握栈和队列的基本操作,深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们。 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).用户根据系统所规定并提示的要求输入有关内容,车场所能容纳的车辆数由收费人员来确定,车辆离开时,车主还可以得到收据,便于收费的管理使用,并且系统程序所提供的一些信息可通过特殊硬件显示出来,供车主了解信息,准确有效的停车。

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

中南民族大学计算机科学学院 课程设计报告 课程软件工程导论 题目停车场管理系统年级 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)

经典C源码 之 停车场管理系统

停车场管理系统 #include "stdio.h" #define STACKSIZE 2 struct Car { char Label; float InTime; }; struct StackCar { struct Car *Top; struct Car *BottomStack; int Size; }; int StackInitial(struct StackCar *stackcar) { stackcar->BottomStack=(struct Car *)malloc(STACKSIZE*sizeof(struct Car)); if(!(stackcar->BottomStack)) return 0; stackcar->Top=stackcar->BottomStack; stackcar->Size=STACKSIZE; return 1; } int StackEmpty(struct StackCar stackcar) { if(stackcar.Top==stackcar.BottomStack) return 1; return 0; } int StackFull(struct StackCar stackcar) { if(stackcar.Top-stackcar.BottomStack>=STACKSIZE) return 1; return 0; } int Push(struct StackCar *stackcar,struct Car car) { if(stackcar->Top-stackcar->BottomStack>=STACKSIZE) return 0; *(stackcar->Top++)=car; return 1; } int Pop(struct StackCar *stackcar,struct Car *car)

数据结构c语言版课程设计停车场管理系统

课程设计:停车场 c语言版本的数据结构课程设计,要求用栈模拟停车场,用队列模拟便道,实现停车场的收费管理系统

停车场停满车后车会停在便道上面 下面附上源码,vc:(下编译 #include //#include //malloc #include //获取系统时间所用函数#include //getch() #include //设置光标信息 mallco #define MaxSize 5 /*定义停车场栈长度*/ #define PRICE 0.05 /*每车每分钟收费值*/

#define BASEPRICE 0.5 //基础停车费 #define Esc 27 //退出系统 #define Exit 3 //结束对话 #define Stop 1 //停车 #define Drive 2 //取车 int jx=0,jy=32; //全局变量日志打印位置 typedef struct {int hour; int minute; }Time,*PTime; /*时间结点*/ typedef struct /*定义栈元素的类型即车辆信息结点*/ {int num ; /*车牌号*/ Time arrtime; /*到达时刻或离区时刻*/ }CarNode; typedef struct /*定义栈,模拟停车场*/ {CarNode stack[MaxSize]; int top; }SqStackCar; typedef struct node /*定义队列结点的类型*/ {int num; /*车牌号*/ struct node *next; }QueueNode; typedef struct /*定义队列,模拟便道*/ {QueueNode *front,*rear; }LinkQueueCar; /*函数声明*/ PTime get_time(); CarNode getcarInfo(); void qingping(int a); void gotoxy(int x,int y); void printlog(Time t,int n,int io,char ab,int po,double f); void printstop(int a,int num,int x0,int y0); void printleave(int a,int po,int num); /*初始化栈*/ void InitSeqStack(SqStackCar *s) { s->top=-1; } /* push入站函数 */ int push(SqStackCar *s,CarNode x) //数据元素x入指针s所指的栈

停车场管理系统介绍

停车场管理系统介绍 停车场管理系统介绍作者:佚名 时间:2008-8-21 浏览量: 停车场管理系统解决方案 一、系统简介 停车场管理系统采用当前国际上最先进的射频读卡技术,用户持特定的感应卡进出此停车场,使用感应卡读卡器来分辨停车场的用户,停车场收费,月租卡的发售及临时卡的授权均由收费电脑完成,可自动调用每一车辆的进场时存入的数据及出场时存入的数据,并自动计算出收费金额。实现真正的智能化管理。而且系统用视窗操作,中文菜单显示,使用者能轻易掌握可用此系统的操作。

二、系统主要功能 车道日常作业功能 卡管理功能 卡发行授权功能:月卡、临时卡、储值卡、特殊卡、住户卡、操作员卡等; 卡充值功能; 卡遗失禁用功能:卡挂失、卡加锁、卡解锁; 卡使用情况报表功能。 车辆出入控制管理 空位信息的自动显示,满位禁止入场; 有效卡刷卡自动抬闸,车过后自动降闸; 防砸车功能,能够独立控制道闸,可用遥控器控制道闸和手

动开关栏杆。 栏杆自动控制功能 入场时,临时自动发卡,月卡、储值等有效卡刷卡,栏杆自动抬起,车辆驶出通道后,栏杆自动落下; 出场时,临时车交费确认,月卡、储值等有效卡刷卡,栏杆自动抬起,车辆驶出通道后,栏杆自动落下。 车辆自动检测功能 实现车辆自动检测、计数、统计,便于收费统计与稽核。 收费作业自动控制功能 全汉化工作环境,操作简便,无需专业操作培训,临时车出口读卡,收费金额自动计算,收费金额将自动显示在收费金额显示器上,确认收取通行费后,自动打印票据,收费数据自动统计与上传。 收费数据自动管理功能

所有收费交易自动入帐、管理,所有收费过程系统数据自动完成登记、存储。免费、月卡、冲卡车辆信息存储。所有收费数据自动通过网络传输至收费网络服务器。 严密的收费稽核管理功能 采用多级控制与监控技术,设计严密且采取防人为修改收费数据措施,杜绝任何形式的收费失误与作弊。 收费信息查询与统计功能 收费数据的实时监测 实时监测收费车辆的登录状态,实时监测每个出入口的当前工班或任一时间至今通过的收费车辆和收费金额及月卡车、免费车、冲卡车的数量以及车辆总数。 交通信息的实时查询

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