Bonjour à tous, j' essaye de developper mon premier programme en C.
Je me sert des tutoriaux mis à disposition sur developpez.com , mais voila j'ai un souci et je ne comprends pas !

J'utilise Dev-C++ pour developper .

J'aimerai faire un Cryptage selon la méthode de César, mais je n'y arrive pas.

Voila 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
/* Déclaration de la fonction sleep  */
void sleep( int nbr_seconds );
/* Déclaration de la fonction cesar  */
void cesar (char *str, int decalage);
 
 
void main( void )
{ 
    char *str ;
    str = "bonjour" ; 
    int decalage = 2;
 
    cesar ( *str , decalage );
 
    while (*str)
    {
          printf ("%c",* str) ;
          str++ ;
    }
 
    int x;
    int wait = 13;
 
    /* Pause pendant un nombre de secondes déterminé. On affiche *
     * un point pour chaque seconde de pause.                   */
 
    printf("Pause pendant %d secondes\n", wait );
    printf(">");
 
    for (x=1; x <= wait; x++)
    {
       printf(".");         /* affichage d'un point */
       fflush(stdout);      /* on force l'affichage du point sur les*/
                            /* machines qui utilisent la mémoire tampon*/
       sleep( (int) 1 );    /* pause d'une seconde */
    }
    printf( "Fin !\n");
 
}
 
 
/* Pause pendant un nombre de secondes déterminé */
void sleep( int nbr_seconds )
{
    clock_t goal;
 
    goal = ( nbr_seconds * CLOCKS_PER_SEC ) +  clock();
 
    while( goal > clock() )
    {
       ; /* loop */
    }
}
 
/* Cryptage selon la méthode de César */
void cesar (char *str, int decalage)
{
  const char alphabet[] = {'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'};
 
  while (*str)
  {
    int i;
 
    for (i = 0; i < 26; i++)
    {
      if (alphabet[i] == *str)
      {
        *str = alphabet[(i+decalage)%26];
        break;
      }
    }
    str++;
  }
}
et quand je compile j'obtient ça :
In function `main':
[Warning] passing arg 1 of `cesar' makes pointer from integer without a cast
[Warning] return type of 'main' is not `int'