任意读入一个英文单词,然后将每个字母用其后第三个字母替代(字母X用A替代、Y用B替代、Z用C替代)后形成新的字符串并输出。例如:输入串“China”,则输出“Fklqd”。

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果任意读入一个英文单词,然后将每个字母用其后第三个字母替代(字母X用A替代、Y用B替代、Z用C替代)后形成新的字符串并输出。例如:输入串“China”,则输出“Fklqd”。
#include <iostream>
#include <string>
using namespace std;
int main(){
    string s;
    cin>>s;
    for (int i=0;i<s.size();i++){
        if (s[i]>='a'&&s[i]<='x'||s[i]>='A'&&s[i]<='X')
            s[i]+=3;
    }
    cout<<s; 
}