Bin angefangen zu studieren und wir sollten die Caesar Verschlüsselung programmieren.
Das klappt auch soweit ganz gut.
Hab das so gemacht:
PHP Code:
char a[] = "abcdefghijklmnopqrstuvwxyz";
char c[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
void caesar(int verschiebung){
char b[32];
printf("Bitte zu verschlüsselnden Text eingeben\n");
fflush(stdout);
fgets(b, 32, stdin);
if(verschiebung<0){
int zs = verschiebung*-1;
verschiebung = 26-zs;
if(verschiebung<0){
verschiebung = verschiebung*-1;
}
}
int i=0;
int j=0;
int k=1;
for(i=0; i<(strlen(b)-2); i++){
while(j<26 && k==1){
if(a[j]==b[i]){
if((j+verschiebung)>25){
int differenz=(j+verschiebung)%26;
b[i]=a[differenz];
k=0;
}else{
b[i]=a[j+verschiebung];
k=0;
}
}
if(c[j]==b[i]){
if((j+verschiebung)>25){
int differenz=(j+verschiebung)%26;
b[i]=c[differenz];
k=0;
}else{
b[i]=c[j+verschiebung];
k=0;
}
}
j++;
}
j=0;
k=1;
}
printf(b);
}
int main(int argc, char* argv[]) {
char puffer[5];
printf("Bitte Verschiebung eingeben\n");
fflush(stdout);
fgets(puffer, 32, stdin);
int zahl = atoi(puffer);
caesar(zahl);
return 0;
}
Nun war die Aufgabe, dass man einen verschlüsselten Text hat, und den entschlüsseln soll.
Wollte also eine Methode machen, die das die Methode "caesar" aufruft. Wenn man Enter drückt, wird die Methode wieder aufgerufen, nur der Parameter um eins erhöht.
Man drückt also so lange Enter bis ein lesbarer Text zum vorschein kommt. Zmdst denke ich, dass das das Ziel sein soll
Meine Frage also:
Wie "lausche" ich auf die Eingabe von Enter. ??
Hoffe mir kann da jmd helfen
Grüße