Quote:
sorry for the variables's names, i'm french.
C'est pas un problème.
Quote:
i want to know if it's optimal.
Non it is not.
In encodeur, you don't need to transform
char
to
int
, you can use
char
directly.
char encodeur( char premiereLettre, char deuxiemeLettre)
{
int premiereChiffreLettre;
int deuxiemeChiffreLettre;
int lettreFiniChiffre;
char lettreFini;
int difference;
char difference;
premiereChiffreLettre = int(premiereLettre);
deuxiemeChiffreLettre = int(deuxiemeLettre);
lettreFiniChiffre = premiereChiffreLettre + (deuxiemeChiffreLettre - 97);
if (lettreFiniChiffre > 122)
{
difference = lettreFiniChiffre - 123;
lettreFiniChiffre = 97 + difference;
}
else
{
}
lettreFini = char(lettreFiniChiffre);
return lettreFini;
}
or
char encodeur( char premiereLettre, char deuxiemeLettre)
{
unsigned char lettreFini;
unsigned char difference;
lettreFini = premiereLettre + (deuxiemeLettre - 97);
if (lettreFini > 122)
{
difference = lettreFini - 123;
lettreFini = 97 + difference;
}
return lettreFini;
}
Voilà pour quelques simplifications.
Tu peux aussi éliminer
tableau
Chiffre de Vigenère — Wikipédia[
^]