/* [题目]编写一个程序,将一个包含大小写字母的纯字母明文串转换为纯大写字母的加密串输出。 加密规则为: 明文字母转换为其对应大写字母的后面第3个大写字母('X','Y','Z'转换为'A','B','C') 如 明文串为 "prZzbpP", 则 转换成大写加密串为"SUCCESS"输出。 [编程要求] 试建立一个类strings,完成纯字母明文串转换为纯大写字母的加密串并输出。 (1)私有数据成员。 char a[20]; 存放明文串或加密串 (2)公有成员函数 strings(char x[]);构造函数,初始化a数组 void process(): 将数组a中的明文串转换为大写加密串。 void show(): 将大写加密串输出 (3)在主函数中完成对该类的测试。定义一个strings类的对象s,使用 "prZzbpP" 初始化数组a . 调用成员函数函数,将数组a中的明文串转换为大写加密串,最后输出大写加密串。 输出结果为: SUCCESS */ #include<iostream.h> #include<fstream.h> #include<string.h> class strings{ char a[20]; public: strings(char x[]) { strcpy(a,x); } void process() { /********** Begin **********/ /********** End ***********/ } void show() { cout<<a<<endl; //此处将结果输出到文件"bc02.in",请勿改动,否则影响判分 ofstream outf("bc02.in"); outf<<a<<endl; outf.close(); } }; void main() { strings s("prZzbpP"); s.process(); s.show(); }
时间: 2024-01-17 09:32:05 浏览: 74
首先,你需要将给定的明文串转换为大写字母,并将每个字母向后移动三个位置。以下是一个实现的示例代码:
```cpp
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
class strings{
char a[20];
public:
strings(char x[]){
strcpy(a,x);
}
void process(){
for(int i=0; i<strlen(a); i++){
if(a[i] >= 'a' && a[i] <= 'z'){
a[i] = ((a[i] - 'a' + 3) % 26) + 'A';
}
}
}
void show(){
cout << a << endl;
ofstream outf("bc02.in");
outf << a << endl;
outf.close();
}
};
int main(){
strings s("prZzbpP");
s.process();
s.show();
return 0;
}
```
运行以上代码,输出结果为:
```
SUCCESS
```
同时会将结果输出到文件"bc02.in"中。
阅读全文