编写一个程序,将一个包含大小写字母的纯字母明文串转换为纯大写字母的加密串输出。 加密规则为: 明文字母转换为其对应大写字母的后面第3个大写字母(’X’,’ ’,’ ’转换为’’’B'’c’) 如 明文串为"prZzbpP", 则 转换成大写加密串为"SUCCESS"输出。 [编程要求] 试建立一个类strings,完成纯字母明文串转换为纯大写字母的加密串并输出。(1)私有数据成员。 char a[20];存放明文串或加密串(2)公有成员函数 strings(charx[]);构造函数,初始化a数组 void process():将数组a中的明文串转换为大写加密串。 void show(): 将大写加密串输出 (3)在主函数中完成对该类的测试。定义一个strings类的对象s,使用"prZzbpP”初始化数组a. 调用成员函数函数,将数组a中的明文串转换为大写加密串,最后输出大写加密串。
时间: 2024-03-09 20:50:37 浏览: 48
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
class strings {
private:
char a[20];
public:
strings(char x[]) {
for (int i = 0; i < 20 && x[i] != '\0'; i++) {
a[i] = x[i];
}
}
void process() {
for (int i = 0; i < 20 && a[i] != '\0'; i++) {
if (a[i] >= 'a' && a[i] <= 'z') {
a[i] = ((a[i] - 'a' + 3) % 26) + 'A';
}
else if (a[i] >= 'A' && a[i] <= 'Z') {
a[i] = ((a[i] - 'A' + 3) % 26) + 'A';
}
else if (a[i] == 'X') {
a[i] = 'B';
}
else if (a[i] == ' ') {
a[i] = 'C';
}
}
}
void show() {
for (int i = 0; i < 20 && a[i] != '\0'; i++) {
cout << a[i];
}
cout << endl;
}
};
int main() {
char x[] = "prZzbpP";
strings s(x);
s.process();
s.show();
return 0;
}
```
注:由于题目要求字符串长度不超过20,因此在代码中设定了数组长度为20。
阅读全文