免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1269 | 回复: 5
打印 上一主题 下一主题

[C++] 求各位帮忙找错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-15 17:27 |只看该作者 |倒序浏览
#include <iostream.h>
void main(){
char a;
cout<<"Pleast enter a charactor :";
cin>>a;
if ((0x40<a<0x5B)||(0x60<a<0x7B)){
  if(0x40<a<0x5B)
  a=a+0x20;
  else
   a=a-0x20;
  cout<<a<<"\n";
}

else
  cout<<"error\n";
}


环境vc6.
我本来想写一个大小写转换的,但是结果根本不对。求各位帮忙指点一下

还有一个问题
        cout<<a<<"\n";
为什么写成
           cout<<a"\n";
就报错呢?

[ 本帖最后由 增强功能 于 2009-3-15 17:36 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-03-15 17:31 |只看该作者
if (isupper(a))
    a = (char) tolower(a);
else if (islower(a))
    a = (char) toupper(a);


1、除非有充分的理由,否则不要尝试对平台相关的特性做出任何假设;
2、你说结果不对,是哪里不对?



[ 本帖最后由 langue 于 2009-3-15 17:33 编辑 ]

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09IT运维版块每日发帖之星
日期:2015-09-14 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-16 16:34:21
3 [报告]
发表于 2009-03-15 17:32 |只看该作者
0x40<a<0x5B
应该写成 0x40 <a && 0x5B > a
其他的类似

论坛徽章:
0
4 [报告]
发表于 2009-03-15 17:34 |只看该作者
我按三楼的改了一下,果然可以了。可是为什么呢?

一下是修改以后的代码:
#include <iostream.h>
void main(){
        char a;
        cout<<"Pleast enter a charactor :";
        cin>>a;
        if (((0x40<a)&&(a<0x5B))||((0x60<a)&&(a<0x7B))){
                if((0x40<a)&&(a<0x5B))
                a=a+0x20;
                else
                        a=a-0x20;
                cout<<a<<"\n";
        }
       
        else
                cout<<"error\n";
}

论坛徽章:
0
5 [报告]
发表于 2009-03-15 17:38 |只看该作者

回复 #4 增强功能 的帖子

谢谢啊,果然好用。但是为什么呢?

论坛徽章:
0
6 [报告]
发表于 2009-03-15 17:40 |只看该作者

回复 #5 增强功能 的帖子

C 语言不支持连用小于或者大于或者小于等于或者大于等于号,必须用逻辑运算符 && 加以连接。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP