2015-06-29 31 views
0

我正在學習一個C++類,並被要求編寫一個從文件中讀取整數的程序。 第一個請求是輸出一行 中的所有整數,第二個請求是輸出整數的平均值 我嘗試了書中所寫的內容,當我試圖找出總和或平均值時,輸出的數字不只是總數 如何解決這個問題?我想要最簡單的代碼可能,我不想要什麼,我們沒有采取類但C++輸出總和/平均值的問題

#include <iostream> 
     #include <string> 
     #include <iomanip> 
     #include <fstream> 

     using namespace std; 

      ifstream infile; 
      ofstream outfile; 

    int main() 
{ 
    int num; 

    ifstream infile; 
    ofstream outfile; 


    outfile.open("Answer.txt"); 
    infile.open("DataFile2.txt"); 

    infile >> num; 

    while (infile) 
    { 
     outfile << num << " "; 
     infile >> num; 
    } 
    infile.close(); 


    infile.open("DataFile2.txt"); 



    int sum = 0; 
    while (infile) 
    { 
     double avg; 
     infile >> num; 
     sum = sum + num; 
     avg = sum/14; 
     cout << endl << sum << avg; 
     } 



} 

回答

0

你的代碼有很多錯誤。
你應該在while循環之外聲明avg變量。
此外,您應該計算平均值並在while循環完成循環後打印它。
另外,你將總和除以14(不變),因爲你不知道文件中有多少個整數。

代碼應該是這個樣子:

int sum = 0; 
double avg; 

while (infile) {  
    infile >> num; 
    sum = sum + num;  
} 

avg = sum/14; 
cout << endl << sum << avg; 
+0

以及我說是新來的C++,我幾乎什麼都不知道:P 日Thnx的快速解答您的代碼工作正常 日Thnx很多 但我注意到奇怪的東西 當我手動做的文件中的整數 的總和它顯示我不同的數量比正在編譯器 cout有什麼想法嗎? –

+0

它看起來像是將最後一個數字加到總和的兩倍 –