- 论坛徽章:
- 0
|
#include <iostream.h>;
#define N 200
class string
{
int n;//用n表示单词个数
char ch[N];
public:
void setch();
void setn();
void getch();
void getn();
};
void string::setch()
{
cout<<"enter the string: ";
cin.get(ch,N-1);
}
void string::setn()
{
n=0;
if(ch[0]!=' ') n=1;
for(int i=0;i<(N-2);i++)
{
if(ch==' '&&ch[i+1]!=' ')
{ n++;
cout<<endl<<n<<ch<<ch[i+1]<<'@'<<endl;/*此句为检验n是如何变化而设*/
}
}
}
void string::getch()
{
cout<<ch;
}
void string::getn()
{
cout<<n;
}
int main()
{
string st1;
st1.setch();
st1.setn();
st1.getch();
cout<<endl;
st1.getn();
cout<<endl;
return 0;
}
如果输入“aaa bbb abc",程序运行是对的,结果是n=3
但如果输入“aaa bbb abc ",结果就是n=4
为什么啊?
并且,我觉得这个程序写的很不好,维护起来很不方便。哪位高手能帮我改一下啊 |
|