QT 停车场管理系统
源码链接:
QT停车场管理系统,有图形界面-C++文档类资源-CSDN下载
停车场管理模拟商场的地下停车场,有一个入口、一个出口,在入口前有便道,如果车库满了, 可以在便道上排队等候。 自己定义停车场内部的车位数,便道上的等候数。停车场内部不要求先来先走,也不要求先来后走, 所以停车场内部可以不用堆栈,也可以不用队列,设置一个数组即可。便道必须是队列, 先来等候的车先进停车场。完成入库、出库、查询等工作。
可实现功能:(1)如果停车场内部有空位置, 则便道上的车就直接进停车场停车, 进停车场时记录入库的时间、车牌号、停的车位号
(2) 如果停车场满了,则在便道上等候, 如果便道上也满了, 则提示满了,不能入库也不能等候
(3)停车场的任一位置上的车可以出库, 出库时计算停车费,提示停车费用,如果这时在便道上有等候的车辆, 则便道上的第一辆车进停车场入库
(4)可以查看某一车位上的车辆的信息, 也可以查看整个停车场的统计数据(如: 停车场内有多少量车? 有多少个空位置?)
(5)要有界面, 要有动画演示入库和出库的动作,希望每一个车位的大小是可调整的, 即根据停车位数量的不同,每个车位的大小随之改变
代码思想:1.停车场定义为结构体数组
2.便道定义为队列,队列元素为字符串
3.定义三个功能:驶入,驶出,和查询功能
.h函数
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<iostream>
#include<iomanip>
#include<malloc.h>
#include<time.h>
#include<qqueue.h>
#include<queue>
using namespace std;
//#define Price 1 //每秒的单价
#define MAX_STOP 2
#define MAX_PAVE 2
//数组中还有一个空闲单元时,就认为这个队列已经满了
typedef string ElemType;typedef struct{long TimeIn; // 进入停车场时间long TimeOut; // 离开停车场时间int price;string Lincense; // 字符类型 车牌号int flag; //记录此时汽车所处状态,0代表在停车场,1代表在便道
}Car;QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();Car lot[MAX_STOP];queue<string> p;int Price=6;private:Ui::Widget *ui;// QDialog *in;
};
#endif // WIDGET_H
.cpp函数(仅列出将汽车开入停车场和队列的代码),想要获得全部代码,关注点赞私信即可。
#include "widget.h"
#include "ui_widget.h"
#include<QtDebug>
#include <QPushButton>
#include<QDialog>
#include<QLabel>
#include<QTextBlock>
#include<QLineEdit>
#include<iostream>
#include<iomanip>
#include<malloc.h>
#include<time.h>
#include<queue>
#include<qqueue.h>
using namespace std;
//#define Price 6 //每秒的单价
#define MAX_STOP 2
#define MAX_PAVE 2//定义停车场全局变量
//每个汽车是一个结构体
//停车场是结构体数组
//便道是一个队列,队列元素是汽车结构体//汽车信息结构体//停车场数组Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setFixedSize(1500,800);//int Price=6;//初始化停车场for (int i=0;i<MAX_STOP;i++) {lot[i].flag=2;}//向停车场开入车connect(ui->IN,&QPushButton::clicked,[=]{//获取停车场内现有车的个数int t1=0;//遍历结构体数组for (int i=0;i<MAX_STOP;i++) {if(lot[i].flag!=2){t1++;}}qDebug()<<t1;qDebug()<<p.size();//当停车场还有车位时且便道还有位置时if(t1<=MAX_STOP&&p.size()<=MAX_PAVE){ QDialog *in=new QDialog(this);in->setModal(false);in->setFixedSize(800,600);in->setWindowTitle("开入汽车");in->show();QLabel *l1=new QLabel(in);l1->setFixedSize(100,100);l1->move(100,100);l1->setVisible(true);l1->setText("车牌号");l1->adjustSize();QLineEdit *l2=new QLineEdit;l2->setFixedSize(200,100);l2->move(200,100);l2->setParent(in);l2->setVisible(true);//in->show();QLabel *ll=new QLabel(in);ll->setFixedSize(300,200);ll->move(100,300);ll->adjustSize();ll->setWordWrap(true);if(t1==MAX_STOP){ll->setText("当前停车场已满,车只能停入便道");}else{ll->setText("停车场仍有空位,可以停进停车场");}ll->setVisible(true);QString str=l2->text();string t2=str.toStdString();QPushButton *l3=new QPushButton(in);l3->setFixedSize(100,50);l3->move(500,400);l3->setText("确定");l3->setVisible(true);
// for (int i=0;i<MAX_STOP;i++) {
// if(strcmp( t2.c_str(), lot[i].Lincense.c_str() ) == 0){
// l3->setVisible(false);
// }
// }// l3->setVisible(true);QPushButton *l4=new QPushButton(in);l4->setFixedSize(100,50);l4->move(700,400);l4->setText("取消");l4->setVisible(true);//点击确认按钮后的操作connect(l3,&QPushButton::clicked,[=]{if(t1==MAX_STOP){p.push(t2);}else{// enqueue(&p,t2);for (int i=0;i<MAX_STOP;i++) {if(lot[i].flag==2){lot[i].Lincense=t2;lot[i].TimeIn=time(NULL);lot[i].flag=0;break;}}}int t3=0;for (int i=0;i<MAX_STOP;i++) {if(lot[i].flag!=2){t3++;}}qDebug()<<str ;qDebug()<<t3;//qDebug()<<lot[i].TimeIn;in->close();});}else{QDialog *full=new QDialog(this);full->setModal(false);full->setFixedSize(800,600);full->setWindowTitle("开入汽车");full->show();QLabel *l5=new QLabel(full);l5->setFixedSize(200,200);l5->move(100,100);l5->setVisible(true);l5->setFont(QFont("宋体",40));l5->setText("当前便道和车位已满");QPushButton *l6=new QPushButton(full);l6->setFixedSize(100,50);l6->move(500,400);l6->setText("确定");l6->setVisible(true);connect(l6,&QPushButton::clicked,[=]{full->close();});}});
仅列出部分运行图片
源码连接QT停车场管理系统,有图形界面-C++文档类资源-CSDN下载
QT 停车场管理系统相关推荐
- 停车场管理系统linux实现,基于Linux的停车场管理系统的设计与实现
摘要: 随着机动车数量的不断攀升,我国居民对停车场以及场内停车位的需求也随之增加,这种趋势大大增加了停车场管理系统的负荷.与此同时,在停车场内,驾驶员寻找空位泊车以及返回时寻找停车位置和出口遇到困难的 ...
- Linux项目设计:基于ARM平台的停车场管理系统制作教程
文章目录 一.功能要求 二.项目笔记 (一)网络问题:Ubuntu同时与开发板.WiFi连接 (二)图片文字识别 (三)文字转语音 (四)摄像头拍摄 化作尘其它开源项目: 单片机项目: Linux项目 ...
- Jsp实现停车场管理系统
系统采用了B/S架构,Tomcat8.0作为运行服务器,基于J2EE标准.Eclipse4.6开发环境,数据库采用Mysql-5.5.37.开发过程利用MVC开发模式,层次分明.成功实现了该系统.试运 ...
- 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...
随着汽车消费的持续增长,城市停车设施.规划.管理等方面不够完善,导致机动车停车供需矛盾.伴随着停车难问题的日益凸显,面对停车位有限资源与无限需求之间的矛盾,物联网时代就要充分利用物联网技术的力量解决有 ...
- 停车管理系统汽车到达汽车离去c语言,停车场管理系统 C语言实现
用堆栈模拟实际的停车场管理系统 一.问题描述 1.实验题目: 设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出.汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最 ...
- 停车场管理系统c语言程序,c语言程序设计 停车场管理系统 停车场有1-20个车位号,设计一个停车场管理系统,实现停车场管理...
#include #include #include #include #define max 3 #define price 1 int b=1; typedef struct { int day; ...
- 网络虚拟化有几种实现方式_停车场管理系统的防砸车功能有几种方式?如何实现?...
原标题:停车场管理系统的防砸车功能有几种方式?如何实现? 前言 01 01 正文 一.压力波防砸装置 也叫遇阻防砸,主要是安装遇阻返回装置,当道闸杆下落过程中接触到车辆或者行人(接触力度是可以调节的) ...
- java菜单管理的实现方式_智能停车场管理系统的收费实现方式有哪些?
面对需求市场的拉动,用户对停车场管理系统提出更新更高的要求.实现自动进出车辆.自动判别车辆放行.自动缴费管理,将是实现全智能化停车场管理的发展方向,那么智能停车场管理系统的收费实现方式有哪些? 自动计 ...
- 智慧停车场管理系统、停车位、停车费、停车场系统、寻车、抬杆、入位车、出位车、车流量统计、停车、收费、缴费、预警管理、业务统计、报警统计、运维管理、报警系统、异常页面、数据配置、智慧停车原型、停车场
智慧停车场管理系统.停车位.停车费.停车场系统.寻车.抬杆.入位车.出位车.车流量统计.停车.收费.缴费.预警管理.业务统计.报警统计.运维管理.报警系统.异常页面.数据配置.智慧停车原型.Axure ...
最新文章
- mariadb galera Cluster 多主集群安装实录
- ii 组合总和_40. 组合总和 II
- python mapreduce函数_Map-reduce在Python高阶函数中的应用,python,用法,之,mapreduce
- 四层负载均衡与七层负载均衡
- C语言之字符数组在if{}里面赋值给char *引发的问题
- php curl https 443,PHP CURL支持HTTP、HTTPS 请求亲测可用
- @NotBlank注解使用不生效的解决办法
- [转]char数组赋值
- 《异星入境》-超粒方
- Vue在HTML模板中插入JS数据
- Wpf之无法添加wpf窗体
- 【Pre-Training】超细节的 BERT/Transformer 知识点
- chmod命令用法_Java开发人员必须掌握的Linux命令(一)
- 免root卸载MIUI中在通知栏中推送广告的应用——msa
- xdg在Linux中的用法,linux-如何使用sudo获取XDG变量?
- RTX3070深度学习环境配置
- 宾客往来络绎不绝 企业访客管理如何不失礼仪
- 一步步学会用docker部署应用(nodejs版)
- 包含C/C++开发文档的Docset文档库
- android 齿轮动画,Android仿正点闹钟时间齿轮滑动效果
热门文章
- 根据自动装配原理在Springboot项目中自定义starter,并实现热插拔技术,自定义@enable
- AAA 服务器 — RADIUS(半径)协议
- 前端——面试(熊猫优选)
- 大梳理!深度学习优化算法:从 SGD 到 AdamW 原理和代码解读
- 计算机不装显卡会怎么样,电脑一个月不用会咋样?显卡长蘑菇
- 国行三星Note3已开始推送安卓4.4.2更新
- python爬虫 + 百度地图api 获取城市的实时路况信息
- 真的很好的矿石收音机
- 【cocos creater】10.仿《弓箭传说》- 添加HP血条
- 商品规格的数据库设计——商城(六)