Advertisement
a53

CaesarCrypt

a53
Aug 11th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include <fstream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. char s[256],opt[8];
  8. int n;
  9. ifstream f("caesar.in");
  10. f.get(s,256);
  11. f.get();
  12. f>>n;
  13. f.get();
  14. f.get(opt,8);
  15. f.close();
  16. int L=strlen(s);
  17. if(strcmp(opt,"encrypt")==0)
  18. for(int i=0;i<L;++i)
  19. {
  20. if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
  21. {
  22. if(s[i]>'Z') ///s[i] e minuscula
  23. if(s[i]-'a'+n>25)
  24. s[i]='a'+(s[i]-'a'+n)%26;
  25. else
  26. s[i]=(s[i]-'a'+n)+'a';
  27. else /// s[i] e majuscula
  28. if(s[i]-'A'+n>25)
  29. s[i]='A'+(s[i]-'A'+n)%26;
  30. else
  31. s[i]=(s[i]-'A'+n)+'A';
  32. }
  33. }
  34. else
  35. for(int i=0;i<L;++i)
  36. {
  37. if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
  38. {
  39. if(s[i]>'Z') ///s[i] e minuscula
  40. if(s[i]-'a'-n<0)
  41. s[i]='a'+26-(-(s[i]-'a'-n)%26);
  42. else
  43. s[i]=(s[i]-'a'-n)+'a';
  44. else /// s[i] e majuscula
  45. if(s[i]-'A'-n<0)
  46. s[i]='A'+26-(-(s[i]-'A'-n)%26);
  47. else
  48. s[i]=(s[i]-'A'-n)+'A';
  49. }
  50. }
  51. ofstream g("dbftbs.out");
  52. g<<s<<'\n';
  53. g.close();
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement