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
2104537

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.