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

本页主题: 求助C++的一道题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

xuer



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

5come5帮你背单词 [ quench /kwent/ vt. 扑灭,熄灭,解渴;vi. 熄灭,冷却,平静下来,平息 ]


求助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帮你背单词 [ interruption /intə'rΛpən/ n. 打断,插话,中止,中断 ]


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



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

5come5帮你背单词 [ plus /plΛs/ 加上;a. 正的,附加的,有增益的;n. 加号,正号 ]


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



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

5come5帮你背单词 [ quantum /'kwontəm/ n. 量子,(定)量,总量 ]


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



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

5come5帮你背单词 [ japanese /d3əæpə'ni:z/ n. & a. 日本(的),日本人(的)日语(的) ]


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



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

5come5帮你背单词 [ humidity /hju:'miditi/ a. 湿气,湿度 ]


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

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



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

5come5帮你背单词 [ concept /'konsept/ n. 概念,观念,思想 ]


但这样就不能接受空格了阿~
你不是要空格吗
顶端 Posted: 2007-10-05 22:17 | [6 楼]
perfect_刘



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

5come5帮你背单词 [ tub /tΛb/ n. 盆,桶 ]


Quote:
引用第17楼xuer于2007-10-05 22:19发表的  :

哪样

getline(cin , a , ' ');
这样~~
顶端 Posted: 2007-10-05 22:21 | [7 楼]
perfect_刘



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

5come5帮你背单词 [ heaven /'hevn/ n. 天堂,天国,(pl.)天,天空 ]


空格被当成结束符了嘛~
顶端 Posted: 2007-10-05 22:21 | [8 楼]
perfect_刘



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

5come5帮你背单词 [ periodic /'piəri'odik/ a. 周期性的,定期的 ]


Quote:
引用第20楼xuer于2007-10-05 22:23发表的  :

意思是不是这样只要输入字符串,然后按回车就行了,可是如果不输空格就按回车的话没有输出。。。

我是说这样不能接受空格~
如果要达到你的要求 就要该一点头文件的代码
顶端 Posted: 2007-10-05 22:25 | [9 楼]
perfect_刘



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

5come5帮你背单词 [ convenient /kən'vi:njənt/ a. 方便的 ]


D:\Microsoft Visual Studio\VC98\Include\STRING 注意不是.H文件
打开编辑 xiugai.JPG
顶端 Posted: 2007-10-05 22:44 | [10 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.010897(s) query 6, Time now is:11-22 20:14, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号