Advertisement
MeehoweCK

Untitled

Apr 10th, 2021
866
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.78 KB | None | 0 0
  1. // Zadanie 1.
  2. #include <iostream>
  3. #include <conio.h>
  4.  
  5. using namespace std;
  6.  
  7. class Tekst
  8. {
  9.     char znaki[100];
  10.     unsigned ile;
  11. public:
  12.     Tekst();
  13.     Tekst(char, unsigned);
  14.     Tekst(string);
  15.     void zastap(char, char);
  16.     void monitor() const;
  17. };
  18.  
  19. Tekst::Tekst() : ile(100)
  20. {
  21.     for(unsigned i = 0; i < 100; ++i)
  22.         znaki[i] = 'x';
  23. }
  24.  
  25. Tekst::Tekst(char znak_wzorcowy, unsigned liczba_powtorzen) : ile(liczba_powtorzen)
  26. {
  27.     for(unsigned i = 0; i < liczba_powtorzen; ++i)
  28.         znaki[i] = znak_wzorcowy;
  29. }
  30.  
  31. Tekst::Tekst(string tablica)
  32. {
  33.     ile = tablica.size();
  34.     for(unsigned i = 0; i < ile; ++i)
  35.         znaki[i] = tablica[i];
  36. }
  37.  
  38. void Tekst::zastap(char znak_1, char znak_2)
  39. {
  40.     for(unsigned i = 0; i < ile; ++i)
  41.         if(znaki[i] == znak_1)
  42.             znaki[i] = znak_2;
  43. }
  44.  
  45. void Tekst::monitor() const
  46. {
  47.     for(unsigned i = 0; i < ile; ++i)
  48.         cout << znaki[i];
  49. }
  50.  
  51. int main()
  52. {
  53.     cout << "Wybierz sposob tworzenia obiektu:\n";
  54.     cout << "\t1 - konstruktor bezargumentowy\n";
  55.     cout << "\t2 - konstruktor dwuargumentowy\n";
  56.     cout << "\t3 - konstruktor jednoargumentowy\n";
  57.     char komenda, znak, znak1;
  58.     unsigned liczba;
  59.     string tablica;
  60.     do
  61.     {
  62.         komenda = _getch();
  63.     }
  64.     while(komenda < '1' || komenda > '3');
  65.  
  66.     Tekst* tekst;
  67.  
  68.     if(komenda == '1')
  69.         tekst = new Tekst;
  70.     else if(komenda == '2')
  71.     {
  72.         cout << "Podaj znak wzorcowy: ";
  73.         znak = _getch();
  74.         cout << znak << endl;
  75.         cout << "Podaj liczbe powtorzen: ";
  76.         cin >> liczba;
  77.         tekst = new Tekst(znak, liczba);
  78.     }
  79.     else
  80.     {
  81.         cout << "Podaj ciag znakow do wczytania: ";
  82.         cin >> tablica;
  83.         tekst = new Tekst(tablica);
  84.     }
  85.  
  86.     bool flaga = true;
  87.  
  88.     while(flaga)
  89.     {
  90.         cout << "\nCo chcesz zrobic?\n";
  91.         cout << "\t1 - uruchom funkcje monitor\n";
  92.         cout << "\t2 - uruchom funkcje zastap\n";
  93.         cout << "\t3 - wyjdz z programu\n";
  94.  
  95.         do
  96.         {
  97.             komenda = _getch();
  98.         }
  99.         while(komenda < '1' || komenda > '3');
  100.  
  101.         switch(komenda)
  102.         {
  103.         case '1':
  104.             tekst->monitor();
  105.             break;
  106.         case '2':
  107.             cout << "Podaj znak, ktory chcesz zastapic: ";
  108.                  znak = _getch();
  109.             cout << znak << endl;
  110.             cout << "Podaj znak, ktory chcesz wstawic do tekstu: ";
  111.             znak1 = _getch();
  112.             cout << znak1 << endl;
  113.             tekst->zastap(znak, znak1);
  114.             break;
  115.         case '3':
  116.             cout << "Nastapi wyjscie z programu. Wcisnij dowolny przycisk, aby zakonczyc... ";
  117.             _getch();
  118.             flaga = false;
  119.         }
  120.     }
  121.     delete tekst;
  122.  
  123.     return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement