C++ :: Aufgabe #27 :: Lösung #2
4 Lösungen

#27
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
#2

von progdoc (2220 Punkte)
- 03.01.2013 um 22:30 Uhr

#include <string> #include <iostream> #include <algorithm> #include <cctype> class MyTransform { private : int shift ; public : MyTransform( int s ) : shift( s ) { } char operator( )( char c ) { static std::string letters( "abcdefghijklmnopqrstuvwxyz" ) ; std::string::size_type found = letters.find(tolower( c )) ; int shiftedpos = ( static_cast<int>( found ) + shift ) % 26 ; char shifted = letters[shiftedpos] ; return shifted ; } } ; int main( ) { std::string input ; std::cout << "Welcher Text soll verschluesselt werden ?\n" ; getline( std::cin , input ) ; std::cout << "Verschiebung ?\n" ; int myshift = 0 ; std::cin >> myshift ; std::transform ( input.begin( ) , input.end( ) , input.begin( ) , MyTransform( myshift ) ) ; std::cout << "Nach der Verschlüsselung:\n" ; std::cout << input << std::endl ; return 0 ; }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1