soulrpg

obiektowe1_2

Oct 14th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.46 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6. class Tekst{
  7. private:
  8.     char znaki[100];
  9.     int ile;
  10. public:
  11.     Tekst(){
  12.         for(int i = 0; i < 100; i++)
  13.         {
  14.             znaki[i] = 'x';
  15.         }
  16.         ile = 100;
  17.     }
  18.     Tekst(char znak_wzorcowy, int liczba_powtorzen){
  19.         for(int i = 0; i < liczba_powtorzen; i++)
  20.         {
  21.             znaki[i] = znak_wzorcowy;
  22.         }
  23.         ile = liczba_powtorzen;
  24.     }
  25.     Tekst(char* tekst){
  26.         int dlugosc = sizeof(tekst)/sizeof(tekst[0]);
  27.         for(int i = 0; i < dlugosc; i++)
  28.         {
  29.             znaki[i] = tekst[i];
  30.         }
  31.         ile = dlugosc;
  32.     }
  33.     void monitor(){
  34.         for(int i = 0; i < ile; i++)
  35.         {
  36.             cout << znaki[i];
  37.         }
  38.         cout << endl;
  39.     }
  40.     void zastap(char znak1, char znak2){
  41.         for(int i = 0; i < ile; i++)
  42.         {
  43.             if(znaki[i] == znak1)
  44.             {
  45.                 znaki[i] = znak2;
  46.             }
  47.         }
  48.     }
  49. };
  50.  
  51. int main()
  52. {
  53.     Tekst t1;
  54.     int wybor;
  55.     bool wyjscie = false;
  56.     cout << "Podaj sposob utworzenia obiektu: " << endl;
  57.     cout << "1) Bez argumentow, 2) Dwa argumenty, 3) Jeden argument: ";
  58.     cin >> wybor;
  59.     switch(wybor)
  60.     {
  61.     case 1:
  62.         {
  63.             t1 = Tekst();
  64.             break;
  65.         }
  66.     case 2:
  67.         {
  68.             char znak;
  69.             int dlugosc;
  70.             cout << "Podaj znak wzorcowy: ";
  71.             cin >> znak;
  72.             cout << "Podaj dlugosc: ";
  73.             cin >> dlugosc;
  74.             t1 = Tekst(znak, dlugosc);
  75.             break;
  76.         }
  77.     case 3:
  78.         {
  79.             char tekst[100];
  80.             cout << "Podaj tekst (mniej niz 100 znakow): ";
  81.             cin >> tekst;
  82.             t1 = Tekst(tekst);
  83.             break;
  84.         }
  85.     }
  86.     while(wyjscie == false)
  87.     {
  88.         cout << "1) Zamien znak, 2) Wyswietl, Inny znak - wyjdz: ";
  89.         cin >> wybor;
  90.         switch(wybor)
  91.         {
  92.         case 1:
  93.             {
  94.                 char zamieniany;
  95.                 char na;
  96.                 cout << "Zamieniany znak: ";
  97.                 cin >> zamieniany;
  98.                 cout << "Na znak: ";
  99.                 cin >> na;
  100.                 t1.zastap(zamieniany, na);
  101.                 break;
  102.             }
  103.         case 2:
  104.             t1.monitor();
  105.             break;
  106.         default:
  107.             wyjscie = true;
  108.         }
  109.     }
  110.     system("PAUSE");
  111.     return 0;
  112. }
Add Comment
Please, Sign In to add comment