Projekt 1 : "Geheime Nachrichten" (Teil 1)



3. Entschlüsselung auswählen mit IF-ELSE

Der bisherige Code aus dem letzten Beispiel überprüft ja, ob die Variable input gleich dem Zeichen "v" ist. Wenn das der Fall ist, wird ein Text ausgegeben und die Variable encode auf true gesetzt.

Jetzt wollen wir einen weiteren Zweig einbauen für den Fall, dass der Wert von input gleich dem Buchstaben "e" ist. Dazu müssen wir nur unmittelbar hinter dem Ende des Blocks, d.h. nach der zweiten geschweiften Klammer, das Schlüsselwort else benutzen, um die nächste Verzweigung zu erzeugen.

Das Problem ist hierbei allerdings, dass der else-Zweig auch dann gewählt wird, wenn der Benutzer beliebige andere Zeichen eingibt. Was wir also noch brauchen, ist eine Möglichkeit, gezielt auf die Eingabe von "e" zu reagieren und zusätzlich ungültige Eingaben abzufangen.

Um dieses Verhalten zu erreichen, können wir die Schlüsselwörter else und if kombinieren, um auf die zweite gültige Taste "e" zu prüfen. 
Zeile 1 : 'v' oder 'e'
Zeile 2 : Botschaft

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string input;
    cout << "Ver- oder Entschlüsseln? (v/e): " << endl;
    getline(cin, input);

    bool encode = false; // später ENTschlüsseln
    if (input == "v")
    {
        cout << "Text zum VERschlüsseln: " << endl;
        encode = true;
    }
    else if (input == "e")
    {
        cout << "Text zum ENTschlüsseln: " << endl;
    }
    else
    {
        cout << "Ungültige Eingabe!" << endl;
        exit(EXIT_FAILURE); // Fehlercode melden
    }
    cout << "encode = " << encode << endl;

    return EXIT_SUCCESS; // wahlweise auch 0
}