|
Einsendung:
Lösungsvorschlag
#include <iostream.h>
#include <fstream.h>
bool range(char a,char b,char c)
{
return a<=b && b<=c;
};
bool islower(char ch)
{
return range('a',ch,'z');
};
bool isupper(char ch)
{
return range('A',ch,'Z');
};
bool isalpha(char ch)
{
return islower(ch) ¦¦ isupper(ch);
};
char dazuaddieren(char ch,char key)
{
if(isupper(ch))
{
ch+=key;
if(ch>'Z')
ch-=26;
}
else if(islower(ch))
{
ch+=key;
if(ch>'z')
ch-=26;
}
return ch;
};
char crypt(char ch,char key) { //verschlüsseln
if(isalpha(ch))
return dazuaddieren(ch,key); //if ch==buchstabe dann key zu ch addieren
else
return ch; //sonst ch gleichlassen
};
void main()
{
ifstream in("encrypt.txt"); //txt-datei im selben verzeichnis
ofstream out("decrypted.txt"); //output datei im selven verzeichnis
int key;
cout<<"Bitte zuerst key eingeben: ";
cin>>key;
char aktion;
cout<<"\nwillst du (v)erschluesseln oder (e)ntschluesseln?"<<endl;
cin>>aktion;
cout<<endl;
char ch=in.get();
if(aktion=='e') //wenn man entschluesseln wählt, wird der key umgerechnet
key=26-key;
while(!in.eof()) {
ch=crypt(ch,key);
out<<ch; //output in obige datei
cout<<ch; //output auf bildschirm
ch=in.get();
};
cout<<"\n"<<endl;
}; |
Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann
schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern.
[aktuelle Version]
[inhalt]
[index]
[Fehlerkorrektur, Verbesserungsvorschlag]
© Volkard Henkel <volkard@normannia.de>,
last update: 08/25/00
|
|