Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » formale Sprachen » Decoder in C programmieren » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
as_string

Hallo!

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

Gruß
Marco
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.