计算文件中偶数行的数量

时间:2014-04-23 07:37:06

标签: c++ string file

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

using namespace std;

int main()
{

    ifstream plik;

    plik.open("napisy.txt");
    int nr_line=0;
    string line;
    int ile_parzystych=0;


    cout << "Podpunkt a)=:"<< endl;

    if(plik.good()==false){
        cout << "wrong read of file!"<<endl;
    }

    while(getline(plik,line))
    {
        if( line.length() / 2 == 0) 
        {   

        ile_parzystych++; 
            if(nr_line==1)
            {cout << "to jest pierrwsza linia - jest ona nieparzysta a więc licznik = " << ile_parzystych << endl;}
            if(nr_line==2)
            {cout << "to jest druga linia - jest ona parzysta a więc licznik = " << ile_parzystych << endl;}
        }
    }
    plik.close();
    cout << endl <<  ile_parzystych << " <- Tyle jest linii parzystych";

    }

问题是我只有这个输出:

  

cout&lt;&lt; &#34; Podpunkt a)=:&#34;&lt;&lt; ENDL;

所以它显示Podpunkt a)=:

  

cout&lt;&lt; endl&lt;&lt; ile_parzystych&lt;&lt; &#34; &lt; - Tyle jest linii parzystych&#34 ;; 0&lt; - Tyl jest linii parzystych

我不知道为什么不算数。

3 个答案:

答案 0 :(得分:1)

对于整个程序,

nr_line保持为0,因此您的循环永远不会进入两个if条件

if (nr_line == 1)

if (nr_line == 2)

答案 1 :(得分:1)

看起来你需要每行增加nr_line? 这样,nr_line永远不会是0。

答案 2 :(得分:0)

由于nr_line的变量始终为0,因此您不对其执行任何操作。 所以if(nr_line==1)if(nr_line==2)从未匹配。