2013-01-09 204 views
0

我的程序有問題,我需要寫入文件來說明每個玩家在5天內玩過多少遊戲,這裏是我的txt文件:第一行的第一個數字是他們玩了多少天,第一個數字從第2行至第5行是他們中的每一行多少天打,對方號碼是他們在這些日子裏多少場比賽:for循環的問題

5 
5 3 2 3 1 2 
3 6 2 4 
4 2 2 1 2 
3 3 3 3 
2 3 4 

這裏是我的程序:

#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{ 
    int programuotojai,programos; 
    ifstream fin ("duomenys.txt"); 
    fin >> programuotojai; //players 

    for(int i = 1; i <= 6; i++){ 
    fin >> programos; //games played 
    cout << programos; 
} 
} 

你能幫忙我寫這個程序到最後,謝謝。

+6

最好把英語中的示例源代碼名稱看這裏。 –

+0

你應該讀取所​​有的文件並將其數據存儲在某處(可能使用'std :: vector'-s),然後進行計算,然後輸出結果。 –

+0

第一行顯示相關日期的數量嗎?然後每個新行都是一個人的統計數據:玩家玩遊戲的天數(在相關天數之內)......接下來是他們每天玩的遊戲數量? – HvS

回答

1

閱讀玩過的遊戲數量後,您需要自己閱讀遊戲。喜歡的東西:

#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{ 
    int programuotojai,programos; 
    ifstream fin ("duomenys.txt"); 
    fin >> programuotojai; //players 

    for(int i = 1; i <= programuotojai; i++){ 
    fin >> programos; //games played 
    cout << programos; 
    for (int j=0;j<programos;++j) { 
     int day; 
     fin>>day; 
     // ..... do some fancy stuff 
    } 
} 
} 

還可以使用programuotojai,而不是常量6的(如果我得到正確的代碼)。

我不會寫完整的程序,但在我看來,你必須在每行上總結數字。

0

我認爲這可能是你在找什麼:

#include <iostream> 
#include <fstream> 

using namespace std; 

int main() 
{ 
    int players, daysPlayed, totalPlayed; 

    ifstream fin ("duomenys.txt"); 
    fin >> players; // number of players. 

    for(int playerCount = 1; playerCount <= players; playerCount++) { 
     totalPlayed = 0; 
     fin >> daysPlayed; // number of days a player played games. 

     for (int dayCount = 1; dayCount <= daysPlayed; dayCount++) { 
      int daysGameCount; 
      fin >> daysGameCount; // amount of games a player played on each day. 
      totalPlayed += daysGameCount; 
     } 
     cout << totalPlayed << endl; 
     // ... do whatever you want with the result 
    } 
}