我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

« 1 2» Pages: ( 1/2 total )
本页主题: 求助C++的一道题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ parcel /'pa:sl/ n. 包裹;打包 ]


求助C++的一道题

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void change(string &a);
int main()
{
cout<<"Enter a string (q to quit):";
string a;
getline(cin,a);
while(a!="q")
{
  change(a);
  cout<<a<<endl;
  cout<<"Next string (q to quit):";
  getline(cin,a);
}
cout<<"Bye"<<endl;
return 0;
}
void change(string &a)
{
    for(int i=0;i<a.size();i++)
    a[i]=toupper(a[i]);
   
}
就是刚才那个程序,但是getline(cin,a)这句好像有问题,输入字符串后必须输入两个回车才打印大写字符,但是将getline(cin,a)换成cin>>a就没问题了,不明白啊,刚才是说软件有问题,但是我在另一个同学的电脑上试了下,结果还是一样,哪位帮我看看啊。。。
远程图片:未命名.JPG
顶端 Posted: 2007-10-05 21:28 | [楼 主]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ workman /'wə:kmən/ n. 工人,工匠 ]


你看msdn上有说明的~
getline默认是以回车'\n'为结束符 所以你第一个回车认为是输入结束符
第二个回车才是输入确认~
一般这样用getline(cin,a,' '); 用空格作为结束 你每次输入后加一个空格再回车就没有问题了~
顶端 Posted: 2007-10-05 21:54 | [1 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ aptitude /'æptitju:d/ n. 天分,才能 ]


Quote:
引用第1楼perfect_刘于2007-10-05 21:54发表的  :
你看msdn上有说明的~
getline默认是以回车'n'为结束符 所以你第一个回车认为是输入结束符
第二个回车才是输入确认~
一般这样用getline(cin,a,' '); 用空格作为结束 你每次输入后加一个空格再回车就没有问题了~

msdn在哪里看
顶端 Posted: 2007-10-05 21:58 | [2 楼]
luwen



性别: 帅哥 状态: 该用户目前不在线
头衔: 无我相
等级: 人见人爱
发贴: 4372
威望: 0
浮云: 1120
在线等级:
注册时间: 2006-09-14
最后登陆: 2013-09-25

5come5帮你背单词 [ chalk /to:k/ n. 粉笔,白垩 ]


楼上正解
顶端 Posted: 2007-10-05 21:59 | [3 楼]
luwen



性别: 帅哥 状态: 该用户目前不在线
头衔: 无我相
等级: 人见人爱
发贴: 4372
威望: 0
浮云: 1120
在线等级:
注册时间: 2006-09-14
最后登陆: 2013-09-25

5come5帮你背单词 [ identical /ai'dentikəl/ a. 相同的,同一的 ]


Quote:
引用第2楼xuer于2007-10-05 21:58发表的  :

msdn在哪里看

你安装了没有的俄
顶端 Posted: 2007-10-05 22:00 | [4 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ reservoir /'rezəvwa:/ n. 水库,蓄水池 ]


Quote:
引用第4楼luwen于2007-10-05 22:00发表的  :

你安装了没有的俄

还要安装
顶端 Posted: 2007-10-05 22:01 | [5 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ puncture /'pΛŋktə/ n. 刺,刺痕 ]


gdfgg.JPG 你要的就是这个结果~~
终极解决 要修改系统头文件
这是microsoft的一个bug~~~
顶端 Posted: 2007-10-05 22:04 | [6 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ habitual /hə'bituəl/ a. 日常的,习惯的,惯常的 ]


Quote:
引用第6楼perfect_刘于2007-10-05 22:04发表的  :
你要的就是这个结果~~
终极解决 要修改系统头文件
这是microsoft的一个bug~~~

是VC的bug?
顶端 Posted: 2007-10-05 22:05 | [7 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ make /meik/ v. 做,制造,使,致使,迫使,获得,挣,等于,总计 ]


在.net中就不存在了
你要修改吗?
要小心 改错了可又很恐怖的事情发生哦
顶端 Posted: 2007-10-05 22:08 | [8 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ generous /'d3əenərəs/ a. 慷慨的,大方的,丰富的 ]


现在是这样了
远程图片:未命名.JPG
顶端 Posted: 2007-10-05 22:10 | [9 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ think /θiŋk/ vt. 认为,以为,想要,打算;vi. 思考,认为 ]


他换两行输出。。。getline(cin,a,' '); 改这样,然后输入字符后加一空格再回车,是这样吗
顶端 Posted: 2007-10-05 22:12 | [10 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ guide /gaid/ n. 指南,指导,导游,向导,路标;v. 带领,给…领路,指导 ]


哦??
你怎么弄得阿?
顶端 Posted: 2007-10-05 22:12 | [11 楼]
perfect_刘



性别: 帅哥 状态: 该用户目前不在线
等级: 栋梁之材
发贴: 960
威望: 0
浮云: 1105
在线等级:
注册时间: 2005-11-20
最后登陆: 2009-05-08

5come5帮你背单词 [ welcome /'welkəm/ a. 受欢迎;v. n. & int. 欢迎 ]


Quote:
引用第10楼xuer于2007-10-05 22:12发表的  :
他换两行输出。。。getline(cin,a,' '); 改这样,然后输入字符后加一空格再回车,是这样吗

我是说如果要按照你最开始的愿望只要一个回车的话需要该vc的string头文件~
顶端 Posted: 2007-10-05 22:15 | [12 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ chicken /'tikin/ n. 小鸡,鸡肉 ]


其他都没变,就改为getline(cin,a,' ');我输入aa然后再输一空格,然后按回车,第一行正常,第二行开始回车后它中间会空一行了
顶端 Posted: 2007-10-05 22:15 | [13 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ water /'wo:tə/ n. 水;vt. 给…浇水 ]


#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void change(string &a);
int main()
{
cout<<"Enter a string (q to quit):";
string a;
getline(cin,a,' ');
while(a!="q")
{
  change(a);
  cout<<a<<endl;
  cout<<"Next string (q to quit):";
  getline(cin,a,' ');
}
cout<<"Bye"<<endl;
return 0;
}
void change(string &a)
{
    for(int i=0;i<a.size();i++)
    a[i]=toupper(a[i]);
   
}
现在的代码
顶端 Posted: 2007-10-05 22:16 | [14 楼]
« 1 2» Pages: ( 1/2 total )
我来我网·5come5 Forum » 程序员之家

Total 0.019459(s) query 5, Time now is:01-12 12:19, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号