2013-04-21 65 views
0

我試圖編寫一個程序從控制檯讀取一個數字,然後從文件中讀取任意數量的數字。然後它應該打印出控制檯編號出現在從文件讀取的列表中的次數。我不知道如何做第二部分任何人都可以幫助我如何計算出現數字的次數。到目前爲止,我唯一的代碼是第一部分。將文件中的數字與控制檯輸入進行比較

我對第二部分的想法是這樣的:

while(!inputfile.eof){ 
    if(inputfilenumber == consolenumber){ 
     counter = counter + 1; 
    } 

,但我似乎無法付諸實踐,這是我不知道它是如何工作的。

+0

由於該循環中關於'inputfile'的狀態或位置沒有任何變化,所以我不認爲這件事很快就會結束。其次,幾乎在所有情況下都應避免使用'istream :: eof()',這也不例外。它不像你認爲的那樣行事。使用'while(inputfile >> inputfilenumber){if(...)}' – WhozCraig 2013-04-21 14:42:04

回答

0

示例代碼,您可以使用它作爲參考。

int input; 
int count = 0; 
cin>>input; 
ifstream myReadFile; 
myReadFile.open("text.txt"); 
char output[100]; 
if (myReadFile.is_open()) 
{ 
    while (!myReadFile.eof()) 
    {   
    myReadFile >> output; 
    int val = atoi(output); 
    if(val == input) 
     { 
      cout<<"found input"<<input; 
      count++; 
     } 

    } 
} 
cout<<"count ="<<count; 
myReadFile.close(); 
相關問題