如何只读取C ++中的文本文件中的数字

时间:2018-02-12 21:13:42

标签: c++ loops average

我试图从一个看起来像这样的文件中读取每个月的平均降雨量:

1月3日3月2日1.2 3月2.2

8月2.3日9月2.4

我需要接受前3个数字并获得它们的平均值以及输出第3个月(3月)。我目前有这个代码:

#include <fstream>

#include <string>

using namespace std;

int main()    
{    
    ifstream inputFile;
    string name;
    double num = 0, many = 0, total = 0, value = 0;

    inputFile.open("Rainfall.txt");


    for (int count = 1; count <= 6; count++)
    {
        inputFile >> name;

        if (count == 1 || count == 3 || count == 5)
        {               
            continue;    
        }

        name += total;    
        cout << name << endl;     
    }

    for (int inches = 1; inches <= 6; inches++)
    {
        inputFile >> name;

        if (inches == 1 || inches == 3 || inches == 5)
        {
            continue;
        }

        cout << name << endl;
    }

    inputFile.close();          
    return 0;
}

输出结果如下:

3.2
1.2
2.2
2.3
2.4
2.4

现在我无法添加前3个数字,因为它们是字符串,我需要它们是双打。

1 个答案:

答案 0 :(得分:4)

如果格式name number一致,您可以通过以下方式阅读:

std::string name;
double number = 0, total = 0;

while(inputFile >> name >> number)
{
    cout << name << ' ' << number << '\n';
    total += number;
}