ADD file via upload

pull/2/head
prz83jtxm 9 months ago
parent 1018c6b000
commit 7586d211ac

@ -0,0 +1,89 @@
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
struct WeatherData
{
string cityName;
int temperature;
int humidity;
int windSpeed;
};
bool readWeatherData(const string& filename, vector<WeatherData>& data)
{
ifstream File;
File.open(filename);
if(File.is_open())
{
string line;
char ws;
while (getline(File, line))
{
istringstream iss(line);
WeatherData weather;
if (getline(iss, weather.cityName, ',') &&
(iss >> weather.temperature >> ws >> weather.humidity >> ws >> weather.windSpeed))
{
data.push_back(weather);
}
}
}
else
{
cout << "无法打开文件 " << filename << endl;
return false;
}
File.close();
return true;
}
void findAndDisplayWeather(const string& cityName, const vector<WeatherData>& data)
{
bool found = false;
for (const auto& weather : data)
{
if (weather.cityName == cityName)
{
found = true;
cout << cityName << "的天气数据为:温度" << weather.temperature
<< ", 湿度" << weather.humidity
<< ", 风速" << weather.windSpeed << endl;
return;
}
}
if (!found)
{
cout << "未找到城市 " << cityName << " 的天气数据。" << endl;
}
}
int main()
{
string filename;
cout << "请输入文件名:";
cin >> filename;
string cityName;
cout << "请输入要检索的城市名:";
cin >> cityName;
vector<WeatherData> weatherData;
if (!readWeatherData(filename, weatherData))
{
return 1;
}
findAndDisplayWeather(cityName, weatherData);
return 0;
}
Loading…
Cancel
Save