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

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
#5
vote_ok
von n.rohde (400 Punkte) - 25.08.2015 um 15:21 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CaesarChiffre
{
    class Program
    {
        static void Main(string[] args)
        {
            string eingabeText, erg = "";
            char[] text;
            int stellenVerschieben;

            Console.Write("Geben Sie den Text ein: ");
            eingabeText = Console.ReadLine();
            text = new char[eingabeText.Length];
            text = eingabeText.ToCharArray();
            Console.Write("Um wie viele Stellen soll verschoben werden: ");
            stellenVerschieben = Convert.ToInt32(Console.ReadLine());

            for (int i = 0; i < eingabeText.Length; i++)
            {
                if ((stellenVerschieben / 26) != 0)
                    while ((stellenVerschieben / 26) != 0)
                        stellenVerschieben -= 26;

                if (Convert.ToInt32(text[i]) >= 65 && Convert.ToInt32(text[i]) <= 90)
                    if ((Convert.ToInt32(text[i]) + stellenVerschieben) > 90)
                        erg += Convert.ToString(Convert.ToChar(64 + ((Convert.ToInt32(text[i]) + stellenVerschieben) - 90))); // 96+..., da a = 97 -> wird ansonsten übersprungen
                    else
                        erg += Convert.ToString(Convert.ToChar(Convert.ToInt32(text[i]) + stellenVerschieben));
                else if ((Convert.ToInt32(text[i]) + stellenVerschieben) > 122)
                    erg += Convert.ToString(Convert.ToChar(96 + ((Convert.ToInt32(text[i]) + stellenVerschieben) - 122))); // 96+..., da a = 97 -> wird ansonsten übersprungen
                else
                    erg += Convert.ToString(Convert.ToChar(Convert.ToInt32(text[i]) + stellenVerschieben));
            }

            Console.Write("Ergebnis: " + erg);
            Console.Read();
        }
    }
}

Kommentare:

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

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