停车场管理课程设计及源程序.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档