C :: Aufgabe #23 :: Lösung #1

2 Lösungen Lösungen öffentlich
#23

Mit Caesar Chiffre ent- und verschlüsseln

Anfänger - C von Dome - 03.01.2013 um 01:30 Uhr
Schreiben Sie ein Programm, indem Sie mit Hilfe der Caesar Chiffre einen beliebigen Text ent- und verschlüsseln können. Zuvor muss der Text und die Anzahl der Verschiebung angegeben werden. Groß- und Kleinschreibung muss nicht beachtet werden.

Konsolenausgabe:

Geben Sie den Text ein: Beispielwort
Um wie viele Stellen soll verschoben werden: 1
Ergebnis: Cfjtqjfmxpsu
#1
vote_ok
von devnull (8870 Punkte) - 14.07.2013 um 13:50 Uhr
Quellcode ausblenden C-Code
/********************************************
 * caesar.c   Caesar-Chiffre
 *
 * OS     :   GNU/Linux
 * compile:   gcc -Wall -o caesar caesar.c
 *
 * devnull    14-07-2013                
 ********************************************/
#include <stdio.h>

#define BUFLEN 1000

int caesar( int c, int rot )
{
	if      (c>='A' && c<='Z') c=(c-'A'+rot)%26+'A';
	else if (c>='a' && c<='z') c=(c-'a'+rot)%26+'a';
	else if (c>='0' && c<='9') c=(c-'0'+rot)%10+'0';
	return c;
}

int main()
{
    char text[BUFLEN+1];
    char *p=text;
    int rot;

	printf("Texteingabe: ");
	if (fgets(text,BUFLEN,stdin)) {
		text[BUFLEN]='\0';
		printf("Verschiebung: ");
		scanf( "%d",&rot ); 
		while(*p) { *p=caesar(*p,rot); p++;	}
		printf("Chiffretext: %s\n",text);
	}
	return 0;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben