Salut a tous,

Je doit faire un exo ou je doit prendre une phrase et la coder en cesar.
Voici donc mon code :

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
    char phrase[55] = {0};
    char phraseini[55] = {0};
 
    int i;
    int N;
    int erreur = 0;
 
 
 
    printf("Entrez une phrase au clavier :\n");
    fgets(phrase, 55, stdin);
 
    printf("Choisissez le decallage : ");
    scanf("%d", &N);
 
    printf("Voici la phrase code en cesar : \n");
 
    //SAUVEGARDE DE LA PHRASE
    for(i = 0 ; phrase[i] != '\0'; i++)
    {
        phraseini[i] = phrase[i];
 
    }
 
    //DEBUT CODAGE
    for(i = 0 ; phrase[i] != '\0'; i++)
    {
        if(phrase[i] == ' ')
            printf(" ");
 
        phrase[i] = phrase [i] + N;
 
        if (phrase[i] > 122)
        {
            phrase[i] = phrase[i] - 122;
            phrase[i] = phrase[i] + 96;
        }
 
         if (phrase[i] > 90 && phrase[i] < 97 )
        {
            phrase[i] = phrase[i] - 91;
            phrase[i] = phrase[i] + 64;
        }
 
        printf("%c", phrase[i]);
 
    }
 
    for(i = 0 ; phrase[i] != '\0'; i++)
    {
        if (phrase[i] != phraseini[i])
            erreur ++;
 
    }
 
    if (erreur >= 1)
        printf("Il y a eu une erreur lors de l'encodage/decodage");
    else
        printf("La phrase est valide");
La premiere erreur que j'ai c'est que le programme ne m'affiche rien.
Si au dessus de mon printf("%c", phrase[i]) je lui met printf("Coucou ") la il va m'afficher mes coucous ainsi que mon codage avant chaque coucou.

La seconde erreur c'est qu'apres chaque espace il me rajoute un #, je ne voit pas ou il va me le chercher.
Apres je doit la decoder mais si deja mon encodage marche je me debrouillerai pour le decodage.
Si quelqu'un veux bien m'expliquer.
En vous remerciant.