Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  ads
Language: C/C++
Code:
#include <iostream>
#include <clocale>
#include <string>
#include <cstdlib>
#include <cmath>

using namespace std;

void encrypt() {
    string s;
    string bin;
    cin.ignore();
    getline(cin, s);
    for (int i = 0; i < s.size(); i++) {
        string t;
        int n = int(s[i]);
        for (int j = 0; n > 0; j++) {
            t += to_string(n % 2);
            n = n / 2;
        }
        while (t.size() < 7) {
            t += '0';
        }
        //cout << t << "n";
        bin += t;
    }
    cout << bin << "n";
}

void decrypt() {
    double tx = 0, t;
    string bin, str;
    cin >> bin;
    for (int i = 0; i < bin.size(); i += 7) {
        string n = bin.substr(i, 7);
        tx = 0;
        int j = 0;
        while (j != n.size()) {
            t = n[j] - '0';
            tx += t * pow(2, j);
            j++;
        }
        str += tx;
    }
    cout << str << "n";
}

int main() {
    setlocale(LC_ALL, "Russian");
    do {
        string x;
        cin >> x;
        if (x == "encrypt") {
            encrypt();
        }
        else if (x == "decrypt") {
            decrypt();
        }
        else if (x == "exit") {
            exit(0);
        }
        else
            cout << "unknowable command" << "nn";
    } while (true);
    return 0;
}
          
          
Comments: