C# Programmieren?

2 Antworten

Du brauchst eine Schleife, bspw. einen for-each-loop für alle Zeichen im Satz. Während der Schleife nimmst du jeweils einen Charakter und addierst diesen +13 und ersetzt ihn. Nutze dafür am besten einen StringBuilder. Am Ende konvertierst du den StringBuilder zu einen String und gibst es aus. Das wars schon. Zum Entschlüsseln gleiches Schema, bloß -13 rechnen für die Characters.

PS: Nur für ASCII Charaktere bedeutet, dass du im bestimmten Zahlenraum bleibst. Also im for-loop einfach noch eine if Abfrage, bspw. so (pseudocode)

if(currentCharacter => minimumChars && currentCharacter <= maximumChars) {
  // hier der code
}

Konkret bspw.

if(currentCharacter >= 'a' && currentCharacter <= 'Z') { // bin mir nicht ganz sicher, ob das so korrekt ist

}

Durchlaufe deinen Eingabestring mit einer for schleife. Dabei gibt der char's zurück. Chars sind eigentlich Integer, also Zahlen. Diese kannst du + 13 Rechnen. Worauf du bei der Rechnung nur Achten musst. Z ist die letzte zahl, also wäre ein +13 nicht passend. Da musst du zu 0 umrechnen. Mathe solltest du können, also plus und minus. Die Zahlen zu den Buchstaben findest du online bei der sogenannten ASCII Tabelle. Dein Programm braucht die Tabelle nicht, das kennt die Zahlen (char), allerdings sind die für dich als Orientierung sinnvoll. Zum Schluss die Chars wieder zum String zurückwandeln und fertig. Hierzu eignet sich der StringBuilder, damit du nicht tausende neue Strings erstellst im Hintergrund. Siehe Google: Vorteile StringBuilder C#