C# :: Aufgabe #33 :: Lösung #6

9 Lösungen Lösungen öffentlich
#33

Mit Caesar Chiffre ent- und verschlüsseln

Anfänger - C# von Dome - 03.01.2013 um 01:30 Uhr
Schreiben Sie ein Programm, indem Sie mit Hilfe der Caesar Chiffre einen beliebigen Text ent- und verschlüsseln können. Zuvor muss der Text und die Anzahl der Verschiebung angegeben werden. Groß- und Kleinschreibung muss nicht beachtet werden.

Konsolenausgabe:

Geben Sie den Text ein: Beispielwort
Um wie viele Stellen soll verschoben werden: 1
Ergebnis: Cfjtqjfmxpsu
#6
vote_ok
von stcalvin (970 Punkte) - 06.02.2018 um 15:07 Uhr
Quellcode ausblenden C#-Code
        static void Aufgabe_33()
        {
            string eingabe, ausgabe = "";
            int k, verschieben, _verschieben;
            char buchstabe;

            Console.Write("Geben Sie den Text ein: ");
            eingabe = Console.ReadLine();
            Console.Write("Um wie viele Stellen soll verschoben werden: ");
            verschieben = Convert.ToInt16(Console.ReadLine());
            _verschieben = verschieben;

            for (int i = 0; i <= eingabe.Length - 1; i++)
            {
                k = (int)eingabe[i];
                verschieben = _verschieben;
                if (k >= 65 && k <= 90)
                {
                    if (k + verschieben > 90) // funktioniert bei negativem verschieben nicht!!
                    {
                        verschieben -= (90 - k);
                        k = 64 + verschieben;
                        buchstabe = (char)k;
                        ausgabe += buchstabe;
                    }
                    else
                    {
                        k += verschieben;
                        buchstabe = (char)k;
                        ausgabe += buchstabe;
                    }
                }
                else if (k >= 97 && k <= 122)
                {
                    if (k + verschieben > 122) // funktioniert bei negativem verschieben nicht!!
                    {
                        verschieben -= (122 - k);
                        k = 96 + verschieben;
                        buchstabe = (char)k;
                        ausgabe += buchstabe;
                    }
                    else
                    {
                        k += verschieben;
                        buchstabe = (char)k;
                        ausgabe += buchstabe;
                    }
                }
            }
            Console.WriteLine("Ergebnis: {0}", ausgabe);
        }

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben