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++;
}
} |
Partager