实验五 停车场管理

1、实验目的:
(1)掌握栈的使用方法。
(2)掌握队列的使用方法。

2、实验环境与设备:
已安装Visual Studio 2010(或其以上版本)集成开发环境的计算机。
3、实验原理:
(1)使用队列遵循“先来后到”规则的排队停车。
(2)利用栈实现后进先出的进出停车场移车操作。

4、实验内容:




5、实验考核:
(1)完成纸质版实验报告
(2)提交电子版作业

6、执行结果示例如下:

成果展示

#include <iostream>
#include <stdio.h>
#include <math.h>
#include <algorithm>
#include <string.h>
#include <sstream>
#include <stdlib.h>
#include <malloc.h>using namespace std;struct BUS
{int num;int intime;int outtime;
}bus[10000], buss[1000];struct seq//停车场
{int bus[10000];int top;
};struct seqq
{int buss[1000];int topp;
};struct Biandao
{int data;int time;int num;struct Biandao *next;
};struct biandao
{Biandao *first;Biandao *rear;
}biandao;int main()
{printf("温馨提示:本停车场每十分钟收费0.50元,不足10分钟的部分按10分钟收费。\n");int x, t;int n;printf("请输入停车场车位数量n:");cin >> n;char a[5];seq s;s.top = 0;seqq ss;ss.topp = 0;biandao.first = NULL;biandao.rear = NULL;int num = 0;printf("请输入停车信息(格式(动作,车牌号,时间)):\n");while (cin >> a){if (!strcmp(a, "A")){cin >> x >> t;if (s.top >= n)//如果停车场已满{Biandao *p;p = (Biandao *)malloc(sizeof(Biandao));p->data = x;p->time = t;num++;p->next = NULL;if (biandao.rear != NULL)biandao.rear->next = p;biandao.rear = p;if (biandao.first == NULL)biandao.first = p;printf("\n时间为第 %d 分钟时,车牌号为%d的车进入便道等待车位\n", t, x);printf("车库已满,该车在便道的第 %d 位\n", num);}else//停车场未满{bus[s.top].num = x;bus[s.top].intime = t;printf("\n时间为第%d分钟时,车牌号为%d的车进入停车场 %d 号车位\n\n",t,x,s.top+1);s.top++;}}else if (!strcmp(a, "D")){cin >> x >> t;if (s.top == 0){printf("输入错误 重新输入\n");}else{int nu;for (int i = 0; i <= s.top; i++){if (bus[i].num == x){nu = i;}}bus[nu].outtime = t;printf("\n时间为第%d分钟时,车牌号为 %d 的车离开停车场\n", bus[nu].outtime,bus->num);printf("该车在停车场停留时间为 %d , 应该收费 %.2f 元 \n\n", bus[nu].outtime - bus[nu].intime, (int((bus[nu].outtime - bus[nu].intime - 1) / 10.0) + 1.0)*0.5);for (int i = nu; i <= s.top; i++)//出停车站{bus[i] = bus[i + 1];}s.top--;if (biandao.first != NULL)//如果便道上有车{bus[s.top].num = biandao.first->data;bus[s.top].intime = t;printf("\n时间为第 %d 分钟时,车牌号为%d的车进入停车场 %d 号车位\n", t, bus[s.top].num, s.top + 1);s.top++;num--;Biandao *q;q = biandao.first;biandao.first = biandao.first->next;free(q);}}}else if (!strcmp(a, "E")){break;}else{printf("输入有误 重新输入\n");}}return 0;
}

数据结构 实验五 停车场管理相关推荐

  1. linux内存实验,LINUX编程-实验五 内存管理实验

    实验五内存管理实验 1.目的要求 (1)学习使用内存管理库函数. (2)学习分析.改正内存错误. 2.实验内容 (1)内存库函数实验 ●malloc函数 原型:extern void *malloc( ...

  2. 数据结构实验五 查找算法的实现

    广州大学学生实验报告 开课实验室:计算机科学与工程实验(电子楼416B)     2019年6月11日 学院 计算机科学与教育软件学院 年级.专业.班 姓名 学号 实验课程名称 数据结构实验 成绩 实 ...

  3. C语言数据结构课程设计-停车场管理

    停车场管理 1.课程设计目的 2. 课程设计内容和要求 2.1问题描述: 2.2设计要求: 3.课程设计总体方案及分析 3.1问题分析 3.2 概要设计 3.3 测试结果 4. 课程设计总结 5. 附 ...

  4. 数据结构实验——模拟停车场

    问题描述 设停车厂只有一个可停放5辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达的先后顺序依次排列,若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车 ...

  5. 实验五 进程管理命令

    1.实验目的 (1)了解如何监视系统运行状态 (2)掌握查看.删除进程的正确方法 (3)掌握命令在后台运行的用法 (4)掌握进程手工.调度启动的方法 2.常用命令 who 查看当前在线用户 top 监 ...

  6. 停车场管理c语言课程设计,数据结构课程设计-停车场管理

    #include #include /** * 具体要求请看C语言数据结构课程设计 3.4.1:停车场管理系统 * 思路: * 进: * 1. 车按照顺序先进去通道(入队列) * 2. 给出指定,让先 ...

  7. 数据结构 实验三 栈的基本运算

    栈的基本运算 任务一: 顺序栈的基本操作 任务描述: 本关任务:实现顺序栈的基本操作,包括栈的初始化.置空栈.进栈.出栈.判栈空.栈的输出(遍历)等. 相关知识: 为了完成本关任务,你需要掌握: - ...

  8. 【程序设计与实践】实验五:停车场管理

    [程序设计与实践]实验五:停车场管理 设有一个可以停放n辆汽车的狭长停车场,它只有一个大门供车辆进出. 车辆按到达停车场时间的先后次序依次从停车场最里面向大门口处停放(即最先到达的一辆车停放在停车场的 ...

  9. java数据结构停车场管理问题_数据结构——停车场问题

    实验三 停车场模拟管理程序的设计与实现 本实验的目的是进一步理解栈和队列的逻辑结构和存储结构,进一步提高使用理论知识指导解决实际问题的能力. 一.问题描述 设停车场只有一个可停放几辆汽车的狭长通道,且 ...

最新文章

  1. python等号语法错误_Python干货:代码编写规范
  2. oracle查询当前归档scn_【学习笔记】Oracle数据库 查看归档日志存放的位置
  3. 全球与中国自行车和零件制造市场发展规划及未来投资趋势展望报告2021年版
  4. 程序员因拒绝带电脑回家工作被开除!获赔19.4万元
  5. Spring依赖注入方式
  6. 详解Android动画之Tween Animation
  7. 逆袭进大厂:程序员究竟该如何学好前端?
  8. 网络安全学习笔记--《暗战强人:黑客攻防入门全程图解》
  9. PMBOK第六版学习笔记
  10. 设置自定义电脑屏幕分辨率
  11. 详细分析推荐系统和搜索引擎的差异陈运文
  12. UNI-APP APP版本更新方法
  13. python图书搜索与书籍封面下载
  14. AFD在CentOS环境中部署
  15. 集成驱动器LMG3411R150RWHR GaN FET(LMG3410R150RWHR)
  16. asp.net zero 8.2 学习-12- abp 文件上传、获取、删除
  17. 领导驾驶舱是怎么做出来的?
  18. python modis数据拼接_python调用HEG工具批量处理MODIS数据的方法及注意事项
  19. 手写一个基于NIO的迷你版Tomcat
  20. php utf8 bom,php-如何删除多个UTF-8 BOM序列

热门文章

  1. 【原创】盗墓笔记电影超强逻辑详解
  2. linux在局域网中隐身
  3. 爬虫--有道翻译的加盐破解方式
  4. IBIS仿真---SI篇(10)
  5. 「MOSS - 12」MOSS队:Scrum Meeting 3
  6. 【计算机二级Python】模拟试卷第2套选择题
  7. IDS、恶意软件、反病毒网关、APT与密码学
  8. matlab编一个福利彩票电脑选号的程序,【Matlab编程】Matlab让电脑失而复得
  9. 建仓时,如何评估数据模型建的好不好?
  10. Dynamic Wallpaper Mac版 精美的动态壁纸