Zeichenketten

24.04.2017 09:30 Uhr

Stufe 1

#include 

using namespace std;
#include "zeichenkette1.h"

int main() {


	ClZeichenkette zk1 = "abcdefg", zk2 = "hijklmn", zk3;

	zk3.verbinde(zk1,zk2);

	cout << zk1.kette() << " ist " << zk1.anzahl() << " Zeichen lang." << endl;
	cout << zk2.kette() << " ist " << zk2.anzahl() << " Zeichen lang." << endl;
	cout << zk3.kette() << " ist " << zk3.anzahl() << " Zeichen lang." << endl;
}

Stufe 2

#include 

using namespace std;
#include "zeichenkette2.h"

int main(){

	ClZeichenkette zk1 = "abcdefg", zk2 = "hijklmn", zk3;

	zk3.verbinde(zk1,zk2);

	cout << zk1.kette() << " ist " << zk1.anzahl() << " Zeichen lang." << endl;
	cout << zk2.kette() << " ist " << zk2.anzahl() << " Zeichen lang." << endl;
	cout << zk3.kette() << " ist " << zk3.anzahl() << " Zeichen lang." << endl;
}

Stufe 3

#include 

using namespace std;
#include "zeichenkette3.h"

int main(){

	ClZeichenkette zk1 = "abcdefg", zk2 = "hijklmn", zk3;

	zk3 = zk1 + zk2;

	cout << zk1 << " ist " << zk1.anzahl() << " Zeichen lang." << endl;
	cout << zk2 << " ist " << zk2.anzahl() << " Zeichen lang." << endl;
	cout << zk3 << " ist " << zk3.anzahl() << " Zeichen lang." << endl;
}

Stufe 4

#include 

using namespace std;
#include "zeichenkette4.h"

int main(){

	ClZeichenkette zk1, zk2, zk3;

	cout << "Bitte geben Sie eine beliebig lange erste Zeichenkette ein:"; cin >> zk1;
	cout << "Bitte geben Sie eine beliebig lange zweite Zeichenkette ein:"; cin >> zk2;

	zk3 = zk1 + zk2;

	/* Soll so implementiert werden, dass '+' als 'Verkettung' definiert ist.
	   D.h.: Aus den Ketten 'abc' + 'def' wird: 'abcdef' */

	cout << zk1 << " + " << zk2 << " = " << zk3 << endl;
}

Stufe 5

#include 

using namespace std;
#include "zeichenkette5.h"

int main(){

	ClZeichenkette zk1, zk2, zk3;

	cout << "Bitte geben Sie eine beliebig lange erste Zeichenkette ein:"; cin >> zk1;
	cout << "Bitte geben Sie eine beliebig lange zweite Zeichenkette ein:"; cin >> zk2;

	zk3 = zk1 + zk2;

	/* Soll so implementiert werden, dass '+' als 'Verkettung' definiert ist.
	   D.h.: Aus den Ketten 'abc' + 'def' wird: 'abcdef' */

	cout << zk1 << " + " << zk2 << " = " << zk3 << endl;
}

Stufe 6

#include 

using namespace std;
#include 

int main(){

	string zk1, zk2, zk3;

	cout << "Bitte geben Sie eine beliebig lange erste Zeichenkette ein:"; cin >> zk1;
	cout << "Bitte geben Sie eine beliebig lange zweite Zeichenkette ein:"; cin >> zk2;

	zk3 = zk1 + zk2;

	cout << zk1 << " + " << zk2 << " = " << zk3 << endl;
}

Stufe 7

#include 

using namespace std;
#include 

int main(){
	string zk1 = "Das ist eine Zeichenkette";

	cout << "Untersuche: " << zk1 << endl;
	cout << "'eine' beginnt in der Kette an Position " << zk1.find("eine") << endl;
	cout << endl;

	string zk2 = "To be or not to be, that is the question";
	cout << "Untersuche: " << zk2 << endl;
	cout << "'be' laut find an Position " << zk2.find("be") << endl;
	cout << "'be' laut rfind an Position " << zk2.rfind("be") << endl;
	cout << endl;

	string zk3 = "Zeichen, nichts als Zeichen!";
	string vokale = "aeiou";

	cout << "Untersuche: " << zk3 << endl;
	cout << "find_first_of(vokale): " << zk3.find_first_of(vokale) << endl;
	cout << "find_last_of(vokale): " << zk3.find_last_of(vokale) << endl;
	cout << "find_first_not_of(vokale): " << zk3.find_first_not_of(vokale) << endl;
	cout << "find_last_not_of(vokale): " << zk3.find_last_not_of(vokale) << endl;
	cout << endl;
}

Stufe 8

#include 

using namespace std;

int main(){
	char *zk = "Ein Wort";

	cout << "Nonsense 1: " << zk[100];
}

Stufe 9

#include 

using namespace std;
#include 

int main(){
	string zk = "Ein Wort";

	string teil1(zk,0,3);
	string teil2(zk,4,10);

	cout << "teil1: " << teil1 << endl;
	cout << "teil2: " << teil2 << endl;
}

Stufe 10

#include 

using namespace std;
#include 

int main(){
	string zk = "Ein Wort";

	string teil1(zk,100,3);

	cout << "teil1: " << teil1 << endl;
}

Stufe 11

#include 

using namespace std;
#include 
#include 

int main(){
	string zk = "Ein Wort";

	try
	   {
	   string teil1(zk,100,3);
	   cout << "teil1: " << teil1 << endl;
	   }
	catch (out_of_range)
	   {
	   cout << "Das schaffe ich beim besten Willen nicht." << endl;
	   }
}

Stufe 12

#include 

using namespace std;
#include 

int main(){
	string zk = "Ein Wort";

	zk[5]='e';

	cout << "Ergebnis: " << zk << endl;

	zk[17]='e';

	cout << "Ergebnis: " << zk << endl;
}

Stufe 13

#include 

using namespace std;
#include 
#include 

int main(){
	string zk = "Ein Wort";

	zk[5]='e';

	cout << "Ergebnis: " << zk << endl;

	try 
	   {
	   zk[17]='e';

	   cout << "Ergebnis: " << zk << endl;
	   }
	catch (out_of_range)
	   {
	   cout << "Keine Änderung, falsch gelaufen!" << endl;
	   }
} 

Stufe 14

#include 

using namespace std;
#include 
#include 

int main(){
	string zk = "Ein Wort";

	zk.at(5)='e';

	cout << "Ergebnis: " << zk << endl;

	try 
	   {
	   zk.at(17)='e';

	   cout << "Ergebnis: " << zk << endl;
	   }
	catch (out_of_range)
	   {
	   cout << "Keine Änderung, falsch gelaufen!" << endl;
	   }
} 

Stufe 15

#include 

using namespace std;
#include 

int main(){
	string zk = "Das ist eine Zeichenkette";

	cout << "Untersuche: " << zk << endl;
	if (zk.find("eine")!=string::npos)
	   cout << "Die Zeichenkette enthält 'eine'" << endl;
	else cout << "Die Zeichenkette enthält 'eine' nicht" << endl;
	if (zk.find("xxxx")!=string::npos)
	   cout << "Die Zeichenkette enthält 'xxxx'" << endl;
	else cout << "Die Zeichenkette enthält 'xxxx' nicht" << endl;

	cout << endl;
	string zk2;
	zk2=zk;
	for (int i=0;i zk2.length();i++) zk2[i]=tolower(zk2[i]);
	cout << "klein: " << zk2 << endl;

	cout << endl;
	string zk3;
	zk3=zk;
	for (int i=0;i<zk3.length();i++) zk3[i]=toupper(zk3[i]);
	cout << "gross: " << zk3 << endl;
}

 

Download: zeichenketten_examples.zip