我遇到了啓動加密程序的問題。對於單個單詞字符串,它的效果很好(例如,abcd),但是當我鍵入兩個或三個或更多的單詞(例如,abcd ab ac的一個句子)時,它不會要求輸入密鑰,而是會重寫我輸入的句子。我究竟做錯了什麼?提前致謝。代碼:凱撒密碼 - 怎麼了?
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <conio.h>
#include <string>
#include <stdlib.h>
#include <stdio.h>
int main()
{
int key, l;
char choose;
string message;
cout<<"Type the message"<<endl;
cin>>message;
cout<<"Give me a key from 0 to 26"<<endl;
cin>>key;
for (int i=0,l=message.size(); i<=l; i++)
{
if (isalpha(message[i]))
{
if (isupper(message[i]))
{
cout<<(char)('A'+(message[i]-'A'+key)%26);
}
if (islower(message[i]))
{
cout<<(char)('a'+(message[i]-'a'+key)%26);
}
}
else
{
cout<<message[i];
}
}
return 0;
}
如果我們能看到你寫的代碼,這將更容易回答。否則,這是誰可以猜測和/或讀你的思想的比賽。 – CoryKramer 2014-11-21 13:55:47
對不起,我對此有所作爲。我編輯它。 – DominikM 2014-11-21 14:01:29
如果我運行它並輸入幾個單詞,它不會重複我輸入的句子;它要求一個鍵,然後打印我輸入的第一個單詞。你確定你正在運行這個程序嗎? – molbdnilo 2014-11-21 14:08:29