我剛剛完成將數據從文本文件讀入單維數組。我的「for」語句不是從數組中輸出數據。我想輸出整個數組只是爲了驗證所有數據都在那裏。但是,當我輸出一個單獨的單元格時,數據會出現在屏幕上。我究竟做錯了什麼?提前致謝!當到達輸出一維數組中的所有數據
for (count = 0; count < MAX_CELLS; count++) {
cout << "Array #" << count << "is: "; // OUTPUT ARRAY
cout << Vehicles[count] << endl;
}
在前面的循環中,您爲每條記錄遞增count
所以它已經被設置爲最後記錄的索引:
#include <iostream>
#include <fstream>
#include <iomanip>
int main()
{
const int MAX_CELLS = 500;
int count = 0;
double Vehicles[MAX_CELLS];
ifstream vehicleFile;
char type;
string license;
double charge;
vehicleFile.open ("VEHICLE.txt");
if (!vehicleFile)
cout << "Error opening vehicle file " << endl;
vehicleFile >> type >> license ; // priming read
while (vehicleFile) { // while the read was successful
cout << count << " " << license << endl; // FOR DISPLAY ONLY
vehicleFile >> Vehicles[count]; // read into array
count++; // increment count
vehicleFile >> type >> license; // read next line
}
cout << showpoint << fixed << setprecision(2);
for (count; count < MAX_CELLS; count++) {
cout << "Array #" << count << "is: "; // OUTPUT ARRAY
cout << Vehicles[count] << endl;
}
cout << Vehicles[8]; // READS DATA IN CELL
vehicleFile.close();
system ("pause");
return 0;
}
Shafik,謝謝你的迴應,這很有道理。但是,由於某種原因,該程序正在崩潰。 – llSpectrell 2013-03-14 02:23:52
你剛回答我的問題!我在刷新屏幕之前發佈了它。謝謝,我真的很感激! – llSpectrell 2013-03-14 02:27:06
@llSpectrell對**檢查非常謹慎。你已經有一個常量來決定數組的大小。這是確保您保持在陣列範圍內的最安全的方式。 – 2013-03-14 02:34:34