将单个字符转换为大写的问题

jiudian 2004-05-03 11:50:00
#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,回答加分
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cngdzhang 2004-05-03
  • 打赏
  • 举报
回复
改了一下,好了

#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();
}
freefalcon 2004-05-03
  • 打赏
  • 举报
回复
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();
}
liushuaiboy 2004-05-03
  • 打赏
  • 举报
回复
mark
02051223 2004-05-03
  • 打赏
  • 举报
回复
string类在新的标准ANSI中已经引入,不要以它为类名.
上面的 回复的是对的。
而这种我很欣赏:
char c1;
while ( cin >> c1 ) {
cout << ( char) toupper( c1 );
}
ctrl + z结束
最好加入提示性的输出语句。
如,程序的功能和提示输入小写字符。
另外还可以加入判断的语句看输入的是否是小写字符,可以增强程序的健壮性。
因为这个程序如果这样写就太简单了,只要调用一下系统函数。
newegg2002 2004-05-03
  • 打赏
  • 举报
回复
你看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类在新的标准中已经引入..不要以它为类名..
古布 2004-05-03
  • 打赏
  • 举报
回复
char c1;
while ( cin >> c1 ) {
cout << ( char) toupper( c1 );
}
ctrl + z结束

64,682

社区成员

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

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