嘿,我是新來的編程在C + +中,我得到它的竅門,但我被困在這一個簡單的問題,我想創建一個使用字母A-Z
的轉移密碼,並將他們3個地方,我得到的一切,但什麼時候我做我的輸出我得到額外的信件是不需要的像"|[|"
我知道我必須把一個終結者,我做了,但似乎並沒有工作。下面是我的程序草稿。爲什麼這個C++程序打印不相關的字符?
#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;
}
這是您的實際代碼?它不會以其當前的形式進行編譯(儘管它只是一個缺少編譯的';')。但是,如果這是你的代碼,缺少';'的行看起來也是問題。 – eldarerathis 2010-09-17 03:16:21
您不需要使用'static_cast'從'char'轉換爲'int'。 – 2010-09-17 03:19:07
不,這是我剛剛想出的 – Eric 2010-09-21 03:03:21