该系统具有以下功能:

- 停车:输入车牌号和进入时间,自动分配停车位编号,如果停车场已满则提示停车场已满。

- 离开停车场结算停车费用:输入停车位编号和离开时间,自动计算停车费用,如果已结算则提示已结算。

- 显示停车记录:按照停车位编号顺序显示停车记录,包括车牌号、进入时间、离开时间和停车费用。

- 退出系统:结束程序。

该程序通过使用 vector 存储停车记录,动态分配停车位编号,并通过 switch-case 语句实现菜单选择功能。

#include <iostream>
#include <vector>
#include <string>
using namespace std;const int MAX_CAPACITY = 100;// 停车记录结构体
struct ParkingRecord {int id;                 // 停车位编号string licensePlate;    // 车牌号int timeIn;             // 进入时间int timeOut;            // 离开时间float cost;             // 停车费用
};// 停车场类
class ParkingLot {
public:ParkingLot();// 显示菜单void showMenu();// 停车void parkCar();// 离开停车场结算停车费用void checkOutCar();// 显示停车记录void showParkingRecords();private:vector<ParkingRecord> parkingLot;   // 停车场int currentCapacity;                // 当前停车场容量
};// 构造函数
ParkingLot::ParkingLot() {currentCapacity = 0;
}// 显示菜单
void ParkingLot::showMenu() {cout << "Welcome to the Parking Lot Management System!" << endl;cout << "1. Park a car" << endl;cout << "2. Check out a car" << endl;cout << "3. Show parking records" << endl;cout << "4. Exit" << endl;cout << "Please enter your choice: ";
}// 停车
void ParkingLot::parkCar() {if (currentCapacity >= MAX_CAPACITY) {cout << "Sorry, the parking lot is full." << endl;return;}ParkingRecord newRecord;cout << "Please enter the license plate number (up to 9 characters): ";cin >> newRecord.licensePlate;cout << "Please enter the time in (in minutes since 00:00): ";cin >> newRecord.timeIn;newRecord.id = currentCapacity + 1;parkingLot.push_back(newRecord);currentCapacity++;cout << "The car is parked at spot " << newRecord.id << "." << endl;
}// 离开停车场结算停车费用
void ParkingLot::checkOutCar() {int id;cout << "Please enter the parking spot number: ";cin >> id;if (id < 1 || id > currentCapacity) {cout << "Invalid parking spot number." << endl;return;}ParkingRecord *record = &parkingLot[id-1];if (record->timeOut > 0) {cout << "The car has already been checked out." << endl;return;}cout << "Please enter the time out (in minutes since 00:00): ";cin >> record->timeOut;float hours = (record->timeOut - record->timeIn) / 60.0;record->cost = hours * 1.5;cout << "The cost for parking is $" << record->cost << "." << endl;
}// 显示停车记录
void ParkingLot::showParkingRecords() {if (currentCapacity == 0) {cout << "There is no car parked in the parking lot." << endl;return;}cout << "Parking records:" << endl;cout << "ID\tLicense Plate\tTime In\tTime Out\tCost" << endl;for (int i = 0; i < currentCapacity; i++) {ParkingRecord record = parkingLot[i];cout << record.id << "\t" << record.licensePlate << "\t\t" << record.timeIn << "\t" << record.timeOut << "\t" << record.cost << endl;}// 主函数
int main() {
ParkingLot parkingLot;
int choice;
do {parkingLot.showMenu();cin >> choice;switch (choice) {case 1:parkingLot.parkCar();break;case 2:parkingLot.checkOutCar();break;case 3:parkingLot.showParkingRecords();break;case 4:cout << "Thank you for using the Parking Lot Management System." << endl;break;default:cout << "Invalid choice." << endl;break;}cout << endl;
} while (choice != 4);return 0;

用C++实现停车场管理系统相关推荐

  1. Jsp实现停车场管理系统

    系统采用了B/S架构,Tomcat8.0作为运行服务器,基于J2EE标准.Eclipse4.6开发环境,数据库采用Mysql-5.5.37.开发过程利用MVC开发模式,层次分明.成功实现了该系统.试运 ...

  2. 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...

    随着汽车消费的持续增长,城市停车设施.规划.管理等方面不够完善,导致机动车停车供需矛盾.伴随着停车难问题的日益凸显,面对停车位有限资源与无限需求之间的矛盾,物联网时代就要充分利用物联网技术的力量解决有 ...

  3. 停车管理系统汽车到达汽车离去c语言,停车场管理系统 C语言实现

    用堆栈模拟实际的停车场管理系统 一.问题描述 1.实验题目: 设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最 ...

  4. 停车场管理系统c语言程序,c语言程序设计 停车场管理系统 停车场有1-20个车位号,设计一个停车场管理系统,实现停车场管理...

    #include #include #include #include #define max 3 #define price 1 int b=1; typedef struct { int day; ...

  5. 网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...

    原标题:停车场管理系统的防砸车功能有几种方式?如何实现? 前言 01 01 正文 一.压力波防砸装置 也叫遇阻防砸,主要是安装遇阻返回装置,当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的) ...

  6. java菜单管理的实现方式_智能停车场管理系统的收费实现方式有哪些?

    面对需求市场的拉动,用户对停车场管理系统提出更新更高的要求.实现自动进出车辆.自动判别车辆放行.自动缴费管理,将是实现全智能化停车场管理的发展方向,那么智能停车场管理系统的收费实现方式有哪些? 自动计 ...

  7. 智慧停车场管理系统、停车位、停车费、停车场系统、寻车、抬杆、入位车、出位车、车流量统计、停车、收费、缴费、预警管理、业务统计、报警统计、运维管理、报警系统、异常页面、数据配置、智慧停车原型、停车场

    智慧停车场管理系统.停车位.停车费.停车场系统.寻车.抬杆.入位车.出位车.车流量统计.停车.收费.缴费.预警管理.业务统计.报警统计.运维管理.报警系统.异常页面.数据配置.智慧停车原型.Axure ...

  8. 停车场管理系统 java_使用java编写一个停车场管理系统

    使用java编写一个停车场管理系统 发布时间:2020-11-30 16:00:28 来源:亿速云 阅读:145 作者:Leah 这篇文章给大家介绍使用java编写一个停车场管理系统,内容非常详细,感 ...

  9. 停车场管理系统linux实现,基于Linux的停车场管理系统的设计与实现

    摘要: 随着机动车数量的不断攀升,我国居民对停车场以及场内停车位的需求也随之增加,这种趋势大大增加了停车场管理系统的负荷.与此同时,在停车场内,驾驶员寻找空位泊车以及返回时寻找停车位置和出口遇到困难的 ...

  10. 基于微信小程序的智能停车场管理系统的研究与设计

    前言 2017年一组数据显示, 我国停车位缺口率已经达到50%, 停车场的平均空置率也高达51. 3%. 区域拥堵. 乱停车.找车难. 收费难. 停车管理成本搞. 停车场管理效率底下.市政停车规划采集 ...

最新文章

  1. 网络工程师的经典爱情观
  2. 零基础学Python(第十一章 字符串处理)
  3. windows 2008创建群集“xxx”时出错。由于超时时间已过,该操作返回
  4. 设python中有模块m_Python 模块
  5. mysql-表完成性约束
  6. 在一个环境中使用不同版本的rails
  7. centos7安装mysql允许远程连接_Centos7安装mysql8.0,开启远程访问
  8. 遗传算法matlab_通俗易懂地解释遗传算法
  9. jquery 3D旋转banner图效果 demo
  10. 会员付费超前点播模式争议背后,我们该怎么看待在线视频的未来?
  11. 树莓派安装网易云音乐amd64(Exagear)
  12. 《Python》典型数据结构
  13. Linux命令+shell脚本大全:操作文件系统
  14. 新出生的机器狗,打滚1小时后自己掌握走路,吴恩达开山大弟子最新成果
  15. 这个宝藏自媒体平台,你get到了吗?
  16. MATLAB闪退,无法打开
  17. CRS-6706 CRS-4000
  18. 《用AJAX实现图书记录的添加》
  19. u盘raw怎么恢复其中的数据
  20. CSDN 的中铁粉是什么?如何获得粉丝与铁粉呢?一篇文章告诉你,干货满满,建议收藏

热门文章

  1. POI导出excel:设置字体颜色、行高自适应、列宽自适应、锁住单元格、合并单元格...
  2. 抗组胺药 (西药、中药和维生素)
  3. EPS二次开发简单整理(一)
  4. arduino教程——UNO西蒙游戏
  5. 自动化专业学习大数据开发,零基础学习分享
  6. jsp页面中引用fn函数
  7. macOS Catalina 之「随航」自带扩展屏
  8. 广告牌定时器怎么设置时间_广告牌led灯微电脑定时开关怎么调整时间
  9. 差分电荷密度 matlab,关注:电荷密度计算及图形化处理,电声耦合常数计算
  10. 扬帆优配|银行股逆势走强 医药股震荡走高 资金流入防御类板块