问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问下面这个C++程序要怎么写?

发布网友 发布时间:2024-04-10 02:42

我来回答

2个回答

热心网友 时间:2024-04-11 13:57

这是在你的程序基础上修改而成的,试了一下,应该可以解密了,还有你给的程序加密后的结果好像不对吧,主要是千位个位交换,十位百位交换的代码有问题。
//2015/3/12 by LDSD
#include<iostream>
#include<fstream>
using namespace std;
void func1();
void func2();
void func3();
int one, ten, hundred, thousand, key, newNumber,sec;
void func1()//从文件读取需要加密的数据
{
ifstream out("c:\\secrect.txt");
if (!out)
{
cout << "Cannot open input file.\n";
}
out >> sec;
cout << sec<<endl;
}
void func2()//加密
{
int newOne, newTen, newHundred, newThousand;
int a, b;
cout<<"请输入任意密匙"<<endl;
cin >> key;
newOne = (one + key)% 10;
newTen = (ten + key) %10;
newHundred = (hundred + key)  %10;
newThousand = (thousand + key) %10;
a = newOne;
newOne=newThousand;
newThousand = a;
a = newTen;
newTen=newHundred;
newHundred=a;
newNumber = newThousand * 1000 + newHundred * 100 + newTen * 10 + newOne;
cout << "newNumber= " << newNumber << endl;
}
void func3()//加密后的数据保存为一个新文件
{
ofstream myfile("c:\\newSecrect.txt");  
if(!myfile) 
{  
cout<<"error !";

else 
{  
myfile<<newNumber; 
myfile.close(); 
}
}
int change(int num)
{
    if(num>=key)
return num-key;
else
return 10+num-key;
}
void decryption()
//该函数用来解密加密后的数据
{
int data,a;
ifstream fin("c:\\newSecrect.txt");  //从newSecrect文件读取密文,该文件的路径是c:\\newSecrect.txt
if (!fin)
{
cout << "Cannot open input file.\n";
}
fin >> data;
thousand=data/1000;
hundred=(data-thousand*1000)/100;
ten=(data-thousand*1000-hundred*100)/10;
one=data%10;
a = one;
one=thousand;
thousand = a;
a = ten;
ten=hundred;
hundred=a;
cout<<"还原后的数据是:"<<change(thousand)<<change(hundred)<<change(ten)<<change(one)<<endl;
}

void main()
{
func1();
thousand=sec/1000;
hundred=(sec-thousand*1000)/100;
ten=(sec-thousand*1000-hundred*100)/10;
one=sec%10;//获取密码各数位上的数
func2();
func3(); 
decryption();
}

热心网友 时间:2024-04-11 13:57

你的题目都是不完整的。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
网上上传一本十几万字的小说可以有多少钱 中国民间风俗目录 怎么才能提升外贸B2C商城网站建设的体验度? 谁不是一边做外贸B2B,一边做B2C呢? 咖啡豆有哪几种 你了解四种类型的咖啡豆吗? 咖啡豆的两大品种是啥 乌爹泥的意思是什么 孩儿茶的意思是什么 双鱼座的你,会不会喜欢上和自己同星座的人,为什么? C++,打开一个文件,一次读入文件中两个字符,加密,并将加密后内容存入另一... 加密后的文件能不能打开? 可以理解电子带一个中子吗? 中子是电子吗? 电子是否为中子??? 如何在QQ显示栏上显示qq空间新的照片 古尔邦节的来历和意义古尔邦节的来历和意义是什么 word2010怎么把两页变成一页。如图!!怎么把这一页让页面居中显示!最好... 穿越火线河南一区排名第一的战队是哪个? 永安枣岭村瀑布在哪里 《礼记·王制》中“天子七庙大祖”该记载中体现了西周的政治特点是... ...志中的作者对商鞅变法持什么态度?“务本”“王制逐灭”是指什么... 商君的哪些措施导致王制遂灭 《礼记·王制》周代命数制表明了什么 水浒传:大牢之中,杨志求王制使赎他出去,真是可怜! 反胃吃酸的可以缓解吗 王牌战斗机空战手游无限金币版下载 无限空战的召唤修改版高速下载 全民风云战机无限金币如何下载 写给怪猎新人的太刀见切入门攻略 fstream 有没有办法让别人用TXT 记事本打开是乱码,而我用程序打开是正常... c++fsream流读写文件问题--在线等待 梨字可以组成哪些新字? 一个手机号注册的两个 其中一个微信忘记密码怎么找回? 我一个手机号注册了2个微信,但是其中一个密码忘记了,怎么... 一个手机号绑定两个怎么找回另一个? 我一个手机号注册了2个微信,但是其中一个密码忘记了,怎么... 同一个手机号登录两个,只有一个的微信是绑定的,另外一个人的密码... 我一个手机号注册了2个微信,但是其中一个密码忘记了,怎么... 一个手机号注册的两个 其中一个微信忘记密码怎么找回? ...凑热闹的不懂水晶的别进。我同学说我的水晶手链是假的,她说是玻璃的... 紫水晶手链 颜色很深 看不出絮状物 表面是菱形切割 怎么辨别真假?(透过... 我有一条水晶手链,表面磨了,是真的吗? 怎样防止掉发,如何清理掉满头发的房间?谢谢了,大神帮忙啊 蒲公英的描写有哪些? 龙虎争打一数 以旧换新苹果需要带什么? ...后才看见上面写着要先交2000元保险金。合同签完了。但是我查了那个... 我今天申请一个贷款,三万的。签了一个电子合同。交了2000的保险金... 抖音打赏平台有哪些?