2022年数据结构课程方案设计书--停车场管理系统 .pdf
《2022年数据结构课程方案设计书--停车场管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构课程方案设计书--停车场管理系统 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计班级网络营销指导老师吕向阳学号 1040412123 姓名魏华二 012 年 1 月 7 日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 16 页一课程设计题目某停车场内只有一个可停放n 辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆汽车停放在最北端),若停车场内已经停满n辆车,则后来的汽车只能在门外的便道即候车场上等候,一旦有车开走,则排在便道上的第一辆车即可开入。当停车场内某辆车要离开时。在它之后进入的车辆必须先退出车场为它让路
2、,该车辆开出大门外,其它车辆再按原次序进入停车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为该停车场编制按上述要求进行管理的模拟程序。二流程及图示停车显示信息离开收费系统查询显示信息退出精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 16 页停车场(栈 1)栈 2通道(队列)三、程序运行及截图1.开始界面首先是登陆界面,只要用户名跟密码一样就可以登陆,输入正确后,有一个延迟程序,让使用者感觉更真实a 1 a 2 a 3 a n 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -
3、 - -第 3 页,共 16 页如果输入错误了,就是直接退出了2.主界面 登录成功后,则是如下的功能界面:3 . 停车场管理系统你可以选择停车,离开,或者查看,当操作完了,可以直接选择退出。 当你输入1 后,会提示你输入停车的车号:在这里输入你想要停车的车号,然后会提示你停车的时间:输入停车时间后,则会显示你刚停车的详细的信息:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 16 页4.离开 输入 2 ,则会提示你要离开的车号:然后输入离开的车号后,会提示你输入该车离开的时间,输入离开的时间,则会出现如下界面:5 停车场管理系统系统则会
4、把你刚离开的车俩的详细信息给你打印出来:拉开的车号,所用时间 以及应收的费用。这个时间管理员,可以对照表收费了。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 16 页6.查看 当你要查看停车场所停车的信息时,你可以选择 3。同样,选择 3 确定后会提示你要查看的车号,然后则会把信息打印在界面上:系统会告诉你这俩停在停车场里面的那个位置上。7.退出 当你一切操作完了后,就可以选择退出了,输入 4 停车场管理系统随便按个键就退出该系统了。四、程序代码#include #include #include #include #include
5、#include #include using namespace std。#define Max_Size 2/ 停车的最大容量#define HourFare 2 / 每小时的停车费用int CountForStack=0。 / 栈里现有的车数int CountForQueue=0 。 / 排队等候的车数 typedef struct char Condition。/ 到达或者离开的状态 int Arrivetime 。/ 到达时间,默认为-1,表示没有到达 int Leavetime。/ 离开时间,默认为-1,表示没有离开 int License。/ 车牌号 CarNode。/ 保存每辆
6、车的信息 typedef struct/ 栈的定义 CarNode *base。 / 栈底指针 CarNode *top 。/ 栈顶指针 int Stacksize。/ 栈的最大容量 CarStack 。 typedef struct QNode char Condition 。/ 到达或者离开的状态 int Arrivetime 。/ 到达时间,默认为-1,表示没有到达 int Leavetime。/ 离开时间,默认为-1,表示没有离开 int License。/ 车牌号 QNode *next。 QNode。typedef struct/ 队列的定义精选学习资料 - - - - - - -
7、 - - 名师归纳总结 - - - - - - -第 6 页,共 16 页 QNode *front 。/ 对头指针 QNode * rear。/ 队尾指针 Queue。 bool InitStack(CarStack &S1)/ 初始化栈 S1 S1.base=(CarNode*)malloc(Max_Size*sizeof(CarNode)。 if(!S1.base) cout栈 S1 内存分配失败endl。 return false。 S1.top=S1.base 。 S1.Stacksize=Max_Size 。 return true 。 bool InitQueue(Queue &
8、Q) Q.front=(QNode*)malloc(sizeof(QNode) 。 if(!Q.front) cout队列 Q 内存分配失败!next=NULL。 return true 。 bool EnQueue(Queue &Q,QNode &e)/ 插入元素 e 为 Q 的新的队尾元素 QNode *p=(QNode *)malloc(sizeof(QNode) 。 if(!p) coutp 内存分配失败 Arrivetime=e.Arrivetime 。 p-Leavetime=e.Leavetime。 p-Condition=e.Condition 。 p-License=e.Li
9、cense 。/ 将 e 赋给 P p-next=NULL。 Q.rear-next=p。 Q.rear=p。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 16 页 return true 。 bool DeQueue(Queue &Q,QNode &t)/出队列函数 if(Q.front=Q.rear) cout队列为空! next 。 t.Arrivetime=p-Arrivetime 。 t.Condition=p-Condition 。 t.Leavetime=p-Leavetime 。 t.License=p-License
10、。 Q.front-next=p-next 。 if(Q.rear=p) Q.rear=Q.front 。 free(p)。 return true 。 void InitCarNode(CarNode &C,char condition,int arrivetime,int leavetime,int license) C.Arrivetime=arrivetime 。C.Condition=condition 。C.Leavetime=leavetime。C.License=license 。 bool Push(CarStack &S1,CarNode &car)/ 插入新的元素 car
11、 为的栈顶元素 if(S1.top-S1.base=S1.Stacksize) cout此栈已满,不能压入新的信息endl。 return false 。 (*S1.top).Arrivetime=car.Arrivetime 。 (*S1.top).Condition=car.Condition 。 (*S1.top).Leavetime=car.Leavetime 。 (*S1.top).License=car.License。 +S1.top。/ 栈顶指针上移 return true 。 bool Pop(CarStack &S1,CarNode &t)/ 出栈操作精选学习资料 - -
12、- - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 16 页 if(S1.top=S1.base) cout栈 S1 为空,不能执行出栈操作=S1.Stacksize) return true 。 else return false 。 bool IsStackEmpty(CarStack &S1)/判断 S1 栈是否已空 if(S1.top=S1.base) return true 。 else return false。 bool IsQueueEmpty(Queue &Q)/ 判断队列是否为空 if(Q.front=Q.rear) return true
13、。 else return false 。 bool SearchInStack(CarStack &S1,int a)/a 表示要查找的车牌号,如果在停车场里面,就返回 true bool tag=false。 if(!IsStackEmpty(S1)/ 如果栈 S1 非空 CarNode *p=S1.top-1。 while(p!=S1.base) if(*p).License=a) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 16 页 tag=true。 -p。 if(*p).License=a) tag=true。 retu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构课程方案设计书-停车场管理系统 2022 数据结构 课程 方案设计 停车场 管理 系统
限制150内