lwytop

mp5

Jul 17th, 2017
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.74 KB | None | 0 0
  1. //
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <string>
  7. #include <fstream>
  8.  
  9. using namespace std;
  10.  
  11. string keyWord_In_Array(string keyword) {
  12.  
  13.     string code;
  14.     char ch = ' ';
  15.    
  16.     for (size_t i = 0; i < keyword.length() ; i++)
  17.     {
  18.         if (keyword[i] != ch) {
  19.             code += keyword[i];
  20.             ch = keyword[i];
  21.         }
  22.        
  23.        
  24.     }
  25.     return code;
  26. }
  27.  
  28. string Make_Rest_Code(string code) {
  29.     string fullCode = "ABCDEFGHIJKLMNOPQRSTUVWXY";
  30.  
  31.     for (size_t i = 0; i < code.length() ; i++)
  32.     {
  33.         int index = 0;
  34.         index = fullCode.find(code[i]);
  35.  
  36.         fullCode.erase(index, 1);
  37.  
  38.     }
  39.  
  40.     return fullCode;
  41. }
  42.  
  43. char Decrypt_Character(char ch, char chart[5][5]) {
  44.  
  45.     char convertValue = ' ';
  46.  
  47.  
  48.     for (size_t i = 0; i < 5; i++)
  49.     {
  50.  
  51.         for (size_t j = 0; j < 5; j++) {
  52.             if (ch == chart[i][j]) {
  53.                 convertValue = chart[j][i];
  54.             }
  55.             else {
  56.                 convertValue = ch;
  57.             }
  58.         }
  59.     }
  60.     convertValue = tolower(convertValue);
  61.     return convertValue;
  62.  
  63. }
  64.  
  65. char Encrypt_Character(char ch, char chart[5][5]) {
  66.  
  67.     char convertValue = ' ';
  68.  
  69.  
  70.     for (size_t i = 0; i < 5; i++)
  71.     {
  72.  
  73.         for (size_t j = 0; j < 5; j++) {
  74.             if (ch == chart[i][j]) {
  75.                 convertValue = chart[j][i];
  76.             }
  77.             else {
  78.                 convertValue = ch;
  79.             }
  80.         }
  81.     }
  82.     convertValue = toupper(convertValue);
  83.  
  84.     return convertValue;
  85.  
  86. }
  87.  
  88.  
  89. int main()
  90. {
  91.     string data;
  92.     string code;
  93.     string restCode;
  94.     int count1 = 0;
  95.     int count2 = 0;
  96.  
  97.     char chart[5][5];
  98.  
  99.     ifstream inputFile;
  100.     inputFile.open("c:\\temp\\mp5.txt");
  101.  
  102.     getline(inputFile, data);
  103.     cout << "Keyword is " << data << endl;
  104.  
  105.     code = keyWord_In_Array(data);
  106.  
  107.     restCode = Make_Rest_Code(code);
  108.  
  109.     cout << restCode;
  110.  
  111.     for (size_t i = 0; i < size(chart) ; i++)
  112.     {
  113.    
  114.         for (size_t j = 0; j < size(chart[i]); j++)
  115.         {
  116.             if (count1 < code.length()) {
  117.  
  118.                 chart[i][j] = code[count1];
  119.                 count1++;
  120.             }
  121.             else {
  122.                 chart[i][j] = restCode[count2];
  123.                 count2++;
  124.             }
  125.         }
  126.  
  127.     }
  128.  
  129.     cout << endl << endl;
  130.  
  131.     cout << "         Col 0  Col 1  Col 2  Col 3  Col 4" << endl;
  132.     cout << "        __________________________________" << endl;
  133.  
  134.     for (size_t i = 0; i < size(chart); i++)
  135.     {
  136.         printf("Row %d:", i);
  137.  
  138.         for (size_t j = 0; j < size(chart[i]); j++)
  139.         {
  140.             cout << " |  ";
  141.             printf("%c ", chart[i][j]);
  142.         }
  143.         cout << " |\n";
  144.     }
  145.  
  146.     cout << "******************************************" << endl;
  147.    
  148.    
  149.  
  150.     while (!inputFile.eof()) {
  151.         getline(inputFile, data);
  152.  
  153.         cout << data << endl;
  154.         string convertString = "";
  155.  
  156.         if (data[0] == 'D') {
  157.             for (size_t i = 2; i < data.size() ; i++)
  158.             {
  159.                 char convertValue = ' ';
  160.                
  161.  
  162.                 for (size_t j = 0; j < size(chart); j++)
  163.                 {
  164.  
  165.                     for (size_t k = 0; k < size(chart[j]); k++) {
  166.                         if (data[i] == chart[j][k]) {
  167.                             convertValue = chart[k][j];
  168.                         }
  169.                         else {
  170.                             convertValue = data[i];
  171.                             cout << data[i] << endl;
  172.                         }
  173.                     }
  174.                 }
  175.                 convertValue = tolower(convertValue);
  176.  
  177.                 convertString += convertValue;
  178.             }
  179.  
  180.             cout << "Decrypt to: " << endl;
  181.             cout << convertString << endl;
  182.             cout << "******************************************" << endl;
  183.  
  184.         }
  185.         else if (data[0] == 'E') {
  186.             for (size_t i = 2; i < data.size(); i++)
  187.             {
  188.                 char convertValue = ' ';
  189.  
  190.  
  191.                 for (size_t j = 0; j < size(chart); j++)
  192.                 {
  193.  
  194.                     for (size_t k = 0; k < size(chart[j]); k++) {
  195.                         if (data[i] == chart[j][k]) {
  196.                             convertValue = chart[k][j];
  197.                         }
  198.                         else {
  199.                             convertValue = data[i];
  200.                            
  201.                         }
  202.                        
  203.                     }
  204.                 }
  205.                 convertValue = toupper(convertValue);
  206.  
  207.                 convertString += convertValue;
  208.             }
  209.            
  210.  
  211.             cout << "Encrypt to: " << endl;
  212.             cout << convertString << endl;
  213.             cout << "******************************************" << endl;
  214.         }
  215.     }
  216.    
  217.     cout << "Have fun!!" << endl;
  218.  
  219.  
  220.  
  221.     return 0;
  222. }
Add Comment
Please, Sign In to add comment