已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实习报告实习报告 题目 停车场管理题目 停车场管理 一 一 需求分析需求分析 1 用栈来表示停车场 用队列来表示停车道 2 用户需输入车辆的必要信息 如车辆的到达或离开 汽车牌号以及到达或离去的时刻 停车场的容量及单位时间的停车费由编程序者自行设置 结构需输出车辆停车所需缴 纳的费用 3 本程序要求对车辆的动态能够输出具体的信息内容 包括停车或离开的时间 位置 及所需缴纳的停车费 4 测试数据为 N 2 输入数据为 A 1 5 A 2 10 D 1 15 A 3 20 A 4 25 A 5 30 D 2 35 D 4 40 E 0 0 其中 A 表示到达 D 表示离去 E 表示输入结束 5 程序执行的命令为 1 创建栈和队列 2 对车辆的行为进行相应的处理 3 输出车辆的信息 二 二 概要设计概要设计 1 设定栈的抽象数据类型定义 ADT Stack 数据对象 D ai ai 属于 Elem i 1 2 n n 0 数据关系 R1 ai 1 ai 属于 D i 2 n 基本操作 initStack 2 设定队列的抽象数据类型定义 ADT Queue 数据对象 D ai ai 属于 Elem i 1 2 n n 0 数据关系 R1 ai 1 ai 属于 D i 2 n 基本操作 initqueue typedef struct Elem 定义元素数据结构类型 int carnum int time Elem typedef struct QNode 队列 struct QNode next Elem Qelem QNode QueuePtr typedef struct QueuePtr front 队头指针 QueuePtr rear 队尾指针 LinkQueue void initqueue LinkQueue if Q front exit OVERFLOW Q front next Q rear next NULL void enqueue LinkQueue p Qelem carnum carnum p Qelem time time p next NULL Q rear next p Q rear p int lengthqueue LinkQueue Q int i 0 QueuePtr p p Q front next while p Q rear i p p next i return i void dequeue LinkQueue if Q front Q rear cout 车道中没有车辆 next e p Qelem Q front next p next if Q rear p Q rear Q front free p typedef struct Elem base Elem top int stacksize Sqstack void initStack Sqstack if S base exit OVERFLOW S top S base S stacksize n int push Sqstack if S top S base S stacksize return 1 else temp S top temp carnum e carnum temp time e time S top return 0 int lengthstack Sqstack S 当前栈的长度 return S top S base int pop Sqstack e S top return 1 void carin Sqstack 输入数据正确 QueuePtr r Elem temp temp S base while temp S top 在栈中寻找是否有同一编号的车 if temp carnum car carnum cout 该车号在停车场中已存在 请重新输入 next 队头 while r if r S top time car time S top cout 请进入停车场 lengthstack S 号车位 endl else enqueue Q car carnum car time cout 请便车道 lengthqueue Q 稍等 carnum car carnum int temp cost temp cost car time temp time cost ture 1 在栈中找到 cout 您的停车时间为 time 小时 请交 纳费用 temp cost carnum e carnum S top time car time S top cout endl 请便道的第一辆车 牌号是 e carnum 转入 停车场 停车起始时刻是 car time 停车位置为 lengthstack S 号 next 队头 while r r r next if r 在队列中找到要离开的车 if r cout 便道 Qelem carnum 号车离开 不收取费用 next r next free r 直接从队列离开 if ture 0 cout 没有该辆车 endl int main char c int j 0 temp time i 1 i 0 判断临时记录时间的 temp time 应该去该次的值 还是上次的值 j 0 表示第一次输入数据 不需要检测数据是否正确 LinkQueue Q Sqstack S Elem car initqueue Q initStack S cout 请输入车辆信息 到达离开或退出标志 A D E 车牌号 当前时间 c car carnum car time if j 1 if S top S base cout 停车场中没有车 endl else if car time temp time i 0 temp time还是记录上次的值 else temp time car time i 1 if i 1 正确的数据 if c A 到达 carin S Q car else if c D if S top S base else carleave S Q car j 1 if j 0 第一次输入数据不需要检测 if c A 到达 carin S Q car else if c D if S top S base cout 停车场中没有车 endl else carleave S Q car j 1 temp time car time if c E cout 输入结束 endl break return 0 四 四 调试分析调试分析 1 本次作业是设计停车场的管理系统 就需要判断车牌号 及时间的输入的正确性 输入的数据有比较严格的要求 必须符合实际 因此对数据需要多次判断 2 处理车辆
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流配送中心搬运作业标准操作程序
- 城市园林养护合同风险防控实务
- 契诃夫《柔弱的人》阅读训练题
- 电子商务法实务解析与企业应用指南
- 新员工入职培训计划及岗位适应指导
- 临床踝泵康复运动方案设计
- 移动应用测试流程及用例设计
- 职业新人入职培训课程方案
- 毛石挡土墙施工技术规范与质量检查
- 医院入院护理操作考核试题汇编
- 《煤矿安全规程》2025版
- 二维材料物性调控-洞察及研究
- 计算方法引论-薇第五章
- 预制箱梁施工工艺技术课件
- 化学实验室安全培训(化学品储存安全管理)课件
- DB11-T 346-2006-混凝土界面处理剂应用技术规程-(高清有效)
- DBS42 015-2021 现制饮料加工操作规范
- 访谈提纲格式4篇
- 经济增长理论和论证经济发展问题的基本思路和模型分析
- 高校学生突发事件应对策略(课堂PPT)
- 渗透探伤基础知识及操作
评论
0/150
提交评论