停车场管理系统课程设计报告最终版

停车场管理系统课程设计报告最终版
停车场管理系统课程设计报告最终版

目录

1 实习目的 (1)

2 问题描述 (1)

设计基本要求 (1)

停车场管理系统的主要功能 (2)

4概要设计 (2)

设计思想 (2)

函数及功能要求 (3)

5 详细设计 (4)

数据结构的设计 (4)

算法的设计思想及流程图 (4)

主要函数的功能说明 (4)

停车场管理系统流程图 (4)

主要模块算法描述 (5)

6 测试分析 (5)

测试用例 (5)

第一组测试用例 (5)

第二组测试用例 (6)

第三组测试用例 (7)

测试结果分析 (8)

7 使用说明 (8)

8 总结 (9)

参考文献 (9)

附录 (10)

停车场管理系统

1 实习目的

通过本次课程设计,了解并初步掌握设计、实现系统的完整过程,包括系统分析、编码设计、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。

2 问题描述

停车场是一条可以停放n辆车的狭窄通道,且只有一个大门。汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满n辆车,后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。

3 需求分析

停车场是一条可以停放n辆车的狭窄通道,且只有一个大门。汽车停放按到达时间的先后排列。若停车场已经停满n辆车,后来的汽车在便道上等候。一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路。等它开出后,其他车再按照原次序开入车场,每辆停在车场的车要按时间长短缴费。

设计基本要求

(1) 以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入的数据序列进行模拟管理。每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码、以及到达或离去的时刻。对每一组数据进行操作后的信息为:若是车辆到达,则输出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留时间和应缴纳的费用(在便道上的停留时间不收费)。栈以顺序结构实现,队列以链表结构实现。

(2) 友好性:界面要友好,输入有提示,尽量展示人性化。

(3) 可读性:源程序代码清晰、有层次,必要时给出注释。

(4) 健壮性:用户输入非法数据时,系统要及时给出警告信息。

(5) 测试数据:要求使用全部合法数据、整体非法数据、局部非法数据进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。

停车场管理系统的主要功能

(1) 根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费。

(2) 该程序设计能够通过车牌号查到该车辆在停车场或便道中的位置。

(3) 当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放。实现停车场的调度功能。

该程序设计可以完整的模拟停车场的管理过程。

4概要设计

数据库设计

(1)栈的抽象数据类型定义

AST Stack{

数据对象:D={ai|ai∈ElemSet,i=1,2,...,n, n≥0}

数据关系:R1={|ai-1,ai∈D,i=2,...,n}

约定an端为栈顶,a1端为栈底。

基本操作:

InitStack(&S)

操作结果:构造一个空栈S。

DestroyStack(&S)

初始条件:栈S已存在。

操作结果:栈S被销毁。

ClearStack(&S)

初始条件:栈S已存在。

操作结果:将栈S清为空栈。

tackEmpty(S)

初始条件:栈S已存在。

操作结果:若栈S为空栈,则返回TRUE,否则FALSE。

StackLength(s)

初始条件:栈S已存在。

操作结果:返回S的元素个数,既栈的长度。

GetTop(S,&e)

初始条件:栈S已存在且非空。

操作结果:用e返回S的栈顶元素。

Push(&S,e)

初始条件:栈S已存在。

操作结果:插入元素e为新的栈顶元素。

Pop(&S,&e)

初始条件:栈S已存在且非空。

操作结果:删除S的栈顶元素,并用e返回其值。

StackTraverse(S,visit())

初始条件:栈S已存在且非空。

操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()

失败,则操作失效。

}ADT Stack

(2)队列的抽象数据类型定义

ADT Queue{

数据对象:D={ai|ai∈ElemSet,i=1,2,...,n,n≥0}

数据关系:R1={|ai-1,ai∈D,i=2,...,n}

约定其中a1端为队列头,an为队列尾。

基本操作:

InitQueue(&Q)

操作结果:构造一个空队列Q。

DestroyQueue(&Q)

初始条件:队列Q已存在。

操作结果:队列Q被销毁,不再存在。

ClearQueue(&Q)

初始条件:队列Q已存在。

操作结果:将Q清为空队列。

QueueEmpty(Q)

初始条件:队列Q已存在。

操作结果:若Q为空队列,则返回TRUE,否则FALSE。

QueueLength(Q)

初始条件:队列Q已存在。

操作结果:返回Q的元素个数,即队列的长度。

GetHead(Q,&e)

初始条件:Q为非空队列。

操作结果:用e返回的队头元素。

EnQueue(&Q,e)

初始条件:队列Q已存在。

操作结果:插入元素e为Q的新的队尾元素。

DeQueue(&Q,&e)

初始条件:Q为非空队列。

操作结果:删除Q的队头元素,并用e返回其值。

QueueTraverse(Q,visit())

初始条件:Q已存在且非空。

操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()。一旦visit()失败,则操作失败。

}ADT Queue

函数及功能要求

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

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

场内停放车辆的信息以及退出程序这四个函数模块。其中,在车辆的离开那个模块函数

中又调用了打印离开车辆信息的函数,在停车场内停放车辆信息的那个模块函数中,又

分别调用了显示停车场上车辆信息的函数以及显示便道上车辆信息的函数。

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

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

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

5 详细设计

数据结构的设计

程序中使用了一个类,五个结构体,两个栈(模拟停车场,其中一个为临时栈),

一个队列(模拟便道)。

(1)车辆信息的表示

车辆可看成是一个节点,设计成一个结构体,车辆信息包括:车牌号码,车辆的进

站时间和离开停车场的时间,定义如下:

typedef struct node{

char num[10];

5.2.15.2.2

5.2 .3

6.1.1

6.1.2

6.1.3

据结构[M].北京:清华大学出版社,2004.

[2] 李春葆.数据结构解析[M].北京:清华大学出版社,2001.

[3] 谭浩强.C语言程序设计[M].北京:清华大学出版社,2005.

[4] 朱战立,张选平.数据结构学习指导与典型题解[M].西安:西安交通大学出版社,2002.

[5] 张玲,席德春,刘晓杰.C语言上机实践指导教程[M].北京:机械工业出版社,2004.

[6] 罗文劼,王苗,石强.数据结构习题解答与实验指导[M].北京:中国铁道出版社, 2004.

[7] 殷人昆,陶永雷,谢若阳等.数据结构[M].北京:清华大学出版社,2005.

附录

,Enter->top);

printf("\n●车辆到达时间:");

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

while(p-><0||p->>23) ,t->num,Enter->top);

printf("\n■请输入%s号车进入停车场的时间:",t->num);

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

while(t-><0||t->>23) ,i);

puts(p->data->num);

p=p->next ;

}

}

else

printf("\n◆您好,便道上没有车!");

printf("\n");

}

车场列表☆☆☆☆☆ |\n");

printf("\n\t| ☆☆☆☆☆●2.便道列表☆☆☆☆☆ |\n");

printf("\n\t| ☆☆☆☆☆●3.返回主菜单☆☆☆☆☆ |\n");

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

printf("\n\t===== ★★★欢迎使用停车场系统★★★======= \n"); printf("\n◆请选择您所需要的服务(1~3):");

while(1)

{

scanf("%d",&tag);

if(tag>=1 && tag<=3)

break;

else

printf("\n ◆您的输入有误! 请重新选择 1~3:");

}

switch(tag)

{

case 1:

List1(&S);break;车辆到达登记☆☆☆☆☆|\n");

printf("\n | ☆☆☆☆☆●2. 车辆离开登记☆☆☆☆☆|\n");

printf("\n | ☆☆☆☆☆●3. 车辆列表显示☆☆☆☆☆|\n");

printf("\n | ☆☆☆☆☆●4. 退出系统☆☆☆☆☆|\n");

printf("\n

|************************************************|\n");

printf("\n ============= ★★★欢迎使用停车场系统★★★=========== \n");

printf("\n ◆说明:请您注意正确输入时间,不要输入非数字!◆");

printf("\n ■请选择您所需要的服务(1~4):");

scanf("%d",&ch);

while(1)

{

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

break;

else

{

printf("\n ◆您的输入有误!请您重新选择(1~4):");

scanf("%d",&ch);

}

}

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;

}

}

}

课程设计实验报告

竭诚为您提供优质文档/双击可除 课程设计实验报告 篇一:课程设计(综合实验)报告格式 课程设计报告 (20XX--20XX年度第一学期) 名称:题目:院系:班级:学号:学生姓名:指导教师:设计周数: 成绩:日期:《软件设计与实践》课程设计计算机系软件设计与实践教学组 20XX年1月14 日 《软件设计与实践》课程设计 任务书 一、目的与要求 1.了解网络爬虫的架构和工作原理,实现网络爬虫的基本框架;2.开发平台采用JDK1.60eclipse集成开发环境。 二、主要内容 1.了解网络爬虫的构架,熟悉网页抓取的整个流程。

2.学习宽度优先和深度优先算法,实现宽度crawler应用程序的编写、调试和运行。 3.学习主题爬行及内容分析技术。 4.实现网络爬虫的基本框架。 三、进度计划 四、设计成果要求 1.要求按时按量完成所规定的实验内容; 2.界面设计要求友好、灵活、易操作、通用性强、具有实用性; 3.基本掌握所采用的开发平台。五、考核方式 平时成绩+验收+实验报告。 学生姓名:于兴隆指导教师:王蓝婧20XX年1月2日 一、课程设计的目的与要求1.目的: 1.1掌握crawler的工作原理及实现方法;1.2了解爬虫架构; 1.3熟悉网页抓取的整个流程及操作步骤; 1.4掌握宽度优先,深度优先算法,并实现宽度crawler 应用程序的编写、调试和运行;1.5掌握主题爬行及内容分析技术;1.6实现一个最基础的主题爬虫的过程;1.7理解pageRank算法,并编程验证;二、设计正文 网络爬虫研究与应用 [摘要]:本文通过对网络爬虫研究的逐步展开,讨论了爬虫的相关概念与技术,并通过实验设计了简单的基于宽度

网页制作课程设计报告

网页制作课程设计报告 学院: 专业班级: 姓名: 学号: 成绩: 阅卷教师:

目录 1.设计目的 (1) 2.设计思想 (1) 2.1网站整体结构规划思想 (1) 2.2 主页设计思想 (1) 2.3子页的设计思想 (1) 3网页详细设计分析 (1) 4结论 (2)

1.设计目的 阐述该个人网站的设计意图和创意,简单介绍自己的个人网站。 2.设计思想 阐述网站的整体设计思想,包括: 2.1网站整体结构规划思想 要求阐述网站整体结构的选择、设计的思想,绘制网站结构草图。 2.2 主页设计思想 要求对主页的布局思路进行阐述和分析。 2.3子页的设计思想 要求对子页的设计以及网页对象的选取思路进行阐述和分析。 3网页详细设计分析 要求选取一张网页,对网页的设计实现过程进行阐述和分析,详细说明制作该网页的步骤,所使用的网页对象以及该网页对象的操作方法。

4结论 对整个设计报告做归纳性总结,并分析设计过程中的困难及如何解决的,最后提出展望。 一、设计目的 本课程的设计目的是通过实践使同学们经历Dreamweaver cs3开发的全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。结合具体的开发案例,理解并初步掌握运用Dreamweaver cs3可视化开发工具进行网页开发的方法;了解网页设计制作过程。通过设计达到掌握网页设计、制作的技巧。了解和熟悉网页设计的基础知识和实现技巧。根据题目的要求,给出网页设计方案,可以按要求,利用合适图文素材设计制作符合要求的网页设计作品。熟练掌握Photoshop cs3、Dreamweaver cs3等软件的的操作和应用。增强动手实践能力,进一步加强自身综合素

数据结构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;

供配电课程设计报告 最终版

课题:北汽机械厂降压变电所的电气设计专业:电气工程及其自动化 班级: 4 学号: 姓名: 指导教师: 设计日期:2015.6 成绩: 重庆大学城市科技学院电气信息学院 前言

电能是现代工业生产的主要能源和动力。电能既易于由其它形式的能量转换而来,又易于转换为其它形式的能量以供应用;电能的输送的分配既简单经济,又便于控制、调节和测量,有利于实现生产过程自动化。因此,电能在现代工业生产及整个国民经济生活中应用极为广泛。 在工厂里,电能虽然是工业生产的主要能源和动力,但是它在产品成本中所占的比重一般很小(除电化工业外)。电能在工业生产中的重要性,并不在于它在产品成本中或投资总额中所占的比重多少,而在于工业生产实现电气化以后可以大大增加产量,提高产品质量,提高劳动生产率,降低生产成本,减轻工人的劳动强度,改善工人的劳动条件,有利于实现生产过程自动化。从另一方面来说,如果工厂的电能供应突然中断,则对工业生产可能造成严重的后果。 因此,做好工厂供电工作对于发展工业生产,实现工业现代化,具有十分重要的意义。由于能源节约是工厂供电工作的一个重要方面,而能源节约对于国家经济建设具有十分重要的战略意义,因此做好工厂供电工作,对于节约能源、支援国家经济建设,也具有重大的作用。 工厂供电工作要很好地为工业生产服务,切实保证工厂生产和生活用电的需要,并做好节能工作,就必须达到以下基本要求: 1. 安全在电能的供应、分配和使用中,不应发生人身事故和设备事故。 2. 可靠应满足电能用户对供电可靠性的要求。 3. 优质应满足电能用户对电压和频率等质量的要求. 4. 经济供电系统的投资要少,运行费用要低,并尽可能地节约电能和减少有色金属的消耗量。 此外,在供电工作中,应合理地处理局部和全局、当前和长远等关系,既要照顾局部的当前的利益,又要有全局观点,能顾全大局,适应发展。

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

WEB个人主页课程设计

Web应用开发技术 实验报告 专业:计算机科学与技术 班级: 学号: 姓名:

一、设计题目 个人网站 二、目的 1、本次设计是学生在学完ASP动态网站开发课程后的一次实践性很强的课程设计,是对ASP进行动态网站开发所学知识的综合运用。 2、掌握使用ASP技术进行网站开发设计。 3、通过本次实习,使学生加深所学知识内容的理解,并能积极地调动学生的学习兴趣,结合实际应用操作环境,真正做到理论与实际相结合。 三、功能需求描述 此网站可以对主人留言,来发表自己的心情,也可以把自己的联系方式写入其中,达到和睦相处、心灵的驿站的目的等。 四、总体设计

五、详细设计 (一)、我的主页 此页面为网站的主页,通过发布新心情,点击通讯录可以查看通讯录好友信息,点击留言板可以查看好友留言。 主要代码: 个人空间