C Programa de cifrado de César

Cómo escribir un programa en C para cifrado de César en el lenguaje de programación C ?


Solution:

  1. /*Programa para a Cifra de César*/
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5. #define MAX 100
  6.  
  7. void codifica(char texto[], int senha){
  8.  
  9.     int i, j;
  10.     char aux[MAX];
  11.  
  12.     for (= 0, j = 0; texto[i] != '\0'; ++i){
  13.         aux[j] = texto[i] + senha;
  14.         ++j;
  15.     }
  16.  
  17.     for (= 0; i < j; ++i){
  18.         texto[i] = aux[i];
  19.     }
  20.     texto[i] = '\0';
  21.  
  22. }
  23.  
  24. void decodifica(char codigo[], int senha){
  25.  
  26.     int i, j;
  27.     char aux[MAX];
  28.  
  29.     for (= 0, j = 0; codigo[i] != '\0'; ++i){
  30.         aux[j] = codigo[i] - senha;
  31.         ++j;
  32.     }
  33.  
  34.     for (= 0; i < j; ++i){
  35.         codigo[i] = aux[i];
  36.     }
  37.     codigo[i] = '\0';
  38.  
  39. }
  40.  
  41. int main(){
  42.  
  43.     char vetor[31];
  44.     int senha;
  45.  
  46.     do {
  47.         printf("\nDigite a mensagem a ser codificada: ");
  48.         fflush(stdin);
  49.         scanf(" %30[^\n]", vetor);
  50.  
  51.         if (strcmp(vetor, "fim") == 0){
  52.             break;
  53.         }
  54.  
  55.         printf("Digite uma senha: ");
  56.         fflush(stdin);
  57.         scanf("%d", &senha);
  58.  
  59.         printf("\nMensagem original: %s", vetor);
  60.  
  61.         codifica(vetor, senha);
  62.  
  63.         printf("\nMensagem codificada: %s", vetor);
  64.  
  65.         decodifica(vetor, senha);
  66.  
  67.         printf("\nMensagem decodificada: %s\n", vetor);
  68.  
  69.     } while (1); //porque?
  70.  
  71.     return 0;
  72. }


Learn More :