Δημοσιεύτηκε: 14 Φεβ 2012, 12:31
από migf1
Star_Light έγραψε:Ολοκληρωμένος ο παραπάνω (Oχι ο Καίσαρας αυτος του σταματίου)

http://ideone.com/VkTsr

Spoiler: show
Κώδικας: Επιλογή όλων


kostas@kostas-SSL:~/PROGRAMS$ ./dokimes
Give a string: HELLO MY FRIEND HOW ARE YOU TODAY
Give the range of the key : 5
the key is : 5

MJQQT%R^%KWNJSI%MT\%FWJ%^TZ%YTIF^ * The plaintext is * : HELLO MY FRIEND HOW ARE YOU TODAY
ckostas@kostas-SSL:~/PROGRAMS$


Ο ίδιος κώδικας με σβησμένα όλα τα περιττά, αλλά χωρίς διόρθωση των λαθών του και χωρίς τα απαραίτητα error-checks.

Κώδικας: Επιλογή όλων

#include <stdio.h>

#define SIZE (100+1)

void encrypt( char *msg , int key );
void decrypt( char *msg , int key );

int main( void )
{
char msg[ SIZE ] = {'\0'};
int key;

printf("Give a string: ");
fgets(msg, SIZE , stdin);

printf("Give the key : ");
scanf("%d", &key);

encrypt(msg, key);
printf("Encrypted text: %s\n", msg);

decrypt(msg, key);
printf("Decrypted text: %s\n", msg);

return 0;
}

/* -------------------------------------- */
void encrypt( char *msg , int key )
{
while ( *msg != '\0' )
{
*msg += key;
msg++;
}

return;
}

/* --------------------------------------- */
void decrypt(char *msg , int key)
{
while ( *msg != '\0' )
{
*msg -= key;
msg++;
}

return ;
}



Π.χ. στο κείμενο που διαβάζει κρατάει & κρυπτογραφεί και το '\n' στο τέλος. Επίσης, έχει τα προβλήματα που έχει και του Σταματίου με τα αρνητικά ή τα πολύ μεγάλα θετικά κλειδιά.