Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

lekcja 28 problem z zadaniem

Ostatnio zmodyfikowano 2013-06-03 18:21
Autor Wiadomość
IaTeXik
Temat założony przez niniejszego użytkownika
lekcja 28 problem z zadaniem
» 2013-06-03 16:33:06
C/C++
#include <iostream>
#include <string>
using namespace std;

string konwertuj( string & tekst )
{
    string znak1 = "  ";
    string znak2 = "<b>";
    string znak3 = "</b>";
    size_t pozycja1 = znak1.find( znak1 );
    size_t pozycja2 = znak2.find( znak2 );
    size_t pozycja3 = znak3.find( znak3 );
    cout << "przed petla" << endl;
    int i = 0;
    do
    {
       
        cout << "pętla " << i << endl;
        if( pozycja1 != string::npos )
        {
            tekst = tekst.erase( pozycja1, 1 );
            pozycja1 = tekst.find( znak1, pozycja1 );
        }
       
        if( pozycja2 != string::npos )
        {
            tekst = tekst.erase( pozycja2, 3 );
            tekst = tekst.insert( pozycja2, "[b]" );
            pozycja2 = tekst.find( znak2, pozycja2 + znak2.size() );
            cout << "po 2" << endl << tekst << endl;
        }
       
        if( pozycja3 != string::npos )
        {
            tekst = tekst.erase( pozycja3, 4 );
            tekst = tekst.insert( pozycja3, "[/b]" );
            pozycja3 = tekst.find( znak3, pozycja3 + znak3.size() );
            cout << "po 3" << endl << tekst << endl;
        }
        i++;
       
       
       
    } while(( pozycja1 != string::npos ) ||( pozycja2 != string::npos ) ||( pozycja3 != string::npos ) );
   
   
   
    return tekst;
}
int main()
{
    string tekst = "<b>to jest </b> testowy        napis     :)";
    cout << konwertuj( tekst ) << endl;
    return 0;
}
A więc...Mój problem polega na tym ze w funkcji konwertuj podczas 2-if <b> zamieniam na [b],ale nie wiem dlaczego podczas 3-if [b] jest zamieniane na [/b]. koncowy wynik to: [/b] jest [/b] testowy napis :)
Proszę o małą pomoc:)
P-84718
pekfos
» 2013-06-03 17:58:11
C/C++
size_t pozycja1 = znak1.find( znak1 );
size_t pozycja2 = znak2.find( znak2 );
size_t pozycja3 = znak3.find( znak3 );
Zwróć uwagę, gdzie i czego szukasz.
P-84730
IaTeXik
Temat założony przez niniejszego użytkownika
» 2013-06-03 18:21:38
dzięki wielkie,działa
P-84739
« 1 »
  Strona 1 z 1