大家能帮我看看这段算法错在哪里吗?

来源:百度知道 编辑:UC知道 时间:2024/05/27 18:28:56
试编写一个加密程序,加密办法是将明文字母变成其后第4个字母,字母表首尾相连。例如,输入明文“china”,输出密文“glmre”。非字母字符不加密,当输入字符“#”时,程序运行结束。 #include <iostream>
#include <cmath>
using namespace std;

int main(void)
{char a;
int b;
cin>>a;
while(a!=#)
{cin.get(a);
b=(int)a;
}
if(65<=b<=86||97<=b<=118)
{c=b+4;
cout<<(char)c;
else
{if(119<=b<=122||87<=b<=90)
{c=b-22;
cout<<(char(c);
}
else
{cout<<(char)b;
}
}
return 0;
}
d:\project1\pro1\1.cpp(27) : fatal error C1010: unexpected end of file while looking for precompiled header directive
这个是编译程序显示错误的地方。

可以运行了:欢迎在线讨论:
#include <iostream>
#include <cmath>
using namespace std;

int main(void)
{
char a;
int b,c;
cin>>a;
while(a!='#')
{
b=(int)a;
if(65<=b&&b<=86||97<=b&&b<=118)
cout<<(char)(b+4);
else
{
if(119<=b&&b<=122||87<=b&&b<=90)
cout<<((char)(b-22));
else
cout<<(char)b;
}
cin.get(a);
}
return 0;
}

给你改好了!
#include <iostream>
#include <cmath>
using namespace std;

int main(void)
{
char a,c;
int b;
while(1)
{
cin.get(a);
if(a == '#') break;
b=(int)a;

if((b<=86 && b>=65)|| (b<=118 && b>=97) )
{
c=b + 4;
cout<<(char)c;
}
else if(b <=122 && b>=119||b<=90 && b>=87)