我之前在这里,并且手动添加字符ASCII引用以增加每个字母的密码移位。但是我不知道如何解决字符高于'z'的问题。
当有人到达字母表的末尾时,有人可以给我一个关于如何环绕的提示。当然,我不希望有人为我做我的工作。
char decrypt(char letter)
{
int increment = 9;
if(letter == ' ')
{
return letter;
}
letter += increment;
return letter;
}
int main()
{
char message[446]; int i = 0; char space = ' ';
ifstream in("encryptedText.txt");
if(in.getline(message, 446))
{
while(message[i])
{
cout << decrypt(tolower(message[i])) << endl;
i++;
}
}
else
{cout << "Can't read file" << endl;}
cout << endl;
system("pause");
}
答案 0 :(得分:5)
模运算是你的朋友。每当整数形成一个环而不是一个序列时,就可以应用模运算,如:
5 % 4 == 17 % 4
您需要在相对于'a'
的整数空间中计算此值,当然,相应地减去'a'
。