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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define TAILLE_MAX 2000
void clean_stdin (void);
void pause (int);
char *strcat(char *destination, const char *origine);
char* openfichier()
{
char str[3000];
FILE* fichier = NULL;
char chaine[TAILLE_MAX] = "";
fichier = fopen("readme.txt", "r");
if (fichier != NULL)
{
while (fgets(chaine, TAILLE_MAX, fichier) != NULL)
{
strcat(str, "", chaine);
printf("%s", chaine);
}
fclose(fichier);
}
else
{
printf("\nImpossible d'ouvrir le fichier readme.txt\n\n");
pause (1);
return NULL;
}
return static chaine;
}
void ecrire()
{
FILE* fichier = NULL;
int ecrire = chaine;
fichier = fopen("readme.txt", "w");
if (fichier != NULL)
{
fprintf(fichier, "%c", ecrire);
fclose(fichier);
}
return NULL;
}
void cesar_crypt (int decallage, char *texte)
{
int i;
for(i=0 ; i<strlen(texte) ; i++)
if ('a' <= texte[i] && texte[i] <= 'z')
texte[i] = 'a' + ((texte[i] - 'a') + decallage)%26;
else
if ('A' <= texte[i] && texte[i] <= 'Z')
texte[i] = 'A' + ((texte[i] - 'A') + decallage)%26;
else
{
}
}
int main(int argc, char *argv[])
{
int decalage = 0;
int crypter = 0;
openfichier();
printf ("\n\nUtiliser un decallage de combien de lettres pour crypter ce fichier ?\n\n");
scanf ("%d", &decalage);
printf ("\n\nVoulez-vous vraiment crypter ce texte en utilisant un decalage de %d lettres ?\n\n", decalage);
printf ("Ecrivez 1 pour Oui ou 0 pour Non\n\n");
scanf ("%d", &crypter);
if (crypter == 1)
{
system ("cls");
printf ("\nC'est parti xD\n\n");
printf ("\nTexte crypte, avec un decallage de %d lettres, disponible a la fin du fichier \nreadme.txt situe a la racine du logiciel \n\n", decalage);
pause (1);
return 0;
}
else if (crypter == 0)
{
system ("cls");
printf ("`\nAu revoir, et bonne journée\n\n");
pause (1);
return 0;
}
else if (crypter < 0 || crypter > 1)
{
printf ("\nVeuillez entrer 0 ou 1\n\n");
scanf ("%d", &crypter);
while (crypter < 0 || crypter > 1)
{
printf ("\nVeuillez entrer 0 ou 1\n\n");
scanf ("%d", &crypter);
}
if (crypter == 1)
{
system ("cls");
printf ("\nC'est parti xD\n\n");
}
else if (crypter == 0)
{
system ("cls");
printf ("`\nAu revoir, et bonne journée\n\n");
pause (1);
return 0;
}
}
system ("pause");
return 0;
}
void clean_stdin (void)
{
int c = 0;
do
{
c = getchar();
} while (c != '\n' && c != EOF);
}
void pause (int b)
{
printf ("\nAppuyez sur Entrer pour quitter\n");
if (b==0)
getchar ();
else if (b==1)
{
clean_stdin ();
getchar ();
}
} |
Partager