嘿,我是C ++编程的新手,我对它有所了解,但我仍然坚持这个简单的问题,我想使用字母A-Z
创建一个移位密码并将它们移动3个位置,我得到的一切,但当我做我的输出时,我得到额外的字母,如"|[|"
我不知道我必须放一个终结器,我做了但似乎没有工作。这是我的计划草稿。
#include<iostream>
#include<iomanip>
#include<cstring>
#include<cmath>
using namespace std;
int main()
{
//char
char caesar[]="THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG";
char cipher[255];
char lookup[26];
int key=3,i,index;
for(i=0;i<26;i++)
{
lookup[i]= static_cast<char>(65+i);
}
for(i=0;i<43;i++)
{
if (caesar[i]>='A' && caesar[i]<='Z')
{
index= static_cast<int>(caesar[i])-65;
cipher[i]=lookup[(index+key)%26];
}
else
cipher[i]=caesar[i];
}
//Null Terminator
cipher[i]!='\0'
cout<<cipher<<endl;
return 0;
}
答案 0 :(得分:8)
您使用!= 代替 = ,并且还缺少;
cipher[i]!='\0'
应该是:
cipher[i]='\0';