PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Caesar unter C



joey
25.11.2008, 19:24
Hi!

Ich hab erst grad angefangen und hab schon schwierigkeiten.
Ich will ein Programm schreiben das einen eingegebenen Text verschlüsselt.
Leider gibt er mir zu viele Zeichen aus.Ich weiß zwar voran es liegt,weiß aber nicht wie ich das beheben kann.

mfg



#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (void) {

const char *alph[26]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N",
"O","P","Q","R","S","T","U","V","W","X","Y","Z"};

int count;
int v;
int l;
int t;

char text[500];


printf("Bitte geben Sie ihren Text ein: ");
scanf("%s",&text);
printf("Bitte Alphabet-Verschiebung angeben: ");
scanf("%d",&v);

for(count=0;count<=500;count++){
if (text[count]==*alph[0]){
printf("%s",alph[v]);

}

else if(text[count]!=*alph[0]){
for(t=0;t<26;t++){
if(text[count]==*alph[t]){
l=v+t;
printf("%s",alph[l]);
}
}
}
}
getch();
return EXIT_SUCCESS;
}

H4x0r007
25.11.2008, 19:27
Du überprüfst ja nirgends nach einem \0.
d.h. du Caesar´st deinen kompletten Speicherbuffer mit 500 Zeichen

joey
25.11.2008, 19:53
stimmt. man bin ich doof. Vielen Dank :-) :-)