Etape 1
This commit is contained in:
parent
77b156c0c1
commit
6a0abffad2
71
etape1.c
Normal file
71
etape1.c
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
}
|
71
etape2.c
Normal file
71
etape2.c
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
}
|
12
main.c
12
main.c
@ -1,12 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user