Guest User

Untitled

a guest
May 24th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.29 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class String
  5. {
  6.     public:
  7.         char kette[80];
  8.         int laenge;
  9.  
  10.     String()
  11.     {
  12.         for(int i=0;i<80;i++)
  13.         {
  14.             kette[i] = '\0';
  15.         }
  16.                
  17.         laenge=0;
  18.     }
  19.  
  20.     String(char* string)
  21.     {
  22.         laenge=0;
  23.        
  24.         for(int i=0;i<80;i++)
  25.         {
  26.             kette[i] = '\0';
  27.         }
  28.                    
  29.         for(int i=0;string[i];i++)
  30.         {
  31.             kette[i] = string[i];
  32.             laenge++;
  33.         }
  34.     }
  35.            
  36.  
  37.     char* print()
  38.     {
  39.         return kette;
  40.     }
  41.  
  42. };
  43.  
  44. bool operator==(String b, String c)
  45. {
  46.     int counter=0,counter2=0;
  47.  
  48.     for(counter2;b.kette[counter2];counter2++)
  49.     {
  50.         if (b.kette[counter2] == c.kette[counter2])
  51.         {
  52.             ++counter;
  53.         }
  54.     }
  55.  
  56.     if(counter==counter2)
  57.     {
  58.         return true;
  59.     }
  60.    
  61.     else return false;
  62. }
  63.  
  64. bool operator!=(String b, String c)
  65. {
  66.     int counter=0,counter2=0;
  67.  
  68.     for(counter2;b.kette[counter2];counter2++)
  69.     {
  70.         if (b.kette[counter2] == c.kette[counter2])
  71.         {
  72.             ++counter;
  73.         }
  74.     }
  75.  
  76.     if(counter==counter2)
  77.     {
  78.         return false;
  79.     }
  80.    
  81.     else return true;
  82. }
  83.  
  84. bool operator+(String &b, String c)
  85. {
  86.     for(int i=0; b.laenge<80; i++)
  87.     {
  88.         b.kette[b.laenge] = c.kette[i];
  89.         b.laenge++;
  90.     }
  91.  
  92.     return true;
  93. }
  94.  
  95. bool operator-(String &c, char zeichen)
  96. {
  97.     int buffer=c.laenge;
  98.     for(int i=0; i<c.laenge; i++)
  99.     {
  100.         if(c.kette[i] == zeichen)
  101.         {
  102.             c.kette[i] = '\0';
  103.         }
  104.     }
  105.      
  106.     for(int i=0; i<buffer;i++)
  107.     {
  108.         if(c.kette[i] == '\0')
  109.         {
  110.             for(int j=i;j<buffer+1-i;j++)
  111.             {
  112.                 c.kette[j] = c.kette[j+1];        
  113.             }
  114.         }
  115.     }
  116.              
  117.     return true;
  118. }
  119.  
  120.              
  121.  
  122.  
  123. int main()
  124. {
  125.     char zeichen;
  126.     char string1[80];
  127.     char string2[80];
  128.    
  129.     cout << "String 1 eingeben!";
  130.     cin >> string1;
  131.     String b=string1;
  132.    
  133.     cout << "String 2 eingeben";
  134.     cin >> string2;
  135.     String c=string2;
  136.    
  137.     cout << "Geben sie das zu entfernende Zeichen ein!";
  138.         cin >> zeichen;
  139.    
  140.     cout << "Ihre Strings lauten: ";
  141.     cout << b.print() << endl;
  142.     cout << c.print() << endl;
  143.    
  144.     cout << "Diese Strings sind ";
  145.     if(b==c) {cout << "gleich!" << endl;}
  146.     if(b!=c) {cout << "nicht gleich!"<< endl;}
  147.    
  148.     cout << "Wenn wir diese beiden Strings zusammenführen erhalten wir: ";
  149.     b+c;
  150.     cout << b.print() << endl;
  151.    
  152.     cout << "Wenn wir das eingegeben Zeichen aus String 2 entfernen, erhalten wir: ";
  153.     c-zeichen;
  154.     cout << c.print() << endl;
  155.     return 0;
  156. }
Add Comment
Please, Sign In to add comment