Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Rot13 ausgabe Chinesisch

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.11.2016, 18:08 Uhr
~Anfaenger8989898
Gast


Hi
ich muss biss morgen ein programm schreiben das von einer .txt datein einen text einliest , alle buchstaben um 13 stellen verschiebt und in eine neue .txt datei ausgibt .


C++:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>


using namespace std;

int main()
{
    ifstream ifs;
    ifs.open("klar.txt");
    ofstream ofs;
    ofs.open("geheim.txt");
    char c;
    char rot13 [] = {'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
                     'A','B','C','D','E','F','G','H','I','J','K','L','M',
                    };

    while( ( c = ifs.get() )!= EOF )
    {
       ofs<<rot13[c -'A'];
    }

    ifs.close();
    ofs.close();

    return 0;
}


Nun habe ich das problem das die ausgabe auf chinesisch ist.Wieso?

-----
Edit: cpp-Tags eingefügt.

Dieser Post wurde am 01.11.2016 um 21:37 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.11.2016, 22:16 Uhr
Hans
Library Walker
(Operator)


Hi,

naja, chinesisch ist das nicht, aber das Ergebnis der Verschiebung. Was Du bei rot13 machst, ist doch folgendes: Du hast einmal Dein Klartextalphabet (K) und Dein chriffrietes Alphabet (C), welches um 13 Stellen gegen das Klartextalphabet verschoben ist. Also:

Code:
   0        1         2
   12345678901234567890123456
K: ABCDEFGHIJKLMNOPQRSTUVWXYZ
C: NOPQRSTUVWXYZABCDEFGHIJKLM


Was das Programm jetzt macht, ist das für jeden Buchstaben aus der Datei klar.txt guckt, wo der im Klartextalphabet steht. Den ersetzt es dann durch den Buchstabe, der an dieser Stelle im Chiffrieralphabet steht. Aus A wird so N, weil das A, das im Klartextalphabet an erster Stelle steht, durch das N ersetzt wird, das im Chiffrieralphabet an erster Stelle steht. Aus dem Wort "TEXT" wird so "GRKG". Das kannst Du auch an dem Schema oben ganz gut erkennen, wo ich Klar- und Chiffrieralphabet übereinander geschrieben habe. Also nix chinesisch, sondern einfach nur Buchstaben miteinander verauscht. Und das man das, was dabei heraus kommt, nicht so ohne weiteres entziffern kann, ist der Sinn dieser sogenannten Verschiebe-chiffre.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 01.11.2016 um 22:19 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.11.2016, 22:43 Uhr
ao

(Operator)


Was genau heißt "chinesisch"? Und wie lautet der Text, der verschlüsselt werden soll?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: