注册 登录
编程论坛 C++教室

怎么做啊,大神们,来看看吧!

n哥trouble 发布于 2015-04-25 14:41, 542 次点击
某个公司想用电话传送数据,但又担心窃听。数据都是由四个数字组成的整数。为了使数据传送更安全一些,公司要求你编写一个加密数据的程序。程序读取一个四位整数,然后按如下规则加密:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。再单独编写一个程序,读取一个加密后的四位数字的整数,把它解密成原来的数。

7.    请在原来作业的基础上将加密处理逻辑封装成encrypt函数,并在主函数中调用它们,以测试程序。
程序运行的界面如下:
2 回复
#2
林月儿2015-04-25 19:49
#include<iostream>
using namespace std;
class data{
    public:
        int x[4];
        int y[4];
        void encrypt(){
            save();
            for(int i=0;i<4;i++)
            x[i]=(x[i]+7)%10;
            int x=this->x[0];this->x[0]=this->x[2];this->x[2]=x;
            x=this->x[1];this->x[1]=this->x[3];this->x[3]=x;
        }
        void save(){
            for(int i=0;i<4;i++)
            this->y[i]=this->x[i];
        }
        void reversedata(){
            for(int i=0;i<4;i++)
            this->x[i]=this->y[i];
        }
        void display(){
            for(int i=0;i<4;i++)
            cout<<this->x[i];
            cout<<endl;
        }
};
int main(){
    data a;
    for(int i=0;i<4;i++){
        cout<<"请输入第"<<i+1<<"个数据:";
        cin>>a.x[i];
    }
    a.encrypt();
    a.display();
    a.reversedata();
    a.display();   
}
#3
n哥trouble2015-04-26 14:27
太感谢你了,
1