QT QT 遍历数组把相同车号的柴油升数,金额,车数,方量,公里数等累加,代码呈现
时间: 2024-06-05 18:04:00 浏览: 27
QT是一种流行的跨平台GUI应用程序开发框架,可以用C++语言编写。针对您的问题,我可以提供以下代码示例:
```cpp
#include <QCoreApplication>
#include <QMap>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义一个QMap来存储车号和对应的信息
QMap<QString, QMap<QString, double>> carInfoMap;
// 模拟数据
QStringList carNumbers = {"A001", "A002", "A003"};
QList<QMap<QString, double>> infoList = {
{{"升数", 50}, {"金额", 1000}, {"车数", 1}, {"方量", 20}, {"公里数", 100}},
{{"升数", 60}, {"金额", 1200}, {"车数", 2}, {"方量", 30}, {"公里数", 200}},
{{"升数", 70}, {"金额", 1400}, {"车数", 3}, {"方量", 40}, {"公里数", 300}}
};
// 遍历数组,把相同车号的信息累加到map中
for (int i = 0; i < carNumbers.size(); i++) {
QString carNumber = carNumbers[i];
QMap<QString, double> info = infoList[i];
if (carInfoMap.contains(carNumber)) {
QMapIterator<QString, double> iter(info);
while (iter.hasNext()) {
iter.next();
QString key = iter.key();
double value = iter.value();
carInfoMap[carNumber][key] += value;
}
} else {
carInfoMap.insert(carNumber, info);
}
}
// 输出结果
QMapIterator<QString, QMap<QString, double>> iter(carInfoMap);
while (iter.hasNext()) {
iter.next();
QString carNumber = iter.key();
QMap<QString, double> info = iter.value();
qDebug() << "车号:" << carNumber;
qDebug() << "升数:" << info["升数"];
qDebug() << "金额:" << info["金额"];
qDebug() << "车数:" << info["车数"];
qDebug() << "方量:" << info["方量"];
qDebug() << "公里数:" << info["公里数"];
}
return a.exec();
}
```
相关问题:
1. QMap是什么?
2. 如何遍历QMap?
3. 如何判断QMap是否包含某个键?
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)