Advertisement
dikabosnjak

tekst klase

May 26th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. /*Realizovati klasu Text koja će predstavljati dinamičke znakovne
  2. nizove nad kojima je moguće izvršiti sljedeće operacije:
  3. izračunavanje dužine znakovnog niza, čitanje i zamjenu zadatog
  4. karaktera u nizu. Konstruisati odgovarajuće konstruktore i
  5. destruktore za datu klasu.*/
  6. #include<iostream>
  7. #include<cstring>
  8. using namespace std;
  9.  
  10. class tekst{
  11.     char *p;
  12.     public:
  13.         tekst(){
  14.             p=0;
  15.         }
  16.         tekst(const char *);
  17.         ~tekst();
  18.         int tekst_duzina();
  19.         int citanje_pozicije(int);
  20.         char zamjena(int, char);
  21.         void ispis_teksta();
  22. };
  23. tekst::tekst(const char *m){
  24.     p=new char[strlen(m)+1];
  25.     strcpy(p, m);
  26. }
  27. int tekst::tekst_duzina(){
  28.     return strlen(p);
  29. }
  30. int tekst::citanje_pozicije(int a){
  31.     return p[a];
  32. }
  33. char tekst::zamjena(int a, char slovo){
  34.     p[a]=slovo;
  35. }
  36. void tekst::ispis_teksta(){
  37.     while(*p){
  38.         cout<<*p++;
  39.     }
  40. }
  41. tekst::~tekst(){
  42.     delete []p;
  43.     p=0;
  44. }
  45.  
  46. int main(){
  47.     char recenica[20];
  48.     cout<<"Unesite recenicu: ";
  49.     cin.getline(recenica, 20);
  50.     char *p=new char[20];
  51.     p=recenica;
  52.     tekst t(p);
  53.     cout<<"Unesite poziciju na kojoj zelite zamijeniti karakter: ";
  54.     int pozicija;
  55.     cin>>pozicija;
  56.     t.citanje_pozicije(pozicija);
  57.     cout<<"Unesite karakter kojim mijenjate ovaj: ";
  58.     char k;
  59.     cin>>k;
  60.     t.zamjena(pozicija, k);
  61.     cout<<"Tekst je dug:"<<t.tekst_duzina();
  62.     cout<<endl<<"i glasi: ";
  63.     t.ispis_teksta();
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement