Bonjour

Je doit réaliser un programme qui crypte et décrypte du texte mais je ne sais pas trop par ou commencer.

si l'utilisateur choisi de crypter il rentre sont texte et une fois fini le programme remplace chaque lettre par une autre valeur sans s'occuper des espace entre les mots ni de la ponctuation. Une fois que le programme à fini de tout crypter il envoie le résulta dans un fichier texte.

si l'utilisateur choisis de décrypter ça sera la même chose mais dans le sens inverse.

se qui me pose problème c'est la partie qui doit changer les valeurs.

voila se que j'ai commencé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
static void purger(void)
{
    int c;
 
    while ((c = getchar()) != '\n' && c != EOF)
    {}
}
 
static void clean (char *chaine)
{
    char *p = strchr(chaine, '\n');
 
    if (p)
    {
        *p = 0;
    }
 
    else
    {
        purger();
    }
}
 
int main()
{
    char chaine[1024];
    FILE* fichier = NULL;
 
    while(1)
 {        
    system("CLS");
    printf("*********************************************\n");
    printf("*           Algorithme 'BIC'                *\n");    
    printf("*********************************************\n");
    printf("*                                           *\n");
    printf("* 'encrypte' pour crypter un texte..........*\n");
    printf("*                                           *\n");
    printf("* 'decrypte' pour decrypter.................*\n");
    printf("*                                           *\n");
    printf("*********************************************\n");
 
    printf("\n\nTerminal: ");
 
    fgets(chaine, sizeof chaine, stdin);     
    clean(chaine);
 
    if ( strcmp( chaine, "encrypte" ) == 0 )
       {
                 system("CLS");
                 fgets(chaine, sizeof chaine, stdin);     //ici on demande de rentrer le texte à coder
                 clean(chaine);
 
                 //ici le programme remplacera les valeurs, mais comment ?
 
                 fichier = fopen("encrypte.txt", "a+"); //j'ouvre le fichier encrypt
                 fprintf(fichier, "%s\n", encrypte); //j'y ajoute le texte crypter contenu dans une variable
                 printf("\n\ncryptage fini. vous pouvez voir le résulta dans 'encrypte.txt'\n");
                 getchar();
                 fclose(fichier);
       }
 
    else if ( strcmp( chaine, "decrypte" ) == 0 )
            {
                system("CLS");
                fgets(chaine, sizeof chaine, stdin);     //ici on demande de rentrer le texte à coder
                clean(chaine);
 
                //ici le programme remplacera les valeurs, mais comment ?
 
                fichier = fopen("decrypte.txt", "a+");
                fprintf(fichier, "%s\n", decrypte);
                printf("\n\ndecryptage fini. vous pouvez voir le résulta dans 'decrypte.txt'\n");
                getchar();
                fclose(fichier);
            }   
 
    else
    {    
               system("CLS");
               printf("error /!\\  Press ENTER to continue");
               getchar();
    }
 
 }    
 
    getchar();
	return 0;
}
que me conseillez vous pour la suite ?

petite précision: lorsque le programme devra décrypter il devra le faire 4 chiffres par 4 chiffres (4 chiffres = 1 lettre) pareille comment procéder ?

Merci