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

上传人:桔**** 文档编号:470477771 上传时间:2022-09-18 格式:DOC 页数:15 大小:60.50KB
返回 下载 相关 举报
数据结构课程设计报告_停车场模拟管理系统报告_第1页
第1页 / 共15页
数据结构课程设计报告_停车场模拟管理系统报告_第2页
第2页 / 共15页
数据结构课程设计报告_停车场模拟管理系统报告_第3页
第3页 / 共15页
数据结构课程设计报告_停车场模拟管理系统报告_第4页
第4页 / 共15页
数据结构课程设计报告_停车场模拟管理系统报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据结构课程设计报告_停车场模拟管理系统报告》由会员分享,可在线阅读,更多相关《数据结构课程设计报告_停车场模拟管理系统报告(15页珍藏版)》请在金锄头文库上搜索。

1、 计算机科学技术学院?数据构造课程设计?报告专 业: 计算机科学与技术 班 级: 计13-1 学 号: 24、25 姓 名: 王莹、肖林英 课设题目:停车场模拟管理系统指导教师: 姜卓 2014-12-23z目 录 一、设计题目1二、设计目的1三、总体设计1一问题描述1二设计要求1三数据构造1四、详细设计2一分析与实现2二系统模块设计2三界面设计3五、设计结果与分析4六、总结收获和缺乏5一课设的缺乏5二课设的收获5附录程序源码5参考文献:16指导教师意见16z一、设计题目停车场模拟管理系统。二、设计目的利用所学的知识,模拟设计一个停车场管理系统。通过程序设计,了解停车场的工作情况以及是怎么实现

2、停车的,模拟车辆的进入停车场、离开停车场的情况,和收费情况。三、总体设计一问题描述假设停车场可以停放n辆车的狭长通道,而且只有一个入口出口,汽车进入停车场的停放按照先进先放的顺序,依次排满车道。当停车场已经停满时已存放了n辆汽车,想进入停车场的车就只能在便道上等待,等到停车有车离开时,便道上的第一辆车进入停车场。当停车场的*辆车要离开时,在它后面的车必须离开让出一条道路来,待车开走后,让路的车依次进入停车场,车辆离开时,按时间缴纳费用。二设计要求用栈模拟停车场,用队列模拟停车场外面的等车便道,按照终端输入数据的方式进展模拟管理。输入1,表示车辆到达;输入2,表示车辆离开;输入3,表示列表显示停

3、车场外情况;输入4,表示系统帮助;输入5,表示查询车辆;输入0,表示退出程序。车辆进入停车时,要输入车牌和到达时间;车辆离开时,要输入停车场车位号和离开时间,并显示应收费额;车辆查询时,要输入车牌;系统帮助,则是一些关于本系统的操作介绍。三数据构造本课程设计使用的数据构造有:顺序栈和链式队列。四、详细设计一分析与实现1、模拟停车场的车辆进出需要输入车辆的信息,比方车辆的车牌、到达时间、离开时间,因此,可以定义一个车辆信息结点类型和一个时间节点类型,在顺序栈和链式队列中定义结点类型为车辆信息结点类型。2、车辆离开时,需要打印输出车辆的车位号、到达时间、离开时间以及应缴纳的费用。定义print函数

4、实现。3、车辆到达时要输入车辆的信息,并以此存放在停车场;没进入一辆车,要判断停车场顺序栈是否已经停满,假设已满,则提示该车要在便道上等待;假设未满,则进展进栈操作。4、车辆的离开,要另外设计一个栈,当一辆汽车要离开时,在其后的车辆要给其让路,让路的汽车就暂时停放在这个栈中。车辆离开后,要判断便道上是否有车辆在等待,假设有则进展入栈操作,即将车辆的信息结点进展入栈操作,这时要输入当前时间,今儿进展出队操作,表示车辆已经离开便道进入停车场。5、系统帮助则只需设计一个函数,将要说明的东西写进去,可以直接调用。6、车辆的查询,既可以查询停车场的车辆,也可以查询便道上等待的车辆,查询时要输入正确的车牌

5、,并显示车辆的当前情况。二系统模块设计主函数用户操作界面车辆停靠车辆离开车辆到达退出程序三界面设计1、主菜单界面2、 车辆到达界面3、 车辆离开界面4、 车辆停靠界面 停车场情况便道停车情况5、退出系统五、设计结果与分析测试结果已到达我们预期的结果,可以模拟实现车辆的进入、离开停车场,可以大体上让人了解到停车场的工作情况。六、总结收获和缺乏一课设的缺乏本次课程设计完成的系统,只能简单的模拟停车场的车辆进出、收费情况和查询功能,没有将进入停车场的车辆信息进展存盘保存。而且功能单一,有车离开时,还有可能要其他的车退出停车场让车不够人性化;模拟的停车场只是一个狭长的通道,存放的车辆只能是一种类型的,

6、即占地面积是一样的;按道理停车场可以存放各种类型的车,各种车的收费标准也应该不一样,这都应该是要完善的。二课设的收获本次课设,我们组选了停车场模拟管理系统来做,在这个题目里,只用到了两个数据构造:顺序栈和链式队列。顺序栈模拟停车场,队列模拟便道。通过这次课设,确实对我们的水平提高了很多,至少再次熟悉了本学期所学的栈和队列的使用和应用。记得在刚开场的时候,看到课设指导书上面的题目,感觉自己什么都做不出来,所以迟迟不敢动手。当时间一天天逼近时,不能再拖了,就只能开工了。抱着试一试的心态,我们参考着资料上面的指示,一步一步地做,居然做出了一个简单的系统;最后,对系统做了些完善虽然还不是很完善,在此对

7、同组的小伙伴表示感谢!通过这次课设,我们再次强烈的感受到:只要敢于尝试,很多我们自己认为做不到的事情都是可能做到的。勇于尝试,定有收获!附录 程序源码*include*include*include *include *include *include using namespace std;*define MA* 3 /停车场车位数*define price 0.05 /每分钟收取的费用typedef struct time int hour; int min;Time;/定义时间结点typedef struct node string num; Time reach; Time leave

8、;CarNode;/定义每辆车的牌号,进入时刻,开出时刻typedef struct NODE CarNode *stackMA*+1; int top;SeqStackCar;/用栈定义,构造停车场typedef struct car CarNode *data; struct car *ne*t;QueueNode;/用队列结点定义,构造停车场外的单个等候车辆typedef struct Node QueueNode *head; QueueNode *rear;LinkQueueCar;/用队列定义,构造停车场外的等候便道void InitStack(SeqStackCar *); /初

9、始化堆栈函数声明int InitQueue(LinkQueueCar *); /初始化队列头结点函数声明int Arrival(SeqStackCar *,LinkQueueCar *); /车辆进入时登记函数声明void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *);/车辆离开时函数声明void List(SeqStackCar,LinkQueueCar); /查看停车场车辆情况及便道上车辆情况的函数声明void myoutte*t*y(int *, int y, LPCTSTR s); /绘制滚动文字void myoutte*t*y(i

10、nt *, int y, LPCTSTR s)static IMAGE tmp;/ 用来保存被文字覆盖的区域背景if (s = NULL)/ 恢复区域putimage(*, y, &tmp);elseint w = te*twidth(s);/ 获取字符串占用的宽度int h = te*theight(s);/ 获取字符串占用的高度/ 保存区域getimage(&tmp, *, y, w, h);/ 文字输出outte*t*y(*, y, s); /车辆进入int Arrival(SeqStackCar *Enter,LinkQueueCar *W) CarNode *p; QueueNode

11、 *t; p=new CarNode; cout-endl; cout车辆到达登记开场:endl; coutendlp-num; if(Enter-toptop+; coutendl车辆在车场第top位置.endl; coutendl车辆到达时间:;cout(例:11 11)p-reach.hourp-reach.min; coutendl车辆到达登记完毕!endl; cout-stackEnter-top=p; return 1; else /如果车位已满,则停靠在便道上 cout-endl; coutendl车位已满,请稍等data=p; t-ne*t=NULL; W-rear-ne*t=

12、t; W-rear=t; return 1; void InitStack(SeqStackCar *s) /堆栈初始化 s-top=0; s-stacks-top=NULL;int InitQueue(LinkQueueCar *Q)/队列初始化 Q-head=new QueueNode ; if(Q-head!=NULL) Q-head-ne*t=NULL; Q-rear=Q-head; return 1; else return -1;void PRINT(CarNode *p,int room) /输出离开停车场的车辆情况 int A,B,C,D; coutn车辆离开的时间:; cout(例:11 11)p-leave.hourp-leave.min; cout离开车辆的车牌号为:; coutnum; coutendl其到达时间为: reach.hour:reach.min; cout离开时间为: leave.hour:leave.min; A=p-reach.hour; B=p-reach.min; C=p-leave.hour; D=p-leave.min; co

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号