#include #include #include #include #define CHAINE_MAXI 1000 using namespace std; // définition de l'alphabet : const string Alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string chaineEntree=""; // définition de la phrase d'entrée (celle que l'utilisateur entre...) char chaineSortie[CHAINE_MAXI]=""; // définition de la phrase de sortie (celle que l'algo resort...) int decalage=0; // définition de la variable de décalage int varAnnuleDecalage=0; // création d'une variable en cas de dépassement de l'alphabet et qui permet un retour au début de l'alphabet void toutMajuscule(); // fonction pour mettre la chaine de l'utilisateur en majuscule void cryptage(); // fonction de décalage de toutes les lettres de la chaine int main(int nNumberOfArgs, char* pszArgs[]) { int continuer=0; do { system("clear"); // on efface l'écran (ATTENTION : "clear" sous Linux et "cls" sous DOS/Windows) cout << "\t/====================================\\" << endl; cout << "\t| Le chiffrement de César (par nK0) |" << endl; cout << "\t\\====================================/" << endl << endl; // une 'tite présentation :) chaineEntree=""; // on efface... for(int i=0;i> decalage; // il entre le décalage voulu cout << endl; toutMajuscule(); // et on met sa chaine en majuscules... if(decalage>=0 && decalage<=26) { cout << "Avec un décalage de " << decalage << " lettres, " << chaineEntree << " donne :" << endl; cryptage(); // et on crypte... cout << "\n\t"<< chaineSortie << endl << endl; } else cout << "Erreur : Entrez un décalage compris entre 0 et 26" << endl << endl; cout << "Voulez-vous recommencer ? (1=oui, 0=non) "; // on demande à l'utilisateur s'il veut recommencer un nouveau codage cin >> continuer; while(getchar() != '\n'); cout << endl; } while (continuer==1); // boucle pour recommencer l'opération return 0; } // fonction pour mettre la chaine de l'utilisateur en majuscule : void toutMajuscule() { for(int i=0;i=26) { varAnnuleDecalage=25-j; // un peu plus spécial si le décalage sort de l'alphabet chaineSortie[i]=Alphabet[decalage-varAnnuleDecalage-1]; // on retourne donc au début de l'alphabet en enlevant les lettres passées à la fin de l'alphabet } } } }