Ir para conteúdo
Fórum Script Brasil

joka73

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por joka73

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

×
×
  • Criar Novo...