0

我的程序有问题,我需要写入文件每个玩家在 5 天内玩了多少游戏,这是我的 txt 文件:第一行的第一个数字是他们玩了多少天,第 2 行到第 5 行的第一个数字是他们玩了多少天,每行中的其他数字是他们这些天玩了多少游戏:

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;
 } 
 }

你能帮我把这个程序写到最后吗,谢谢。

4

2 回答 2

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(如果我正确获取代码)。

我不会编写完整的程序,但在我看来,您必须对每一行的数字求和。

于 2013-01-09T14:03:10.260 回答
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
    }
}
于 2013-01-09T14:54:22.827 回答