首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

这个简单程序为什么会有错?小弟我觉得没有错,但是就是编不过

2012-01-18 
这个简单程序为什么会有错?我觉得没有错,但是就是编不过。#includeiostreamusing namespace std#defineC

这个简单程序为什么会有错?我觉得没有错,但是就是编不过。
#include<iostream>
using namespace std;
#defineCHANGE 1;
int main()
{  
char ch[40];
cout<<"input a text:"<<endl;
gets(ch);
#if(CHANGE)//显示输出的那句话的密码形式(即每个字母的下一个字母如:a--b,...z--a)
{for(int i;i<40;i++)
{ if(char[i]!='\0')

if (char[i]>='a'&&char[i]<='y'||char[i]>='A'&&char[i]<='Z')
char[i]=char[i]+1;
else if(char[i]='z'||char[i]='Z')
char[i]=char[i]-25;
}
}
#endif
cout<<"output:"<<endl<<ch;
return 0;

}


[解决办法]
加上
if(char[i]=='\0')
break;

{for(int i;i<40;i++)

if(char[i]=='\0')
break;
if(char[i]!='\0')

if (char[i]>='a'&&char[i]<='y'||char[i]>='A'&&char[i]<='Z')
char[i]=char[i]+1;
else if(char[i]='z'||char[i]='Z')
char[i]=char[i]-25;
}
[解决办法]
我的三点意见:
1、如楼上 加上if(char[i]=='\0') break;或者循环结束条件为char[i]=='\0'
2、for循环变量初始化for(int i;i<40;i++)
3、把后面的‘Z’改成‘Y’if (char[i]>='a'&&char[i]<='y'||char[i]>='A'&&char[i]<='Z')

C/C++ code
#include<iostream>using namespace std;#define    CHANGE 1;int main(){     char ch[40];  cout<<"input a text:"<<endl;  gets(ch);  #if(CHANGE)//显示输出的那句话的密码形式(即每个字母的下一个字母如:a--b,...z--a)  {     for(int i=0;char[i]!='\0';i++)     {         if (char[i]>='a'&&char[i]<'z'||char[i]>='A'&&char[i]<'Z')//a-z,A-Z更清晰           char[i]=char[i]+1;        else if(char[i]='z'||char[i]='Z')           char[i]=char[i]-25;     }  }  #endif  cout<<"output:"<<endl<<ch;  return 0;}
[解决办法]
刚才没仔细看,补充下
我的四点意见:
1、如楼上 加上if(ch[i]=='\0') break;或者循环结束条件为ch[i]!='\0'
2、for循环变量初始化for(int i;i<40;i++)
3、把后面的‘Z’改成‘Y’if (char[i]>='a'&&char[i]<='y'||char[i]>='A'&&char[i]<='Z')【另外char换乘ch】
4、char[i]与ch[i]混淆,没有char[]的定义
C/C++ code
#include<iostream>using namespace std;#define    CHANGE 1;int main(){     char ch[40];  cout<<"input a text:"<<endl;  gets(ch);  #if(CHANGE)//显示输出的那句话的密码形式(即每个字母的下一个字母如:a--b,...z--a)  {     for(int i=0;ch[i]!='\0';i++)     {         if (char[i]>='a'&&ch[i]<'z'||ch[i]>='A'&&ch[i]<'Z')//a-z,A-Z更清晰           ch[i]=ch[i]+1;        else if(ch[i]='z'||ch[i]='Z')           ch[i]=ch[i]-25;     }  }  #endif  cout<<"output:"<<endl<<ch;  return 0;} 

热点排行