Decoder in C programmieren

Neue Frage »

Auf diesen Beitrag antworten »
Decoder Decoder in C programmieren

Meine Frage:
Hallo,
will einen Decoder in C programmieren, wobei jeder Buchstabe des zu entschlüsselnden Textes rollierend um den Wert 15 verschoben ist. Nach z fängt es wieder bei a an.




Meine Ideen:
Hab folgendes bisher gemacht:

code:
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:
 
#include <stdio.h>

int main()
{

    char Zeichenkette[100], ch;
    int i, key;

    printf("Geben Sie eine Zeichenkette ein, die entschüsselt werden soll: \n\n");
    gets(Zeichenkette);
    printf("Enter key: ");
    scanf("%d", &key);

    for (i = 0; Zeichenkette[i] != '\0'; i++)
    {

        ch = Zeichenkette[i];

        if (ch >= 'a' && ch <= 'z')
        {

            ch = ch - key;
            if (ch < 'a')
            {
                ch = ch + 'z' - 'a' + 1;
            }
            Zeichenkette[i] = ch;
        }
        else if (ch >= 'A' && ch <= 'Z')
        {
            ch = ch - key;
            if (ch < 'A')
            {
                ch = ch + 'Z' - 'A' + 1;
            }
            Zeichenkette[i] = ch;
        }
    }

    printf("Decodierte Nachricht: %s", Zeichenkette);

    return 0;
} 


Irgendwie funktioniert das noch nicht so richtig, deswegen brauche ich mal eure Expertise.
 
Auf diesen Beitrag antworten »
as_string

Hallo!

Kannst Du sagen, was genau "nicht so richtig" funktioniert?

Gruß
Marco
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »