Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.69 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int leggi_frase(char arr[]){
  4.     printf("Inserisci la frase da decriptare, inserendo '_' al posto degli space e digitando '/' per terminare l'acquisizione\n");
  5.     char v;
  6.     int i=0;
  7.     scanf("%c", &v);
  8.     while(v != '/' && i<99){
  9.         arr[i]=v;
  10.         scanf(" %c", &v);
  11.         i++;
  12.     }
  13.     return i;
  14. }
  15.  
  16. int cripta(char arr[], int len){
  17.     printf("Inserisci 0 per il primo metodo di criptazione e 1 per il secondo\n");
  18.     int v;
  19.     scanf("%d", &v);
  20.     if(v==0){
  21.         char x= arr[0];
  22.         int i;
  23.         for(i=0; i<len-1; i++){
  24.             arr[i]=arr[i+1];
  25.         }
  26.         arr[len]= x;
  27.     } else if (v==1){
  28.                 int i;
  29.                 for(i=0; i<len; i++){
  30.                     arr[i]=arr[i]+3;
  31.                 }
  32.     }
  33.     return v;
  34. }
  35.  
  36. void decripta(char arr[], int len, int c){
  37.     if(c==0){
  38.         char x= arr[len];
  39.         int i;
  40.         for(i=1; i<len; i++){
  41.             arr[i]=arr[i+1];
  42.         }
  43.         arr[0]= x;
  44.     } else if (c==1){
  45.                 int i;
  46.                 for(i=0; i<len; i++){
  47.                     arr[i]=arr[i]-3;
  48.                 }
  49.     }
  50. }
  51.  
  52. void print_frase(char arr[], int len){
  53.     int i;
  54.     printf("La frase รจ': ");
  55.     for(i=0; i<len; i++){
  56.         printf("%c", arr[i]);
  57.     }
  58.     printf("\n");
  59. }
  60.        
  61.  
  62.  
  63. int main(void) {
  64.     char arr[99], x;
  65.     int len, c, y;
  66.     len=leggi_frase(arr);
  67.     printf("Digita 0 per criptare o 1 per decriptare\n");
  68.     scanf(" %c", &x);
  69.     switch (x) {
  70.         case '0':
  71.                 c=cripta(arr, len);
  72.                 print_frase(arr, len);
  73.                 printf("Digita 0 per decriptare o 1 per terminare\n");
  74.                 scanf("%d", &y);
  75.                 if(y==0){
  76.                     decripta(arr, len, c);
  77.                     print_frase(arr, len);
  78.                 }
  79.                 break;
  80.  
  81.         case '1':
  82.                 printf("Inserisci la chiave di decriptazione, 0 per il primo metodo e 1 per il secondo\n");
  83.                 scanf("%d", &c);
  84.                 decripta(arr, len, c);
  85.                 print_frase(arr, len);
  86.                 break;
  87.     }      
  88.     return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement