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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| #include <stdio.h>
#include <string.h>
void crypter ( char* phrase , int cle );
void decrypter ( char* phrase , int cle );
int caractereValide ( char caractere );
int main ()
{
int cle = 0 , menu = 1;
char phrase [225];
printf("\t<<<<<<<<<<<<<<<<<<<<<<BIENVENUE A NOTRE PROGRAMME >>>>>>>>>>>>>>>>>>>>>>>>\n");
printf("\n\n --Bienvenue dans le programme de cryptage - decryptage\n de phrases selon la methode Cesar\n\n");
printf("1. Cryptage \n");
printf("2. Decryptage \n");
printf("3. EXIT\n");
printf("Votre choix : ");
do
{
scanf("%d" , &menu);
if (menu == 1)
{
printf ("\n\nVous avez choisi de crypter.\nVeuillez entrer la phrase a crypter : ");
scanf("%s" , phrase);
printf("\nVeuillez choisir votre cle de cryptage : ");
scanf("%d" , &cle );
crypter ( phrase , cle );
printf("\nVotre phrase cryptee est : %s" , phrase );
}
if(menu==3){
return 0;
}
else if (menu == 2)
{
printf ("\n\nVous avez choisi de decrypter.\nVeuillez entrer la phrase a decrypter : ");
scanf("%s" , phrase);
printf("\nVeuillez entrer votre cle de cryptage : ");
scanf("%d" , &cle );
decrypter ( phrase , cle );
printf("\nVotre phrase decryptee est : %s" , phrase );
}
else
{
printf("\nVous n'avez pas entre un choix valide veuillez entrer un choix valide");
}
}while (menu != 1 && menu != 2);
}
void crypter (char* phrase , int cle)
{
int i ;
for (i = 0; i<strlen(phrase); i ++)
{
if (caractereValide(phrase [i]) == 1)
{
phrase [i] = (((phrase[i]-'a')+cle)%26)+'a';
}
else if (caractereValide (phrase[i]) == 2)
{
phrase [i] = (((phrase[i]-'A')+cle)%26)+'A';
}
}
}
void decrypter (char* phrase , int cle)
{
int i ;
for (i = 0; i<strlen(phrase); i ++)
{
if (caractereValide(phrase [i]) == 1)
{
phrase [i] = (((phrase[i]-'a')-cle)%26)+'a';
}
else if (caractereValide (phrase[i] == 2))
{
phrase [i] = (((phrase[i]-'A')-cle)%26)+'A';
}
}
}
int caractereValide (char caractere)
{
int etat = 0;
if( caractere >= 'a' && caractere<= 'z')
{
etat == 1;// etat 1 = minuscule
}
else if ( caractere>= 'A' && caractere <= 'Z')
{
etat == 2;// etat 2 = Majuscule
}
return etat; //etat 0 = autres
} |
Partager