include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; // 定义城市数据的结构体 struct CityData { int cityIndex; // 城市序号 string cityName; // 城市名称 double gdp; // 城市GDP总量 int population; // 城市常驻人口数 }; int main() { vector<CityData> cityDataList; // 存储城市数据的向量 // 打开文件 ifstream inputFile("gdp_data.txt"); if (!inputFile) { cout << "无法打开文件 gdp_data.txt" << endl; return 1; } // 读取文件数据并存储到结构体中 int cityIndex; string cityName; double gdp; int population; while (inputFile >> cityIndex >> cityName >> gdp >> population) { // 创建一个 CityData 结构体对象来存储当前行的数据 CityData cityData; // 将读取到的数据赋值给结构体的相应成员变量 cityData.cityIndex = cityIndex; cityData.cityName = cityName; cityData.gdp = gdp; cityData.population = population; // 将当前行的数据结构体添加到向量中 cityDataList.push_back(cityData); } // 关闭文件 inputFile.close(); // 输出城市数据 for (const auto& cityData : cityDataList) { cout << "城市序号: " << cityData.cityIndex << endl; cout << "城市名称: " << cityData.cityName << endl; cout << "城市GDP总量: " << cityData.gdp << endl; cout << "城市常驻人口数: " << cityData.population << endl; cout << "-----------------------------" << endl; } return 0;给出代码思路
时间: 2024-02-10 18:11:12 浏览: 120
使用include <iostream>时一定要加using namespace std
这段代码的主要功能是读取一个名为"gdp_data.txt"的文件,该文件包含了一些城市的数据,包括城市序号、城市名称、城市GDP总量和城市常驻人口数。代码的实现过程如下:
1. 定义一个名为CityData的结构体,用来存储城市数据,包括城市序号、城市名称、城市GDP总量和城市常驻人口数。
2. 创建一个名为cityDataList的向量,用来存储所有城市数据的结构体。
3. 打开名为"gdp_data.txt"的文件,并判断是否成功打开。
4. 读取文件中的数据,并将其存储到一个CityData结构体对象中。
5. 将当前行的数据结构体添加到cityDataList向量中。
6. 关闭文件。
7. 遍历cityDataList向量,输出每个城市的数据。
整个代码的主要目的是读取并处理文件中的数据,然后将结果输出到屏幕上。
阅读全文