ola pessoal, estou a começar em C++ e gostaria de que alguém me ajudasse neste codigo,  pois não consigo fazer que o contador incremente as linhas em branco.  desde já obrigado   #include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
// le_bloco (istream& in, string& bloco) 
bool e_linha (string& bloco) {
     return bloco.size() >= 1 && bloco.find('\n') == bloco.size() - 1;
}
bool e_linha_em_branco (string& bloco) {
     bool em_branco = true;
     for (int i = 0;  i < bloco.size(); i++) {
         if (!isspace(bloco[i])) {
            em_branco = false;
            break;
         }
     }
     return em_branco && e_linha(bloco);
}
bool e_titulo (string& linha) {
     
     return (linha.size()>=2  &&  linha[0]=='!'  &&  linha[linha.size()-1]=='!' && e_linha_em_branco(linha));
}
bool e_capitulo (string& linha) {
     
     return (linha.size()>=1 && linha[0]=='#');
}
bool e_seccao (string& linha) {
     return (linha.size()>=2 && linha[0]=='#' && linha[1]=='#');
}
bool e_subseccao (string& linha) {
      return (linha.size()>=3 && linha[0]=='#' && linha[1]=='#' && linha[2]=='#');
}
bool e_ul (string& linha) {
     
     return (linha[0]=='-' && linha[1]==' ');
}
//bool e_ul_li (string& linha) {
//     
//     return (e_ul());
//}
void le_bloco (string& bloco) {
   string linha;
    while (getline(cin, linha)) {
          linha = linha + '\n';
          if (e_linha_em_branco(linha)) {
             break;
          }
          bloco += linha;
   }
}
int main()
{
    string linha="";
    //string bloco = "";
//
//    le_bloco(bloco);
//    cout << "-->\n";
//    cout << bloco << endl;
//    cout << "<--\n";  
//  
//
//    cout << "e linha:      " << e_linha(bloco) << endl;
//    cout << "linha branco: " << e_linha_em_branco(bloco) << endl;
   
    if ( !cin.eof())  {
          while (getline(cin, linha)) {
          
          if (e_titulo(linha))  {
             cout <<"<title>" <<linha.substr(1, linha.size()-2) <<"</title>\n";
          }
          else if (e_subseccao(linha))  {
               cout <<"<h3>" <<linha.substr(3) <<"</h3>\n";
          }
          else if (e_seccao(linha))  {
               cout <<"<h2>" <<linha.substr(2) <<"</h2>\n";
          }
          else if (e_capitulo(linha))  {
               cout <<"<h1>" <<linha.substr(1) <<"</h1>\n";
          }
          else if (e_ul(linha))  {
//               cout <<"<ul>\n";
//               for () {
//               }  
               cout <<"<li>" <<linha.substr(2) <<"</li>\n";
          } 
          else  {
              cout <<"OUTRA COISA QUALQUER.\n";
          }
          }
    }
                    //while (e_ul(linha))  {
//                     cout <<"<li>" <<linha.substr(2) <<"</li>\n";
//                     break;
//                    }
               
          
    system("PAUSE");
    return 0;
}