我有一個類似如下的文件:C++文件到矢量
C 0484758654 95
C 0428473483 121
T 0494569848
C 0494569848 121
//.. 30 or so more entries
我想每一個「人」(通過自己的手機號碼錶示)存儲到一個對象。我知道我需要一個結構來存儲這讓我用一個Vector:
using namespace std;
int main()
{
ifstream fin;
fin.open("test.txt");
vector<MonthlyPhoneBill> bill;
MonthlyPhoneBill temp;
while (fin >> temp.code>> temp.phoneNumber >> temp.data)
{
bill.push_back(temp);
}
for (const auto& temp : bill) {
cout << temp.code << ' ' << temp.phoneNumber << ' ' << temp.data << endl;
}
return 0;
}
類:
class MonthlyPhoneBill {
public:
MonthlyPhoneBill();
int data;
int phoneNumber;
std::string code;
int totalBill;
};
我有一對夫婦的問題然而,第一個問題是,當我將文件內容打印出來只打印第一行。
我的第二個問題是,我不知道現在怎麼樣,它的存儲在向量處理數據。例如,我想爲每個人計算帳單。我不知道如何訪問矢量的內容並做相應的計算。從個人檔案中可以多次出現,我不確定每次出現時如何增加總成本。
我敢肯定你的代碼只打印前兩行,而不是文件中的第一行。守望着文件,並試圖找出什麼是對三線不同,那麼記住這個座右銘:「你告訴它做什麼只有一臺計算機做的,而不是你想要它做的」。記住這個座右銘之後,問問自己:在閱讀每一行時,你告訴計算機做什麼?現在,就訪問矢量的內容而言,這在C++書中有詳細解釋。你的C++書中有哪些特定的東西不清楚? –