Einzelnen Beitrag anzeigen
Alt 11.09.08, 08:20   #37 (permalink)
Cr4ckEye
 
Registriert seit: 02.08.08
Cr4ckEye Leistung: Facit NTK
Likes: 0
Standard

Zwar schon älter hier aber ich habe auch mal ein kleine, zwar nicht sehr professionelle oder umfangreiche lösung für mich gefunden (C++):

Code:
#include <cstdlib>
#include <iostream>

using namespace std;

void caesar(char cha[], int schlussel);                 // Mache caesar bekannt

int main()
{
 char ch[50] = {'\0'};                                   // 50x leer
 int key = 0;
 
 cout << "*******************************\n";
 cout << "* Caesar Schiffre by Cr4ckEye *\n";           // Ausgaben
 cout << "*******************************\n\n" << endl;
 cout << "Bitte geben Sie einen Text ein: ";
 cin.getline(ch, 50);                                  // Max 50 Zeichen mit Whitespace
 do
 {
 cout << "Bitte geben Sie den Schluessel ein: ";       
 cin >> key;
 } while(key<=0 && key>=26);                           // Key nicht größer als 25
 cout << "\nVerschluesselt: ";
 caesar(ch, key);                                      // Ver und Entschlüsseln
 cin.get();                                            // Halte Fenster offen
 cin.get();
}

void caesar(char cha[], int schlussel)
{
     for(int i=0; i<50; ++i)                          // Verschlüsselung
     {
     if(cha[i] == '\0') break;                        // 0 Terminator -> Ende
      while(cha[i] == 32)                             // Whitespace ausgeben
      { cout << " "; ++i; }                           
      cha[i] = toupper(cha[i])+schlussel;    // Zu Großbuchstabe und Berechnung
      cout << cha[i];                                 // Ausgabe
     }
     
     cout << "\n\nEntschluesselt: ";                  // Entschlüsselung
     
     for(int j=0; j<50; ++j)                          
     {
     if(cha[j] == '\0') break;                        // 0 Terminator -> Ende
      while(cha[j] == 32)                             // Whitespace ausgeben
      { cout << " "; ++j; }
      cha[j] = cha[j]-(schlussel*2);                  // Konvertrierung und Berechnung (schlussel*2), 
                                                      // da er vorher ja nocheinmal um den selben Schlüssel verschoben wurde.
      cout << cha[j];                                 // Ausgabe
     }
}
Cr4ckEye ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61