文档库 最新最全的文档下载
当前位置:文档库 › 数据结构课程设计停车场管理系统设计报告

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

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

《数据结构》课程设计

班级:********* 指导教师:***

学号:*********** 姓名:***

小组成员:***** ****** ******

完成日期:2009年3月6日

成绩:________________

目录

课程设计目的

1、通过课程设计,加深对《数据结构》这一课程所学内容的进一步理解与巩固。

2、通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合

理的模块化结构。

3、通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。

4、通过课程设计,训练C程序调试能力,能将一个中小型各级组织系统联调通过。

5、通过课程设计,开发一个中小型系统,掌握系统研发全过程。

6、通话课程设计,培养分析问题、解决实际问题的能力。

二、课程设计内容

①问题描述:

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排以便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场时,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。

②基本要求:

要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场应交纳的费用和它在停车场内停留的时间。

③实现提示:

汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘E’,0,0)时结束。本题可用栈和

队列来实现。

三、概要设计

1、设计思想

此停车场管理系统是在一个狭长的通道上的,而且只有一个大门可以供车辆进出,并且要实现停车场内某辆车要离开时,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些辆再依原来的次序进场的功能,就可以设计两个堆栈,其中一个堆栈用来模拟停车场,另一个堆栈用来模拟临时停车场,该临时停车场用来存放当有车辆离开时,原来停车场内为其让路的车辆。至于当停车场已满时,需要停放车辆的通道可以用一个链队列来实现。当停车场内开走一辆车时,通道上便有一辆车进入停车场,此时只需要改变通道上车辆结点的连接方式就可以了,使通道上第一辆车进入停车场这个堆栈,并且使通道上原来的第二辆车成为通道上的第一辆车,此时只需将模拟通道的链队列的头结点连到原来的第二辆车上就可以了。

2、实现方法

对于此停车场管理系统的实现,就是用两个堆栈来分别模拟停车场以及停车场内车辆为其它车辆让路时退出停车的临时停放地点。至于通道上车辆的停放则用一个链队列来实现,此时,通道上车辆的离开或者进入停车场只需改变此链队列上的结点而已。对于要对停车场内的车辆根据其停放时间收取相应的停车费用,可以记录下车辆进入以及离开停车场的时间,再用时间差乘以相应的单价并且打印出最后的费用就可以实现了。

3、主要模块

①此停车场管理系统,主要分为以下若干模块:

首先定义用来模拟停车场的堆栈以及用来模拟通道的链队列为全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在主函数中首先调用option()函数,出现欢迎用户使用的主界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的界面,在用户的选择过程中,程序又分别调用车辆的到达、车辆的离开、停车场内停放车辆的信息以及退出程序这四个函数模块。其中,在车辆的离开那个模块函数中又调用了打印离开车辆信息的函数,在停车场内停放车辆信息的那个模块函数中,又分别调用了显示停车场上车辆信息的函数以及显示便道上车辆信息的函数。最后,

从调鼐的这四个函数中回到主函数结束整个程序的运行。

②在以上各个模块中,出现的调用的函数为:

void InitStack(SeqStackCar *s);

int InitQueue(LinkQueueCar *Q);

option();

int Arrival(SeqStackCar *Enter,LinkQueueCar *W);

void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W); void PRINT(CarNode *p);

void List(SeqStackCar S,LinkQueueCar W);

void List1(SeqStackCar *S);

void List2(LinkQueueCar *W);

4、模块间关系

四、调试分析

(1)调试过程中的主要问题

由于此停车场管理系统是分模块设计的,而且在程序的实现过程中又使用了清屏函数,所以,运行时用户选择任务并且执行完任务后,又会回到供用户选择功能的主界面,因此整个程序从整体上来讲结构清晰,使用方便。本程序的调试运行,总体上情况良好,但中间也出现了一些小问题。其中比较有代表性的主要问题有:

当停车场已经达到最大容量,但仍有车辆进入停车场的时候,运行界面上没有出现或者说出现了但又跳掉了“停车场已满,该车辆需在便道上等待!”的提示信息。我们小组成员经过反复商量讨论,并且在查阅了多种资料后,在那一个printf语句后加了一个getch(),此时,程序运行结果就符合要求了。

对于在WIN—TC下不能显示中文的问题,我们通过在第一个printf语句前加了一句system("graftabl 936");就很好地解决了这个问题,使得整个程序的运行都出现了中文提示,而且是在中文的环境下操作,设计更加合理,更加人性化,更加方面用户使用,同时也提高了用户的操作效率。

(2)测试结果的分析与讨论

①欢迎界面

②车辆到达

③车辆离开

④车辆信息(车场)

⑤车辆信息(便道)

五、用户手册

这个程序用来实现对停车场内车辆的管理,整个操作界面为中文,更加符合人性化的标准,使得用户使用方便,而且每一个操作都有提示,使得初次接触该程序的用户也能很快适应程序的操作。

这个程序操作简单,对于车牌号,只需输入车牌号上的数字就行,而且对于进出停车场的时间,也简化了操作,只需输入当时的时刻就行,没有具体到小时和分钟,但也许这也是该程序不足之处所在。而且该程序也给用户提供了选择的机会,当点击运行该程序后,如果想退出程序,可以输入n或N退出该运行程序。

至于使用过程中的更具体的问题,可以参照该报告书中调试分析那一项的屏幕截图,整个程序的运行界面大致就如上述屏幕截图的内容。

六、附录

1、源程序代码

#include

#include

#include

#define MAX 2 /*车库容量*/

#define price 3 /*每车每时刻费用*/

typedef struct node

{ int num;

int reachtime;

int leavetime;

}CarNode; /*车辆信息结点*/

typedef struct NODE

{ CarNode *stack[MAX+1];

int top;

}SeqStackCar; /*模拟车站*/

typedef struct car

{ CarNode *data;

struct car *next;

}QueueNode;

typedef struct Node

{ QueueNode *head;

QueueNode *rear;

}LinkQueueCar; /*模拟通道*/

/*---------------------------------------------------------------------------*/ /*函数声明部分*/

void InitStack(SeqStackCar *); /*初始化栈*/

int InitQueue(LinkQueueCar *); /*初始化便道*/

int Arrival(SeqStackCar *,LinkQueueCar *); /*车辆到达*/

void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); /*车辆离开*/

void List(SeqStackCar,LinkQueueCar); /*显示存车信息*/

void PRINT(CarNode *p) ;

/*---------------------------------------------------------------------------*/ void option()

{ int i;

char choice;

gotoxy(0,0);

for(i=1;i<=240;i++)

printf("\004");

gotoxy(33,8);

printf("停车场管理系统");

gotoxy(25,12);

printf("小组成员:范雯姣李月敏丁飞飞");

gotoxy(33,16);

printf("班级:信息0701");

gotoxy(1,20);

printf("\n*********************************************************************

***********");

printf("\t1.车辆到达--1 2.车辆离开--2 3.车辆信息--3 4.退出程序

--4");

printf("\n********************************************************************* ***********");

printf("\n\n\n\t 是否进入该系统(y/n)? ");

choice=getchar();

if(choice=='N'||choice=='n')

exit(0);

}

void main()

{ SeqStackCar Enter,Temp;

LinkQueueCar Wait;

int ch;

system("graftabl 936");

option();

InitStack(&Enter); /*初始化车站*/

InitStack(&Temp); /*初始化让路的临时栈*/

InitQueue(&Wait); /*初始化通道*/

while(1)

{ clrscr();

printf("\n\n\t\t\t1. 车辆到达请选择 1");

printf("\n\n\t\t\t2. 车辆离开请选择 2");

printf("\n\n\t\t\t3. 车辆信息请选择 3");

printf("\n\n\t\t\t4. 退出程序请选择 4");

printf("\n\n\t\t\t现在请选择以上信息 : ");

while(1)

{ scanf("%d",&ch);

printf("\n");

if(ch>=1&&ch<=4)break;

else

printf("\n\t\t\t错误!请再次做出选择!\n\n\t\t\t");

}

switch(ch)

{ case 1:Arrival(&Enter,&Wait); break; /*车辆到达*/

case 2:Leave(&Enter,&Temp,&Wait); break; /*车辆离开*/

case 3:List(Enter,Wait); break; /*列表打印信息*/

case 4:exit(0); /*退出主程序*/

default: break; }

}

}

/*------------------------------------------------------------------------------*/

void InitStack(SeqStackCar *s) /*初始化栈*/

{ int i;

s->top=0;

for(i=0;i<=MAX;i++)

s->stack[s->top]=NULL;

}

int InitQueue(LinkQueueCar *Q) /*初始化便道*/

{ Q->head=(QueueNode *)malloc(sizeof(QueueNode));

if(Q->head!=NULL)

{ Q->head->next=NULL;

Q->rear=Q->head;

return(1);

}

else

return(-1);

}

void PRINT(CarNode *p) /*打印出站车的信息*/

{ int A1,A2;

printf("\n\t\t\t请输入离开时间: ");

scanf("%d",&(p->leavetime));

printf("\n\t\t\t离开车辆的车牌号: %d",p->num);

printf("\n\n\t\t\t离开车辆到达时间: %d ",p->reachtime);

printf("\n\n\t\t\t离开车辆离开时间: %d",p->leavetime);

A1=p->reachtime;

A2=p->leavetime;

printf("\n\n\t\t\t停车场管理费用: %d",(A2-A1)*price);

free(p);

}

int Arrival(SeqStackCar *Enter,LinkQueueCar *W) /*车辆到达*/

{ CarNode *p;

QueueNode *t;

p=(CarNode *)malloc(sizeof(CarNode));

flushall();

printf("\t\t\t请输入到达车辆车牌号: ");

scanf("%d",&(p->num));

if(Enter->top

{ Enter->top++;

printf("\n\t\t\t该车辆在停车场的位置是: %d\n",Enter->top);

printf("\n\t\t\t请输入该车辆到达的时间: ");

scanf("%d",&(p->reachtime));

Enter->stack[Enter->top]=p;

return(1);

}

else /*车场已满,车进便道*/

{ printf("\n\t\t\t停车场已满该车辆需在便道上等待!");

getch();

t=(QueueNode *)malloc(sizeof(QueueNode));

t->data=p;

t->next=NULL;

W->rear->next=t;

W->rear=t;

return(1);

}

}

void Leave(SeqStackCar *Enter,SeqStackCar *Temp,LinkQueueCar *W) /*车辆离开*/ { int i, room;

CarNode *p,*t;

QueueNode *q;

/*判断车场内是否有车*/

if(Enter->top>0) /*有车*/

{ while(1) /*输入离开车辆的信息*/

{ printf("\t\t\t停车场里停放的车辆总数: %d",Enter->top); printf("\n\n\t\t\t请输入要离开车辆的位置: ");

scanf("%d",&room);

if(room>=1&&room<=Enter->top)

break;

}

while(Enter->top>room) /*车辆离开*/

{ Temp->top++;

Temp->stack[Temp->top]=Enter->stack[Enter->top];

Enter->stack[Enter->top]=NULL;

Enter->top--;

}

p=Enter->stack[Enter->top];

Enter->stack[Enter->top]=NULL;

Enter->top--;

while(Temp->top>=1)

{ Enter->top++;

Enter->stack[Enter->top]=Temp->stack[Temp->top];

Temp->stack[Temp->top]=NULL;

Temp->top--;

}

PRINT(p);

/*判断通道上是否有车及车站是否已满*/

if((W->head!=W->rear)&&Enter->top

{ q=W->head->next;

t=q->data;

Enter->top++;

printf("\n\n\t\t\t便道的%d号车进入车场第%d位置.",t->num,Enter->top);

printf("\n\n\t\t\t请输入现在的时间:");

scanf("%d",&(t->reachtime));

W->head->next=q->next;

if(q==W->rear)

W->rear=W->head;

Enter->stack[Enter->top]=t;

free(q);

}

else

printf("\n\n\t\t\t便道里没有车.\n");

}

else

printf("\n\n\t\t\t车场里没有车."); /*没车*/

}

void List1(SeqStackCar *S) /*列表显示车场信息*/

{ int i;

if(S->top>0) /*判断车站内是否有车*/

{ printf("\n\t\t\t车场:");

printf("\n\n\t\t\t位置到达时间车牌号\n");

for(i=1;i<=S->top;i++)

{ printf("%26d",i);

printf("%6d",S->stack[i]->reachtime);

printf("%10d",S->stack[i]->num);

printf("\n");

}

}

else

printf("\n\t\t\t车场里没有车");

}

void List2(LinkQueueCar *W) /*列表显示便道信息*/

{ QueueNode *p;

p=W->head->next;

if(W->head!=W->rear) /*判断通道上是否有车*/

{ printf("\n\t\t\t等待车辆的号码为: ");

while(p!=NULL)

{ printf("%-10d",p->data->num);

p=p->next;

}

printf("\n");

}

else

printf("\n\t\t\t便道里没有车.");

}

void List(SeqStackCar S,LinkQueueCar W)

{ int flag,tag;

flag=1;

while(flag)

{ printf("\n\t\t\t请选择 1|2|3:");

printf("\n\n\t\t\t1.车场\n\n\t\t\t2.便道\n\n\t\t\t3.返回\n\n\t\t\t");

while(1)

{ scanf("%d",&tag);

if(tag>=1||tag<=3) break;

else printf("\n\t\t\t请选择 1|2|3:");

}

switch(tag)

{ case 1:List1(&S);break; /*列表显示车场信息*/

case 2:List2(&W);break; /*列表显示便道信息*/

case 3:flag=0;break;

default: break;

}

}

}

2、设计体会

通过这一周的课程设计,加深了我对《数据结构》这门课程所学内容的进一步的理解与掌握;同时,通过对停车场管理系统的开发,使得我将计算机课程所学知识与实际问题很好地相联接在了一起。在这次课程设计中,不仅培养了我开发一个中小型程序的能力,而且也培养了我的团队合作能力。在这次对停车场管理系统的开发过程中,我们小组成员互相合作,互相帮助,其中有程序功能成功实现时的欣喜,也有遇到问题、解决问题时的执着以及迷茫。在这次课程设计中,使得我很好地了解了在开发程序过程中合作的重要性。

在这周课程设计中,我们小组所开发的停车场管理系统,基本上可以完成每一项功能。汽车进入停车场的信息、离开停车场的信息以及通道上的信息都可以在程序上一一实现。但是,该程序也有不足的地方。主要表现在车辆的车牌号上,现实中的车牌号是一串字符,可是,在这个程序中,为了简便起见,我们就车牌号定义为了整型,这个与现实是有些不符的。还有一个可以改进的地方就是记录车辆进入停车场以及离开停车场的时间,应该精确到小时以及分钟的,可是在程序中,为了简便起见,我们只是设置成了一个时刻,所以,在这方面还是有待改进的。改进的程序中,还应该增加时间的判断功能,即停车场内有可能有车辆停放的时间超过一天。

还有一个很重要的问题,对于停车场内可以停放的最多车辆数,为了测试数据的方便,我在程序中,定为了2,在实际使用中,可以改变程度开头的宏定义以增加停车场的容量。

总之,在这周的课程设计中,我以及我们这组的收获还是挺大的,不仅对于专业课有了更好的认识,而且在合作的过程中更加了解了团队精神的重要性。

停车场系统介绍

停车场系统介绍 1、停车场系统简介 a.停车场系统的架构: 本次停车场供***大厦内部人员和外部临时车辆停车使用。本次系统集感应式IC卡读取技术、自动控制技术于一体,对停车场内的车辆进行全自动化管理包括车辆出入控制、图像显示、车型校对、时间计算、费用收取及核查、自动取卡等系列科学、有效的操作。 停车场系统内部车辆是利用IC读卡来实现控制和管理,采用HUGE专用停车场控制系统来控制停车场系统的栏杆机。而外部车辆是通过IC自动吐卡机发卡采取临时收费的方式进行设计。 b.栏杆机说明: 栏杆机部分选用上海皓钧公司的HG-D08电动栏杆机,该款设备性能稳定,发生突发事件时,会自动起杆,防止车辆被损。停电时同时具有手动钥匙可将栏杆与电机脱离变为手动,能够充分保障系统工作的稳定性。同时该机还具有三种防砸车保护功能,确保车辆通行的安全。 2、停车场系统的期望 车流量大,对停车场管理和利用率都很重视,建设一套新的现代化停车场管理系统,即能提高该大厦的管理档次,又能通过现代化的管理手段替代人工管理,有效的控制管理上的漏洞(即不收费或收费人员的贪污等现象),更好的服务于业主。 3、停车场系统的功能 ?为了对出入车辆实施快捷、有效的管理,本方案在车库出口设有停车场收费管理 系统。 ?在停车场的出入口安装栏杆机、读卡器。放行的原则是核对持卡人的信息,只有 条件相符时,才允许出入;

?对于停车场系统可以满足一车一卡及一车多卡的需求; ?当固定客户车辆驶入停车场入口时,将感应卡在读卡器的感应范围内读卡,读卡 器将读出信息传送到控制器,控制器判别有效后,通知栏杆机抬杆放行。出场时,驾驶员在出口处读卡器读卡后放行; ?当车辆通过栏杆机下的环路感应器时,环路感应器的保护信号可防止挡杆的误操 作对车辆的意外损毁。当车辆顺利通过后,用于复位的环路感应器可通知栏杆机复位防止后面的车辆尾随跟进; ?当临时车辆进入停车场时,车辆压在前圈地感线圈,驾驶员距离出卡机处按键取 卡,驾驶员拿到感应卡并在读卡器感应距离内读卡,栏杆机接收到信息自动抬杆,允许车辆进库,驾驶员将车停入停车场,驾驶员保管好该卡。 ?出场时,驾驶员将车辆停在车库出口栏杆前,将感应卡与读卡器读卡,收费计算 机电子金额显示屏会自动显示应缴费用及该车辆停留时间,当驾驶员把应缴费用和感应卡一并交与收费人员后,收费人员手动按钮栏杆机抬杆放行,车辆驶出地下车库。 ?停车场计费方式可由管理人员通过停车场系统管理软件设置(可根据用户需求定 制收费标准)。如:从早6点至晚22点,每1小时收费2元;从晚22点至次日早6点,每小时收费1元等; ?停车场控制器与管理中心采用485连接,完成系统设置、数据收集、实时监控等 工作; ?停车场系统具有发放临时卡收费功能,并对临时车辆设置合理权限和功能; ?根据停车场所用户类型系统将用户分为固定用户和临时用户。固定用户采取每次 进出场时只需读感应卡即可。临时用户出场时根据本次停车时间及当前费率缴费一次。 ?所有用户使用近距离感应卡(5-10CM)。 ?系统采用分级管理,对收款员进行全面管理。 ?收款员当次结帐功能。 ?收款员的日志管理,如登录,退出系统,手动抬杆,取消交易,手工票,补票等 均有详细记录。 ?管理人员通过收费日报,收费月报了解收费情况及收款员各种操作细节。

数据结构课程设计报告模板

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

停车场管理系统设计

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

停车场管理系统说明

目录 一电脑配置要求 (1) 1.1两路硬识别电脑配置 (1) 1.2两路至四路硬识别电脑配置 (1) 1.3四路至九路硬识别电脑配置 (1) 二安装软件、数据库 (2) 2.1车辆管理系统的安装 (2) 2.2 电脑设置 (6) 2.3数据库连接方法 (8) 三停车场调试 (10) 3.1 建立电脑主机IP地址 (10) 3.2 软件续期 (12) 3.3 相机设置 (12) 3.4 通道设置 (15) 3.5显示屏设置 (17) 3.6建立小区基础信息 (18) 3.6车辆管理 (19) 3.7查询 (21) 3.8新增账号 (22) 3.9数据库维护设置 (23)

一电脑配置要求 电脑装系统时要用Administrator用户;装好系统后,在网上下载一个“驱动精灵”更新驱动程序,不然会导致监控画面无图像。 1.1两路硬识别电脑配置 1.奔腾处理器( G4560); 2.4G内存(内存条不能混用); 3.500G硬盘(C盘100G,D盘最少200G); 4.win7 32位或64位操作系统(纯净版,系统用户名为administrator); 5.显示器尺寸:19宽屏液晶显示器(最佳分辨率:1440*900); 6.主板(推荐B85M-G/K主板,不需要COM口); 7.电源功率:380W; 8.千兆网卡、千兆交换机、千兆光纤收发器; 1.2两路至四路硬识别电脑配置 1.I3处理器(4170、6100); 2.4G内存(内存条不能混用); 3.500G硬盘(C盘100G,D盘最少200G); 4. win7 32位或64位操作系统(纯净版,系统用户名为administrator); 5.显示器尺寸:19宽屏液晶显示器(最佳分辨率:1440*900); 6.主板(推荐B85M-G/K主板,不需要COM口); 7.电源功率:380W; 8.千兆网卡、千兆交换机、千兆光纤收发器; 1.3四路至九路硬识别电脑配置 1.I5处理器(4590、6500); 2.4G内存; 3.500G硬盘(C盘100G,D盘最少200G); 4. win7 32位或64位操作系统(纯净版,系统用户名为administrator);

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

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

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

数据结构实验总结报告

数据结构实验总结报告 一、调试过程中遇到哪些问题? (1)在二叉树的调试中,从广义表生成二叉树的模块花了较多时间调试。 由于一开始设计的广义表的字符串表示没有思考清晰,处理只有一个孩子的节点时发生了混乱。调试之初不以为是设计的问题,从而在代码上花了不少时间调试。 目前的设计是: Tree = Identifier(Node,Node) Node = Identifier | () | Tree Identifier = ASCII Character 例子:a(b((),f),c(d,e)) 这样便消除了歧义,保证只有一个孩子的节点和叶节点的处理中不存在问题。 (2)Huffman树的调试花了较长时间。Huffman编码本身并不难处理,麻烦的是输入输出。①Huffman编码后的文件是按位存储的,因此需要位运算。 ②文件结尾要刷新缓冲区,这里容易引发边界错误。 在实际编程时,首先编写了屏幕输入输出(用0、1表示二进制位)的版本,然后再加入二进制文件的读写模块。主要调试时间在后者。 二、要让演示版压缩程序具有实用性,哪些地方有待改进? (1)压缩文件的最后一字节问题。 压缩文件的最后一字节不一定对齐到字节边界,因此可能有几个多余的0,而这些多余的0可能恰好构成一个Huffman编码。解码程序无法获知这个编码是否属于源文件的一部分。因此有的文件解压后末尾可能出现一个多余的字节。 解决方案: ①在压缩文件头部写入源文件的总长度(字节数)。需要四个字节来存储这个信息(假定文件长度不超过4GB)。 ②增加第257个字符(在一个字节的0~255之外)用于EOF。对于较长的文件,

会造成较大的损耗。 ③在压缩文件头写入源文件的总长度%256的值,需要一个字节。由于最后一个字节存在或不存在会影响文件总长%256的值,因此可以根据这个值判断整个压缩文件的最后一字节末尾的0是否在源文件中存在。 (2)压缩程序的效率问题。 在编写压缩解压程序时 ①编写了屏幕输入输出的版本 ②将输入输出语句用位运算封装成一次一个字节的文件输入输出版本 ③为提高输入输出效率,减少系统调用次数,增加了8KB的输入输出缓存窗口 这样一来,每写一位二进制位,就要在内部进行两次函数调用。如果将这些代码合并起来,再针对位运算进行一些优化,显然不利于代码的可读性,但对程序的执行速度将有一定提高。 (3)程序界面更加人性化。 Huffman Tree Demo (C) 2011-12-16 boj Usage: huffman [-c file] [-u file] output_file -c Compress file. e.g. huffman -c test.txt test.huff -u Uncompress file. e.g. huffman -u test.huff test.txt 目前的程序提示如上所示。如果要求实用性,可以考虑加入其他人性化的功能。 三、调研常用的压缩算法,对这些算法进行比较分析 (一)无损压缩算法 ①RLE RLE又叫Run Length Encoding,是一个针对无损压缩的非常简单的算法。它用重复字节和重复的次数来简单描述来代替重复的字节。尽管简单并且对于通常的压缩非常低效,但它有的时候却非常有用(例如,JPEG就使用它)。 变体1:重复次数+字符 文本字符串:A A A B B B C C C C D D D D,编码后得到:3 A 3 B 4 C 4 D。

停车场管理系统方案

目录 第一节停车场管理系统施工方案 (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公

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

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

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

目录 一、需求分析 (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后,直接点击“确定”按钮进入软件操作界面

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

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

华北水利水电学院数据结构实验报告 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、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。从刚开始得觉得很难,到最后把这个做出来,付出了很多,也得到了很多,以前总以为自己对编程的地方还不行,现在,才发现只要认真做,没有什么不可能。 编程时要认真仔细,出现错误要及时找出并改正,(其中对英语的要求也体现出来了,因为它说明错误的时候都是英语)遇到问题要去查相关的资料。反复的调试程序,最好是多找几个同学来对你的程序进行调试并听其对你的程序的建议,在他们不知道程序怎么写的时候完全以一个用户的身份来用对你的用户界面做一些建议,正所谓当局者迷旁观者清,把各个注意的问题要想到;同时要形成自己的编写程序与调试程序的风格,从每个细节出发,不放过每个知识点,注意与理论的联系和理论与实践的差别。另外,要注意符号的使用,注意对字符处理,特别是对指针的使用很容易出错且调试过程是不会报错的,那么我们要始终注意指针的初始化不管它怎么用以免不必要麻烦。 通过近两周的学习与实践,体验了一下离开课堂的学习,也可以理解为一次实践与理论的很好的连接。特别是本组所做的题目都是课堂上所讲的例子,在实行之的过程中并不是那么容易事让人有一种纸上谈兵的体会,正所谓纸上得来终觉浅绝知此事要躬行。实训过程中让我们对懂得的知识做了进一步深入了解,让我们的理解与记忆更深刻,对不懂的知识与不清楚的东西也做了一定的了解,也形成了一定的个人做事风格。 通过这次课程设计,让我对一个程序的数据结构有更全面更进一步的认识,根据不同的需求,采用不同的数据存储方式,不一定要用栈,二叉树等高级类型,有时用基本的一维数组,只要运用得当,也能达到相同的效果,甚至更佳,就如这次的课程设计,通过用for的多重循环,舍弃多余的循环,提高了程序的运行效率。在编写这个程序的过程中,我复习了之前学的基本语法,哈弗曼树最小路径的求取,哈弗曼编码及译码的应用范围,程序结构算法等一系列的问题它使我对数据结构改变了看法。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,也从中发现自己平时学习的不足和薄弱环节,从而加以弥补。 精品文档

停车场管理系统需求分析资料报告说明书

理工大学 软件需求分析报告 院(系):计算机工程学院 专业:软件需求分析 学生:王刚 班级:_软件132班_学号: 201307228 题目:停车场管理系统 起迄日期: 2015.11.2~2014.11.15 指导教师:丁凡 完成日期: 2015 年11月 15 日

停车场管理系统的设计与实现 摘要 本论文旨在设计一个简单、高效且人性化的停车场管理系统,希望能解决目前管理上存在的一些问题。系统的设计过程经过了可行性分析阶段、需求分析阶段、系统流程设计阶段、数据库物理设计阶段、数据库的实施和维护以及系统的编码与测试,最终完成了一个比较完善的收费停车场管理系统。 系统主要功能包括:车辆的登记入库;车辆的停车收费;车库容量显示和修改;车辆的出入日志等等。本系统是一个单机版系统,不提供用户登录,只设有一个管理员账号登陆,以提高系统安全可靠性。该系统运行在WINDOWS 7操作系统下,使用的C#语言开发,开发环境Microsoft Visual Studio 2010,数据库SQL 2008。 关键词:收费;停车场管理系统;高效性;人性化

Parking Management System Design and Implementation Abstract This paper aims to design a simple, efficient and humanized parking lot management system, hoping to be able to solve some problems existing in current management. System design process through the requirement analysis, conceptual design, logical structure design phase, the database physical design phase, implementation and maintenance, and system coding and testing, finally completed a relatively complete charge parking lot management system. System main function includes: the vehicle's registration into the Treasury; Vehicle parking fees; Tariff management; The garage capacity display and modification; Vehicle access logs, etc. Is a stand-alone system, this system does not provide the user login, with only one administrator account log in, in order to improve the system safety and reliability. The system running under the WINDOWS 7 operating system, using c #, the development environment of Microsoft Visual Studio 2010 and SQL 2008 database. Key words: parking lot; Parking lot management system; High efficiency; Human nature

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

停车场管理的模拟系统

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

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

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

停车场管理系统说明书.

中北大学 课程设计说明书 学院、系:软件学院 专业:软件工程 班级: 学生姓名:学号: 设计题目:停车场管理系统 起迄日期: 2016年12月16日~2016年12月29日指导教师: 日期: 2016年12月29日

一设计目的 《数据结构》课程主要介绍最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。进行数据结构课程设计要达到以下目的: 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 1. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 2. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 3. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 二任务概述 2.1、问题描述 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场。每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去, 不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。 2.2、目的 具有操作简单、使用方便、功能先进等特点,停车场使用者可以在最短的时间进入或离开停车场,从而提高停车场的管理水平,取得更高的经济效益和良好的社会效益。位于停车通道处等候车位的用户能快速找到车位。用户取车离开时能安全有序的离开。同时辅以智能化设备和完善的管理软件来简化人的劳动,实现停车场车辆进入、场内监控以及计费收费等全过程的完全无人化管理;另一方面通过网络化管理实现能够在一个相对广阔的地域内(例如一个城市)了解多个停车场情况,提前了解停车情况,最终实现“随意”停车。 2.3、系统(或用户)特点 停车场管理系统利用现代科技技术管理车辆,提高了车辆管理的高效性、实用性、安全性、可靠性和车辆自动化管理的能力。有效的减少了人工的参与,从而最大限度的减少了人员费用以及由人员失误或人员舞弊造成的损失,大大提高整个停车场的经济性、安全性与使用效率。 2.4、基本要求 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据列:汽车“到达”或“离去”信息,汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:在停车场内停留的时间和应缴纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。

相关文档
相关文档 最新文档