C++实验6 数组与指针
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验名称
实验6 数组与指针
二、实验目的
指针是C++最灵活最有特色的部分,没有熟练掌握指针,则不能说学会了C++。数组在处理同类型的多个数据问题时非常有效,是C++的重要数据类型。数组与指针之间有着密切关系。通过实践要求掌握:
1、指针的定义和使用;
2、指针与数组的相互关系;
3、数组或指针作为函数参数的函数定义及调用方法;
三、实验内容
1、课本6-18,6-20
2、按一定的规则可以将一个字符串经加密转换为一个新的串。
【提示】例如加密的简单方法是当为‘a’~‘y’的小写字母时用后一个字母代替前一个字母,其中‘z’变换为‘a’,其他字符时不变。例如:原串为This is a secret code! 加密后的串为Tijt jt b tfdsfu dpef! 编写一个程序对输入串加密,输出加密前和加密后的串,再将加密后的字符串解密输出。自己另设计一个带密钥的加密算法,例如密钥是一个常数,字符串加密的方法是将每个字符的ASCII 码值加上该常数,然后对128 求模。
【要求】编写程序,以密钥将输入的字符串加密输出,再以相同的密钥,将加密字符串解密输出。
四、实验环境
PC微机
Windows 操作系统
Microsoft Visual Studio 6.0集成开发环境;
Microsoft Visual Studio 6.0集成开发环境的MSDN
五、实验步骤
1、6-18:#include
using namespace std;
int *Fn1();
int main()
{
int *a=Fn1();
cout<<"the value of a is:"<<*a;
delete a;
return 0;
}
int *Fn1()
{
int *p=new int (5);
return p;
}
6-20:
#include
using namespace std;
class SimpleCircle
{
public:
SimpleCircle();
SimpleCircle(int);
SimpleCircle(const SimpleCircle &);
~SimpleCircle(){}
void SetRadius(int);
int GetRadius()const;
private:
int *itsRadius;
};
SimpleCircle::SimpleCircle()
{
itsRadius=new int(5);
}
SimpleCircle::SimpleCircle(int radius)
{
itsRadius=new int(radius);
}
SimpleCircle::SimpleCircle(const SimpleCircle & rhs)
{
int val=rhs.GetRadius();
itsRadius=new int(val);
}
int SimpleCircle::GetRadius() const
{
return *itsRadius;
}
int main()
{
SimpleCircle
CircleOne,CircleTwo(9);
cout<<"CircleOne:"< cout<<"CircleTwo:"< return 0; } 2、程序代码:#include #include using namespace std; const int key=12; void main() { string str; cout<<"请输入需要加密的字符:"< cin>>str; for( int i=0;i { if(str[i]=='z') str[i]='a'; if(str[i]>='a'&&str[i]<'z') str[i]++; } cout<<"新字符串为:"< cin>>str; for( i=0;i str[i]=(str[i]+key)%128; cout<<"加密后的字符串为:"< for( i=0;i str[i]=(str[i]-key)%128; cout<<"解密后的字符串为:"< 六、实验数据及处理结果 1、6-18: 6-20: 2、 七、实验总结及体会