当前位置:文档之家› C++实验6 数组与指针

C++实验6 数组与指针

一、实验名称
实验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<iostream>
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<iostream>
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:"<<CircleOn e.GetRadius()<<endl;
cout<<"CircleTwo:"<<CircleT wo.GetRadius()<<endl;
return 0;
}
2、程序代码:#include<iostream>
#include<String>
using namespace std;
const int key=12;
void main()
{
string str;
cout<<"请输入需要加密的字符:"<<str<<endl;
cin>>str;
for( int i=0;i<str.length();i++)
{
if(str[i]=='z')
str[i]='a';
if(str[i]>='a'&&str[i]<'z')
str[i]++;
}
cout<<"新字符串为:"<<str<<endl;
cin>>str;
for( i=0;i<str.length();i++)
str[i]=(str[i]+key)%128;
cout<<"加密后的字符串为:"<<str<<endl;
for( i=0;i<str.length();i++)
str[i]=(str[i]-key)%128;
cout<<"解密后的字符串为:"<<str<<endl; }
六、实验数据及处理结果
1、6-18:
6-20:
2、
七、实验总结及体会。

相关主题