作业(修订版):凯撒密码,当字母>'z'时回绕(c ++)

Mar*_*bri 2 c++ encryption

我早些时候在这里并且有一只手添加到字符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");
}
Run Code Online (Sandbox Code Playgroud)

thi*_*ton 5

模运算是你的朋友.只要整数形成一个环而不是一个序列,就可以应用模运算,如:

5 % 4 == 17 % 4
Run Code Online (Sandbox Code Playgroud)

你需要在整数空间中计算它,相对于'a'当然,'a'适当减去.