为什么我的文件在尝试编译时停止工作?

时间:2015-10-15 21:43:57

标签: c++ arrays

我正在尝试读取四列四行的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已经停止工作。为什么?我很困惑。

0 个答案:

没有答案