Advertisement
ara1123

encrypt

Sep 19th, 2017
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int encrypt (int n);
  5. int decrypt (int n);
  6. void clearbuffer ();
  7.  
  8. int main ()
  9. {
  10.     int done, n1;
  11.    
  12.     done = 0;
  13.     n1 = 0;
  14.    
  15.     char input;
  16.    
  17.     while (done != 1)
  18.     {
  19.     printf("Please Enter an 'e' to encrypt, 'd' to decrypt, or a 't' to terminate the program: ");
  20.     scanf("%c", &input);
  21.     clearbuffer();
  22.    
  23.     if (input == 't')
  24.     {    
  25.         done++;
  26.     }
  27.     else if (input == 'e')
  28.     {  
  29.         printf("Enter a four digit integer to be encrypted:  \n");
  30.         scanf("%d", &n1);
  31.         clearbuffer();
  32.        
  33.         printf("Encrypted number is: %d \n", encrypt(n1));
  34.     }
  35.     else if (input == 'd')
  36.     {    
  37.         printf("Enter a four digit encrypted number: \n");
  38.         scanf("%d", &n1);
  39.         clearbuffer();
  40.        
  41.         printf("Decrypted number is: %d \n", decrypt(n1));
  42.     }
  43.     else
  44.     {    
  45.         printf("Wrong input value \n");
  46.     }
  47. }
  48.  
  49.     printf("**Program Terminated**");
  50.     return 0;
  51. }
  52.  
  53.  
  54. int encrypt (int n)
  55. {
  56.     int result, d1,d2,d3,d4, x;
  57.    
  58.     result = 0;
  59.     x = 0;
  60.    
  61.     d1 = (n/1000 + 7) % 10;
  62.    
  63.     d2 = ((n/100 %10) + 7) % 10;
  64.    
  65.     d3 = ((n/10 %10) + 7) % 10;
  66.    
  67.     d4 = ((n %10) + 7) % 10;
  68.    
  69.     x = d1;
  70.     d1 = d3;
  71.     d3 = x;
  72.  
  73.     x = d2;
  74.     d2 = d4;
  75.     d4 = x;
  76.    
  77.     result = d1*1000  +  d2*100  +  d3*10  + d4;
  78.    
  79.     return result;
  80. }
  81.  
  82.  
  83. int decrypt (int n)
  84. {
  85.     int result, d1,d2,d3,d4, x;
  86.    
  87.     result = 0;
  88.     x = 0;
  89.    
  90.     d1 = (n/1000 + 3) % 10;
  91.    
  92.     d2 = ((n/100 %10) + 3) % 10;
  93.    
  94.     d3 = ((n/10 %10) + 3) % 10;
  95.    
  96.     d4 = ((n %10) + 3) % 10;
  97.    
  98.     x = d1;
  99.     d1 = d3;
  100.     d3 = x;
  101.  
  102.     x = d2;
  103.     d2 = d4;
  104.     d4 = x;
  105.    
  106.     result = d1*1000  +  d2*100  +  d3*10  + d4;
  107.    
  108.     return result;
  109. }
  110.  
  111.  
  112. void clearbuffer ()
  113. {
  114.     int ch;
  115.    
  116.     while ((ch = getchar ()) != EOF && ch!= '\n')
  117.     ;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement