读取文本文件中的多行并写入另一个文本文件

时间:2016-04-21 10:15:49

标签: c++ if-statement while-loop io fstream

这是我的 scores.txt 文件

R v 3.2.5

这是5个板球运动员比赛的详情

以上细节的结构:

在文本文件中,第一列代表7-overs,2-maiden,11-run,4-wickets。

我想在文本文件中获得五个保龄球(计数列),并在终端中获得保龄球和打印/显示的平均值(第三列值除以第四列)。

如下所示:

7 2 11 4
9 1 30 3
5 3 20 3
10 1 10 2
5 0 50 0

上面的文件有六个保龄球,但最后一个重复。我尝试修复它只有五次因为scores.txt文件有五行。

这是我的代码

Bowler    Average
1         2.75
2         10
3         6.66
4         5
5         NA
6         NA

1 个答案:

答案 0 :(得分:1)

我认为你的问题是这一行

while(!scores.eof()){

当您阅读完最后一行时,scores.eof()false,您尝试阅读另一行,阅读失败(scores.eof()成为true),您不要不测试读数是否有错误,并且使用最后一行值的两倍。

我建议像

while( scores >> over >> maiden >> runs >> wickets ){
    avg = runs/float(wickets);