diff --git a/a.exe b/a.exe new file mode 100644 index 0000000..918a433 Binary files /dev/null and b/a.exe differ diff --git a/etape1.c b/etape1.c new file mode 100644 index 0000000..f9ab5f5 --- /dev/null +++ b/etape1.c @@ -0,0 +1,71 @@ +#include +#include + +/* Prend en parametre un entier et un entier a additionner */ +int indexcesar(int index, int cesar){ + index += cesar; + if(index > 25) + { + index -= 26; + } + return index; +} + +int main(int argc, char const *argv[]) +{ + int cesar = 13; + + /* Creation du tableau contenant toutes les lettres de l'alphabet */ + char alphabetMajuscule[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'}; + char alphabetMinuscule[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'}; + + /* Creation d'un pointeur de fichier */ + FILE* stream = fopen("Etape2.bin","r"); + + /* S'il y a un probleme dans l'ouverture du fichier renvoie une erreur */ + if (ferror(stream)) + { + perror("Il y a un probleme dans l'ouverture du fichier !"); + return EXIT_FAILURE; + } + + /* Creation d'un pointeur de charactere qui alloue en memoire la taille d'un caractere*/ + char* zone_char = malloc(sizeof(char)); + + /* Tant qu'on atteint pas la fin du fichier */ + while(!feof(stream)) + { + /* lecture d'un caractere */ + if (fread(zone_char, sizeof(char), 1, stream) != 0) + { + /* Parcours du tableau pour retrouver la position du caractere*/ + int index = 0; + for (index; index <= 25; index++) + { + /* si le caractere est une majuscule */ + if (*zone_char == alphabetMajuscule[index]) + { + /* On rajoute le deplacement dans l'alphabet de cesar et on sort de la boucle */ + index = indexcesar(index, cesar); + printf("%c", alphabetMajuscule[index]); + break; + } + /* si le caractere est une minuscule */ + if (*zone_char == alphabetMinuscule[index]) + { + /* On rajoute le deplacement dans l'alphabet de cesar et on sort de la boucle */ + index = indexcesar(index, cesar); + printf("%c", alphabetMinuscule[index]); + break; + } + } + /* si la boucle ne s'est jamais arretee, alors ce n'est pas une lettre sinon c'est une lettre et on montre sa nouvelle valeur */ + if (index == 26) { + printf("%c", *zone_char); + } + } + } + fclose(stream); + free(zone_char); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/etape2.c b/etape2.c new file mode 100644 index 0000000..f95ac14 --- /dev/null +++ b/etape2.c @@ -0,0 +1,71 @@ +#include +#include + +/* Prend en parametre un entier et un entier a additionner */ +int indexcesar(int index, int cesar){ + index += cesar; + if(index > 25) + { + index -= 26; + } + return index; +} + +int main(int argc, char const *argv[]) +{ + int cesar = 1; + + /* Creation du tableau contenant toutes les lettres de l'alphabet */ + char alphabetMajuscule[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'}; + char alphabetMinuscule[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'}; + + /* Creation d'un pointeur de fichier */ + FILE* stream = fopen("Etape2.bin","r"); + + /* S'il y a un probleme dans l'ouverture du fichier renvoie une erreur */ + if (ferror(stream)) + { + perror("Il y a un probleme dans l'ouverture du fichier !"); + return EXIT_FAILURE; + } + + /* Creation d'un pointeur de charactere qui alloue en memoire la taille d'un caractere*/ + char* zone_char = malloc(sizeof(char)); + + /* Tant qu'on atteint pas la fin du fichier */ + while(!feof(stream)) + { + /* lecture d'un caractere */ + if (fread(zone_char, sizeof(char), 1, stream) != 0) + { + /* Parcours du tableau pour retrouver la position du caractere*/ + int index = 0; + for (index; index <= 25; index++) + { + /* si le caractere est une majuscule */ + if (*zone_char == alphabetMajuscule[index]) + { + /* On rajoute le deplacement dans l'alphabet de cesar et on sort de la boucle */ + index = indexcesar(index, cesar); + printf("%c", alphabetMajuscule[index]); + break; + } + /* si le caractere est une minuscule */ + if (*zone_char == alphabetMinuscule[index]) + { + /* On rajoute le deplacement dans l'alphabet de cesar et on sort de la boucle */ + index = indexcesar(index, cesar); + printf("%c", alphabetMinuscule[index]); + break; + } + } + /* si la boucle ne s'est jamais arretee, alors ce n'est pas une lettre sinon c'est une lettre et on montre sa nouvelle valeur */ + if (index == 26) { + printf("%c", *zone_char); + } + } + } + fclose(stream); + free(zone_char); + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/main.c b/main.c deleted file mode 100644 index 964355b..0000000 --- a/main.c +++ /dev/null @@ -1,12 +0,0 @@ -#include -#include - -int main(int argc, char const *argv[]) -{ - /* creation du tableau contenant toutes les lettres de l'alphabet */ - char alphabet[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','T','U','V','X','Y','Z'}; - - FILE* - - return EXIT_SUCCESS; -} \ No newline at end of file