将单个字符转换为大写的问题
#include <iostream.h>
#include <ctype.h>//用来转换字符的函数toupper()的头文件
class string
{
private:
int a,b;
public:
shuru()
{
cout<<"请输入:";
cin>>a;
cout<<"\n输出:";
cout<<toupper(a)<<endl;
}
};
void main()
{
string aa;
aa.shuru();
}
问题时为什么输出老为0,回答加分
问题点数:20、回复次数:6Top
1 楼freefalcon(心宇—消失中...)回复于 2004-05-03 11:59:03 得分 4
class String //不要用string,string是内置字符串类
{
private:
char a,b; //改为char
public:
void shuru()
{
cout<<"请输入:";
cin>>a;
cout<<"\n输出:";
cout<<(char)toupper(a)<<endl;
}
};
void main()
{
String aa;
aa.shuru();
}Top
2 楼cngdzhang()回复于 2004-05-03 11:59:36 得分 4
改了一下,好了
#include <iostream.h>
#include <ctype.h>//用来转换字符的函数toupper()的头文件
class string
{
private:
char a,b; //改了
public:
void shuru()
{
cout<<"请输入:";
cin>>a;
cout<<"\n输出:";
cout<<(char)toupper(a)<<endl;//改了
}
};
void main()
{
string aa;
aa.shuru();
}
Top
3 楼banquet(Everything will be well)回复于 2004-05-03 13:02:39 得分 4
char c1;
while ( cin >> c1 ) {
cout << ( char) toupper( c1 );
}
ctrl + z结束Top
4 楼newegg2002(同志们,同胞们,大学的四年,是扎实基础的四年!!)回复于 2004-05-03 14:02:17 得分 4
你看TC中的帮助:
toupper: translates characters to uppercase
int toupper(int ch);
Prototype in ctype.h
Returns the converted value of ch if ch was an
lowercase character; all others are returned
unchanged.
楼主一定想此函数的返回值与参数均为int,所以定义其成员变量为int,不过这样作的话.你必须输入你想要转换的字符的ASCII码值,而输出的也是对应的码值,,所以功能相当隐晦.
将其变量改为char型..在调用这个函数的时候,,系统会自动进行强制类型转换,,所以会达到你想要的功能,,
string类在新的标准中已经引入..不要以它为类名..Top
5 楼02051223(chenlei)回复于 2004-05-03 14:14:58 得分 4
string类在新的标准ANSI中已经引入,不要以它为类名.
上面的 回复的是对的。
而这种我很欣赏:
char c1;
while ( cin >> c1 ) {
cout << ( char) toupper( c1 );
}
ctrl + z结束
最好加入提示性的输出语句。
如,程序的功能和提示输入小写字符。
另外还可以加入判断的语句看输入的是否是小写字符,可以增强程序的健壮性。
因为这个程序如果这样写就太简单了,只要调用一下系统函数。
Top
6 楼liushuaiboy(标准菜鸟)回复于 2004-05-03 17:21:23 得分 0
markTop




