- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
停车场管理系统
一、课程设计项目: 停车场管理系统
二、课程设计目的:
以栈模拟停车场,以队列车场外的便道,按照从终端输入的数据序列进行模拟
管理。每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌号码、
以及到达或离去的时刻。对每一组数据进行操作后的信息为:若是车辆到达,则输
出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留
时间和应缴纳的费用(在便道上的停留时间不收费)。栈以顺序结构实现,队列以链
表结构实现。
三、课程设计内容:
(一) 需求分析
1.? 本演示程序中,CarNum,CarTime,price应为任意的,输入一个值赋给初始
报数上限stacksize,程序自动保存车辆的车牌号和时间(到达,离开,结束),
当车辆要进入栈时,检查停车场是否已满,如果未满则车辆进栈(车辆进入
停车场);如果停车场已满,则车辆进入等候队列(车辆进入便道等候)。当
车辆要求出栈时,该车到栈顶的那些车辆先弹出栈(在它之后进入的车辆必
须先退出车场为它让路),再让该车出栈,其他车辆再按原次序进栈(进入车
场)。当车辆出栈完毕后,检查等候队列(便道)中是否有车,有车则从队列
头取出一辆车压入栈中。
2.?? 演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入三个数据相(汽车“到达”或“离去”信息、车牌号码、以及到达或离去的时刻),程序根据其输入再输出相关信息。
3.??程序执行的命令包括:
(1)用栈模拟停车场,用队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理;
(2)每一组输入数据包括三个数据项:汽车到达或离去的信息,汽车牌号码以及到达或离去的时刻;
(3) 每次输入完进行输出操作:若是车辆到达,输出汽车在停车场内或
便道上的停车位置;若是车辆离去,输出停留时间和应缴纳的费(在
便道上停留的时间不收费);
(4)E:结束。
4.?? 测试数据
(1)停车场最多停车辆数:1
单位时间内的价格:5
到达或离去信息(A:到达 D:离去E:结束),车牌号,时刻:
A 12345 1
车牌号为12345的车停在1处
到达或离去信息(A:到达 D:离去E:结束),车牌号,时刻:
A 12345 1
车牌号12345的车已停车场或便道上,请重新输入!
到达或离去信息(A:到达 D:离去E:结束),车牌号,时刻:
A 54321 1
停车场已停满。车牌号为54321的车停在便道1处
到达或离去信息(A:到达 D:离去E:结束),车牌号,时刻:
D 56624 2
停车场内没有车牌号为56624的车!
到达或离去信息(A:到达 D:离去E:结束),车牌号,时刻:
D 12345 2
车牌号为12345的车停车费用为5
便道上的车牌号为54321的车驶进停车场1处
D 54321 0
输入时间有误,请重新输入
到达或离去信息(A:到达 D:离去E:结束),车牌号,时刻:
(二) 概要设计
为了实现上述操作,其中栈以顺序结构实现,队列以链表结构实现。
基本操作:
typedef struct{}SElemType:车辆的车牌号和时间
typedef struct{} SqStack:定义栈停车场车辆信息
typedef struct QNode: 模拟车站
void InitStack(SqStack *s,int n): 初始化栈 (车站)
void Push(SqStack *s,int num, int time):元素进栈
void Pop(SqStack *s,int *num,int *time):元素出栈
int StackEmpty(SqStack *s):空栈
int StackFull(SqStack *s):满栈
typedef struct } LinkQueue: 定义队列(车场外的便道)
int QueueEmpty(LinkQueue *Q): 初始化队列
void InitQueue(LinkQueue *Q):元素进队列
void EnQueue(LinkQueue *Q, int num): 元素出队列
void DeQueue(LinkQueue *Q, int *num):删完之后为空列表
int IsExistS(SqStack *s,int num):处理车辆是否到达车库的情况
int IsExistQ(LinkQueue *Q,int num):处理车辆是否到达便道的情况
vo
您可能关注的文档
- 停车场课程设计报告.doc
- 发酵工程微生物酶制剂生产工艺.ppt
- 光照强度控制系统设计.doc
- 内蒙古工业大学热工控制系统课程设计.doc
- 半自动钻床机械原理课程设计.doc
- 卫星导航定位算法及程序设计GPS考题中国矿业大学.docx
- 区段站站场设计.doc
- 中温井式电阻炉设计.doc
- 助理理财规划师06年11月附答案.doc
- 信息及其特征教学设计.doc
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)