C++ 凯撒密码-什么';怎么了?
我在启动加密程序时遇到问题。对于单字字符串,它工作得很好(例如,abcd),但当我键入两个或三个以上的单词(例如,一个句子,abcd ab ac),它不会要求输入关键字,而是重写我键入的句子。我做错了什么?提前谢谢。守则:C++ 凯撒密码-什么';怎么了?,c++,string,encryption,C++,String,Encryption,我在启动加密程序时遇到问题。对于单字字符串,它工作得很好(例如,abcd),但当我键入两个或三个以上的单词(例如,一个句子,abcd ab ac),它不会要求输入关键字,而是重写我键入的句子。我做错了什么?提前谢谢。守则: #include <iostream> #include <ctime> #include <cstdlib> #include <conio.h> #include <string> #include <st
#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;
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
int main()
{
int键,l;
字符选择;
字符串消息;
不能使用
cin只读取到下一个空格,其余的输入保存在流缓冲区中,以便您在第一步中输入句子中的下一个单词作为第二个cin的输入。如果我们能看到您编写的代码,这将更容易回答。否则,这将是一场谁能猜到和/或读取您的min的竞赛d、 对不起,我忘记了。我编辑了它。如果我运行它并输入几个单词,它不会重复我键入的句子;它要求输入一个键,然后打印我输入的第一个单词。你确定你在运行这个程序吗?我也运行了这个程序,它工作了。你能发布你的输出吗?谢谢,它工作了。你能向我解释一下为什么我的解决方案不可用吗不对吗?
std::getline(std::cin, message);