CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

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

楼主jiudian(九点)2004-05-03 11:50:00 在 C/C++ / C++ 语言 提问

#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

相关问题

  • 单个字符的转换问题,希望可以帮帮我.
  • 字符转换
  • 字符转换
  • 字符转换
  • 字符转换
  • 字符转换
  • 字符转换?
  • 字符转换
  • 字符转换????
  • 大小写字符转换函数!

关键词

  • 字符
  • 转换
  • 函数
  • 文件
  • shuru
  • toupper
  • cout
  • 用来
  • 头
  • 转换字符的函数

得分解答快速导航

  • 帖主:jiudian
  • freefalcon
  • cngdzhang
  • banquet
  • newegg2002
  • 02051223

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo