你好傢伙,我希望你能啓發我與我面臨的這個問題!C++數據解析查詢
初始輸出: 示例文本文件如下,格式如下(項目說明:價格:數量:日期)。
- 稻草:10:10:11NOV1991
- 大麥:5.10:5:19OCT1923
- 巧克力:50:50:11NOV1991
我需要打印出的每日總結報告當天的總銷售額。根據上述樣本,結果將在1991年11月11日銷售總額(2項)將爲60,而在19OCT1923銷售總額(1項)將爲5.
預期產出:
- 11Nov1991銷售總金額:60
- 19Oct1923銷售總金額:5
我的問題是,如何生成的代碼只顯示一個總量獨特的日期的銷售?我創建了一個循環來檢查某年是否存在用於測試目的,但它不起作用。我希望它能夠遍歷一個文件,並檢查某年是否存在,如果它已存在,則具有相同年份的下一個向量元素將不會寫入文件,而只會添加項目價格。下面是我試圖實現的代碼。
ifstream readReport("DailyReport.txt");
ofstream writeDailyReport("EditedDailyReport.txt");
string temp1 = "";
//Read from empty report.txt
while(getline(readReport,temp1))
{
for(int i=0; i < itemDescVec.size(); i++)
{
stringstream streamYearSS;
streamYearSS << itemDescVec[i].dateYear;
string stringYear = streamYearSS.str();
size_t found1 = temp1.find(stringYear);
//If can find year
if (found1 != string::npos)
{
cout << "Can find" << endl;
}
//If cannot find year
else if (found1 == string::npos)
{
cout << "Cannot find" << endl;
writeDailyReport << itemDescVec[i].itemDescription << ":" << itemDescVec[i].unitPrice << ":"
<< itemDescVec[i].quantity << ":" << itemDescVec[i].dateDay << "/" << itemDescVec[i].dateMonth << "/" << itemDescVec[i].dateYear
<< endl;
}
}
}
readReport.close();
writeDailyReport.close();
remove("DailyReport.txt");
rename("EditedDailyReport.txt", "DailyReport.txt");
歡迎SO。您應該向我們展示您迄今爲止所嘗試的代碼以及您所面臨的問題。有關您編寫的代碼問題的問題必須在問題本身中描述具體問題 - 幷包含有效代碼以再現問題。請參閱SSCCE.org以獲取指導。 –
如果不知道到目前爲止確切的數據結構,這很難回答。所以我不能幫助,除非你顯示你當前的代碼。 – Nabla