Caesar-Verschlüsselung - Verschiebewert für jedes Feld anders



  • Hallo zusammen,

    ich stehe mal wieder vor einer neuen Herausforderung. Eine Eingabe soll mit Caesar verschlüsselt werden. Das habe ich geschafft. Ich möchte aber gerne jeden Wert mit einem anderen Verschiebewert versehen, der erste Wert mit 1, der zweite mit 2, der dritte mit 3 usw.

    Mein Code sieht bisher so aus. Für Hilfe bin ich dankbar.

    /*##############################################

    Ein einfaches Verschlüsselungsprogramm

    ##############################################*/

    #include <iostream>

    using namespace std;

    //die Funktion
    void caesar(string);

    //die Funktion zur Cäsar-Verschlüsselung

    void caesar(string kette)

    {

    int laenge, verschiebung;

    //die Länge der ursprünglichen Zeichenkette ermitteln

    laenge = kette.length();

    cout << "Caesar-Verschluesselung" << endl;

    //den Verschiebewert einlesen

    cout << "Bitte geben Sie den Verschiebewert ein: ";

    cin >> verschiebung;

    //jedes Zeichen um den angegebenen Wert verschieben

    for (int zaehler = 0; zaehler < laenge; zaehler++)

    cout << static_cast<char>(kette[zaehler] + verschiebung);

    cout << endl << endl;

    }

    int main()

    {

    string eingabe;

    //Die ursprüngliche Zeichenkette einlesen

    cout << "Bitte geben Sie eine Zeichenkette ein (ohne Leerzeichen): ";

    cin >> eingabe;

    cout << "Die urspruengliche Zeichenkette ist: " << eingabe << endl << endl;

    //die Verschlüsselungen durchführen

    caesar(eingabe);

    return 0;

    }


Anmelden zum Antworten