Caesar-Verschlüsselung programmieren



  • Hallo,
    ich bin ziemlich neu und noch recht ungeübt im Programmieren. Ich habe nun eine Übungsaufgabe gefunden, die wie folgt lautet: "Schreiben Sie ein Programm, welches das Codewort HIPP sinnhaft entschlüsselt." (Unter Nutzung von char-Feld, variable Caesar-Verschlüsselung. verschachtelte Schleifen)

    Das Endergebnis soll so aussehen:

    HIPP stammt von PQXX.
    OPWW.
    NOVV.
    MNUU.
    LMTT.
    KLSS.
    JKRR.
    IJQQ.
    HIPP.
    GHOO.
    FGNN.
    EFMM.
    DELL.
    CDKK.
    BCJJ.
    ABII.
    @AHH.

    Mein Ansatz:

    char firma[]="HIPP";
    int i=0; a=1;
    
    for (a=1; a<=17; a++)
    {for (i=0; i<=3; i++)
    {
     firma[i] = firma[i]+8;
     cout <<firma[i];   
    } 
    cout <<endl;}
    

    Jedoch springt meine Caesar-Verschlüsselung in die Sonderzeichen. Wie kann ich das umgehen? Ich habe an eine weitere Schleife oder eine if-Bedingung gedacht, aber leider funktionieren diese nicht so, wie ich das gern hätte. Kann mir da jemand weiterhelfen?

    Gruß



  • Und das möchtest du in C++/CLI machen? Einer Sprache, die primär für die Interoperabilität zwischen nativem- und managed Code dient?

    Siehe auch: http://www.c-plusplus.net/forum/263084

    Ich vermute, dass du einfach das falsche Unterforum erwischt hast - im C++ Unterforum ist dein Post besser aufgehoben (schliesse ich aus der Benutzung von std::cout ).



  • Das ist rot8.
    Wie kommst du darauf, es Caesar-Verschlüsselung zu nennen?
    https://www.google.de/search?q=rot13

    DrHWI schrieb:

    Jedoch springt meine Caesar-Verschlüsselung in die Sonderzeichen. Wie kann ich das umgehen? Ich habe an eine weitere Schleife oder eine if-Bedingung gedacht, aber leider funktionieren diese nicht so, wie ich das gern hätte.

    Indem du die Bereichsgrenzen berücksichtigst.
    MAX-7 wird zu MIN, MAX wird zu MIN+7



  • Vielleicht solltes Du mal den von Dir verlinkten Content lesen 😉



  • xD schrieb:

    Vielleicht solltes Du mal den von Dir verlinkten Content lesen 😉

    OK, mach ich nächstes Mal. 😉


Anmelden zum Antworten