Projekt 1 : "Geheime Nachrichten" (Teil 2)

3. Zeichenweiser Zugriff auf Text mit WHILE

In der Praxis kommt es häufig vor, dass auf jedes Element einer String-Variablen zugegriffen werden muss. Würde für jedes dieser Zeichen eine eigene, separate Code-Zeile genutzt, dann wäre dies nicht wirklich elegant: 

Der Code wäre bis auf den Index des jeweiligen Zeichens identisch und die Operation würde nur funktionieren nur, wenn der eingegebene Text auch wirklich aus der immer gleichen Menge von Zeichen bestünde. Wäre er länger, dann könnten nicht alle Zeichen verarbeitet werden und wäre er kürzer, dann könnte eventuell dein Programm wegen eines ungültigen Zugriffs abstürzen.

Mit einer Schleife lässt sich dieses Problem viel eleganter lösen, wie der Code in diesem Beispiel zeigt.


#include <iostream>
#include <string>
using namespace std;

int main()
{
    string text = "Hallo";
    
    // Textzeichen untereinander ausgeben
    int cnt = 0; // Zählvariable
    while(cnt<text.size())
    {
        cout << text[cnt] << endl;    
        cnt++; // identisch zu cnt=cnt+1
    }
    cout << endl; // Finaler Zeilenumbruch

    return 0;
}