-4
我有一個C++問題。目前我有一個存儲以下數據的文本文件。我希望做一個簡單的程序,它將讀取數據並打印出最常見的項目顯示和數量。如何檢查文本文件中每個單詞的出現次數並顯示次數C++
我不希望設置固定數量的單詞構成的陣列通過該文件作爲該項目輸入到文本文件不被預定
以下是在數據的文本文件的結構來搜索
第四值是量和第二個值是項目名
文本文件:
1|Bag|2|3|6|20Apr2015
2|Fruit|2.3|5|11.5|20Aug2015
4|Water|0.9|5|4.5|20Jun2015
5|File|0.9|5|4.5|20Jul2015
6|Water|0.9|5|4.5|20Nov2015
7|Water|0.9|5|4.5|20May2015
8|Bag|0.9|5|4.5|20Jan2015
9|Water|0.9|5|4.5|20Feb2015
10|Water|0.9|5|4.5|20Jan2015
11|Water|0.9|5|4.5|20Dec2015
12|File|0.9|5|4.5|20Oct2015
13|Water|0.9|5|4.5|20Sep2015
14|Water|0.9|5|4.5|20Sep2015
所需的輸出:
最常見的項目是水和40銷往
頻率最低的項目是水果和5銷往
這裏是我當前編碼
void computeItem()
{
string itemid;
float totalprice;
string item[4] ={"Water","Bag","Fruit","File"};
int itemqty[4]={};
int founditem;
int foundyear;
string year;
string found;
cout<<endl;
for(int i = 0; i < MAX- 1; i++)
{
if(transactionpile[i].itemid !="")
{
for(int k=0; k<4;k++)
{
founditem = transactionpile[i].itemdesc.find(item[k]);
if(foundmonth<transactionpile[i].itemdesc.length())
{
//Add the totalprice of each found records to totalsalesmonth[k]
itemqty[k] += transactionpile[i].quantity;
}
}
}
}
}
//Print out the output
for(int i=0; i<4; i++)
{
cout << " " << item[i] << " " << << itemqty[i] <<endl;
}
}
我試圖搜索數組中預定義的單詞來循環遍歷文本文件並捕獲數量,但我無法比較diff項目的數量,但這不是我想要的。所以希望有人能給我一些啓發。非常感謝 –
發佈你試過的代碼 – user7
我已經添加了我現在在我的文章中的當前代碼 –