恺撒密码,达人进来指点

MAOGE1987 2008-03-20 04:11:43
刚学C++不久,对这个密码算法编了个程序,但结果不对.希望有个达人能知道下,是不是要用指针指向才得...谢谢
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "\n请输入加密密码:";
cin >> i;
char a;
cout << "\n请输入明文:\t";
cin >> a;
cout << "\n密文是:\t";
while(a != '\n')
{
if((a <= 'z' && a >= 'a') || ( a <= 'Z' && a >='A'))
{
cout<<char(a+i);
if(a == ' ')
cout << " ";
}
return 0;
}
}
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
独孤过儿 2008-03-20
  • 打赏
  • 举报
回复
恩?我不是给你改了吗?
MAOGE1987 2008-03-20
  • 打赏
  • 举报
回复
自己给自己给分了...哎
MAOGE1987 2008-03-20
  • 打赏
  • 举报
回复
改过了,但是程序不健全而已,帖个完整的
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "\n请输入加密密码:";
cin >> i;
char b,c,a;
cout << "\n请输入明文:\t";
cin>>a;

b = char('z' - i%26);
c = char('Z' - i%26);
cout << "\n密文是:\t";
while(a != '\n')
{
if((a <= 'z' && a >= 'a') || ( a <= 'Z' && a >='A'))
{ if((a <= b && a >= 'a') || ( a <= c && a >='A'))
cout << char(a + i%26);
if(a > c && a <= 'Z')
cout << char(a + i%26 - 26);
if(a > b && a <= 'z')
cout << char(a + i%26 - 26);
if(a == ' ')
cout << " ";
}
else
cout << a;
a = cin.get();
}
return 0;
}
paidfighting 2008-03-20
  • 打赏
  • 举报
回复
你的不就是对的么?
hslinux 2008-03-20
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "\n请输入加密密码:";
cin >> i;
char a[256]={0};
cout << "\n请输入明文:";
cin >> a;
cout << "\n密文是:";
int j = 0;
while(a[j] != '$' && j<256) //输入$结束
{
if((a[j] <= 'z' && a[j] >= 'a')|( a[j] <= 'Z' && a[j] >='A'))
{
cout << char(a[j]+i);
if(a[j] == ' ')
cout << " ";
}
++j;
}
cout << endl;
return 0;
}
MAOGE1987 2008-03-20
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "\n请输入加密密码:";
cin >> i;
char a;
cout << "\n请输入明文:\t";
cin >> a;
cout << "\n密文是:\t";
while(a != '\n')
{
if((a<='z'&&a>='a')||( a<='Z'&&a>='A'))
cout <<char(a+i);
if(a == ' ')
cout << " ";
a = cin.get();
}
return 0;
}
修改过了,但程序不健全,还是要修改下,再加其他情况了
独孤过儿 2008-03-20
  • 打赏
  • 举报
回复

#include <iostream>
using namespace std;
int main()
{
int i;
cout << "\n请输入加密密码:";
cin >> i;
char a;
cout << "\n请输入明文:\t";
cin >> a;
cout << "\n密文是:\t";
while(a != '$') //输入$结束
{
if((a <= 'z' && a >= 'a')|( a <= 'Z' && a >='A'))
{
cout << char(a+i);
if(a == ' ')
cout << " ";
}
cout << "\n请输入明文:\t";
cin >> a;
}
return 0;
}

64,640

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧