我正在尝试读取四列四行的excel文件。首先是城市。其次是国家。第三是纬度。第四是经度。我能够最终正确阅读它们并将它们存储到变量中,这要归功于我的另一篇文章。然后,我必须计算那些纬度和经度之间的距离以及另外两个。现在,我试图将距离放入一个数组中,这样我就可以在循环之外访问我想要的任何索引。这就是我所拥有的:
while (!inFile.eof()) {
getline(inFile, city, ',');
getline(inFile, country, ',');
getline(inFile, lat, ',');
inFile >> lon;
//Converts string latitude and longitude to int to be able to use later
double latitude;
istringstream convert(lat);
if (!(convert >> latitude)) {
latitude = 0;
}//else do nothing, initializing not needed
double longitude;
istringstream convert1(lon);
if (!(convert1 >> longitude)) {
longitude = 0;
}//else do nothing, initializing not needed
City d1;
distanceArray[i] = d1.greatCircleDistance(latitude, longitude, lat1, lon1);
//Display great distance for all cities
cout << "Great distance between " << city << " and random city is " << d1.greatCircleDistance(latitude, longitude, lat1, lon1) << endl;
i++;
}
cout << distanceArray[1] << endl;
我试图将lat1,lat 2和经度之间的距离,纬度设置为distanceArray,以便在我放置cout << distanceArray[1]
后的循环之后,它给出了第二个距离。
但是当我编译它时,它告诉我h.exe已经停止工作。为什么?我很困惑。