| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 874 人关注过本帖
标题:把输入string 里的小写字母变成大写字母问题(部分解决)
收藏  订阅  推荐  打印
沿途有鬼
Rank: 2
等级:注册会员
帖子:68
积分:882
注册:2008-7-20
把输入string 里的小写字母变成大写字母问题(部分解决)

//把输入string 里的小写字母变成大写字母

#include<iostream>
#include<string>

using namespace std;

void toup(string & str);

int main()
{
    string st;
    cout<<"Enter astring (q to quit): ";
    
    while(getline(cin,st))
    {
        cout<<"Enter astring (q to quit): ";
       
        if(islower(str))
            toup(st);
        cout<<st;
    }
    return 0;
}

void toup(string & str)
{
    str=toupper(str);
}

我程序写的有问题,请大家帮我修改正确,如果可以指点下错在哪里更感谢啦~

[ 本帖最后由 沿途有鬼 于 2008-8-5 10:27 编辑 ]
2008-7-28 17:03
zerocn
Rank: 2
等级:注册会员
帖子:124
积分:1458
注册:2006-4-11

if(islower(str))//这个打错了吧st
2008-7-28 19:17
Fancylovingu
Rank: 1
等级:新手上路
帖子:16
积分:288
注册:2008-7-28
函数用错了吧!

islower()的参数好像不是字符串吧,是字符吧。至于toupper我忘了怎么用了,不过应该可以用于字符串。你试一下,应该是islower()的问题.
2008-7-28 19:28
很远的那颗星
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:466
积分:4217
注册:2008-6-30

自已写一个啦,还用的着调用库函数......

Fighting~~~~~~~~
2008-7-28 23:09
liuliu2003
Rank: 1
来自:河南
等级:新手上路
帖子:2
积分:130
注册:2008-7-24
saa

void toup(string & str)
{
    str=strupr(str);
}

[fly]一帆风顺[/fly]
2008-7-29 11:22
很远的那颗星
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:466
积分:4217
注册:2008-6-30

没啥事做,就写一个吧,小写换大写转换,可处理任意字符,ctrl + Z 结束输入.
引用:
#include<iostream>
using namespace std;
int main()
{
    char c;
    while ((cin>>c) != '\0')
    {
        if (c>='a' && c<='z') {c -= 32; cout<<c;}
        else cout<<c;
    }
    return 0;
}
[ 本帖最后由 很远的那颗星 于 2008-7-29 12:40 编辑 ]

Fighting~~~~~~~~
2008-7-29 12:39
hank_wh
Rank: 1
等级:新手上路
帖子:14
积分:256
注册:2008-7-14

toupper() 函数只能转换单个字符,而且你要用的话先要包含ctype.h这个头文件
2008-7-29 23:45
mark0289
Rank: 2
等级:注册会员
帖子:81
积分:970
注册:2006-4-5

6楼的 Ctrl+Z 结束输入是怎么做到的?

刚学C++,Ctrl+Z 是C++固有的结束输入方式吗?

请指教
2008-8-1 16:47
很远的那颗星
Rank: 3Rank: 3
等级:中级会员
威望:2
帖子:466
积分:4217
注册:2008-6-30

Ctrl + Z 不是C++ 固有的结束输入方式.

Fighting~~~~~~~~
2008-8-2 12:13
mark0289
Rank: 2
等级:注册会员
帖子:81
积分:970
注册:2006-4-5

难道ctrl+Z代表字符'\0'?
2008-8-2 16:09
共有 873 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.067937 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved