Hej alle sammen (Bertel Brander
)
jeg har ved hjælp af informationer herfra siden, fået sammensat et ganske simpelt lille program. Mit problem er at jeg ikke helt forstår hvad de enkelte dele gør..
En uddybende beskrivelse af den ville være MEGET behjælpelig
#include <iostream>
#include <string>
#include <cstdlib>
#include <fstream>
using namespace std;
char ae=-111, oe=-101, aa=134;
string Crypt(const string& aIn)
{
static const char Arr1[] = "klmnopqrstuvwxyzabcdefghij";
static const char Arr2[] = "KLMNOPQRSTUVWXYZABCDEFGHIJ";
int idx;
string Out;
for(idx = 0; idx < aIn.size(); idx++)
{
int ii = aIn[idx] - 'a';
int jj = aIn[idx] - 'A';
if(aIn[idx] >= 'a' && aIn[idx] <= 'z')
Out += Arr1[ii];
else if(aIn[idx] >= 'A' && aIn[idx] <= 'Z')
Out += Arr2[jj];
else
Out += aIn[idx];
}
return Out;
}
string Decrypt(const string& aIn)
{
static const char Arr1[] = "qrstuvwxyzabcdefghijklmnop ";
static const char Arr2[] = "QRSTUVWXYZABCDEFGHIJKLMNOP ";
int idx;
string Out;
for(idx = 0; idx < aIn.size(); idx++)
{
int ii = aIn[idx] - 'a';
int jj = aIn[idx] - 'A';
if(aIn[idx] >= 'a' && aIn[idx] <= 'z')
Out += Arr1[ii];
else if(aIn[idx] >= 'A' && aIn[idx] <= 'Z')
Out += Arr2[jj];
else
Out += aIn[idx];
}
return Out;
}
int main()
{
string Line, dummy, Crypted, Decrypted;
int x;
cout << "hvad "<<oe<<"nsker du at g"<<oe<<"re:" << endl;
cout << "1: Kryptere" << endl;
cout << "2: Dekryptere" << endl;
cout << "Valg: ";
cin >> x;
cout << "Skriv noget: ";
cout.flush();
getline (cin, dummy);
getline(cin, Line);
switch (x) {
case 1:
Crypted = Crypt(Line);
cout << "Krypteret: " << Crypted << endl;
break;
case 2:
Decrypted = Decrypt(Line);
cout << "Dekrypteret: " << Decrypted << endl;
break;
default:
cout << "du skal v"<<ae<<"lge 1 eller 2." << endl;
main();
}
system("pause");
}
På fohånd mange tak for hjælpen
Mvh
Søren V. Jensen