#include <algorithm>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <iomanip>
struct TrafficData {
std::string timestamp;
std::string vehicleType;
double speed;
};
class TrafficAnalyzer {
private:
std::vector<TrafficData> data;
, public:
void loadData(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
std::cerr << "Error opening file!" << std::endl;
return;
}
// Read and discard the header line
std::string header;
std::getline(file, header);
std::string line;
while (std::getline(file, line)) {
std::istringstream ss(line);
TrafficData entry;
std::getline(ss, entry.timestamp, ';');
std::getline(ss, entry.vehicleType, ';');
ss >> entry.speed;
data.push_back(entry);
}
file.close();
}
void generateTrafficSummaryReport() {
std::map<std::string, int> dailyCount;
std::map<std::string, int> vehicleCount;
int totalVehicles = 0;
for (const auto& entry : data) {
totalVehicles++;
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <iomanip>
struct TrafficData {
std::string timestamp;
std::string vehicleType;
double speed;
};
class TrafficAnalyzer {
private:
std::vector<TrafficData> data;
, public:
void loadData(const std::string& filename) {
std::ifstream file(filename);
if (!file.is_open()) {
std::cerr << "Error opening file!" << std::endl;
return;
}
// Read and discard the header line
std::string header;
std::getline(file, header);
std::string line;
while (std::getline(file, line)) {
std::istringstream ss(line);
TrafficData entry;
std::getline(ss, entry.timestamp, ';');
std::getline(ss, entry.vehicleType, ';');
ss >> entry.speed;
data.push_back(entry);
}
file.close();
}
void generateTrafficSummaryReport() {
std::map<std::string, int> dailyCount;
std::map<std::string, int> vehicleCount;
int totalVehicles = 0;
for (const auto& entry : data) {
totalVehicles++;